taglinefilesource code
devc132drivers/block/hd.cchar devc;
devc134drivers/block/hd.cdevc = CURRENT ? 'a' + DEVICE_NR(CURRENT->dev) : '?';
devc137drivers/block/hd.cprintk("hd%c: %s: status=0x%02x { ", devc, msg, stat & 0xff);
devc151drivers/block/hd.cprintk("hd%c: %s: error=0x%02x { ", devc, msg, hd_error & 0xff);
devc120drivers/sound/ad1848.cad_read (ad1848_info * devc, int reg)
devc126drivers/sound/ad1848.cwhile (timeout > 0 && INB (devc->base) == 0x80)  /*Are we initializing */
devc130drivers/sound/ad1848.cOUTB ((unsigned char) (reg & 0xff) | devc->MCE_bit, io_Index_Addr (devc));
devc131drivers/sound/ad1848.cx = INB (io_Indexed_Data (devc));
devc139drivers/sound/ad1848.cad_write (ad1848_info * devc, int reg, int data)
devc144drivers/sound/ad1848.cwhile (timeout > 0 && INB (devc->base) == 0x80)  /*Are we initializing */
devc148drivers/sound/ad1848.cOUTB ((unsigned char) (reg & 0xff) | devc->MCE_bit, io_Index_Addr (devc));
devc149drivers/sound/ad1848.cOUTB ((unsigned char) (data & 0xff), io_Indexed_Data (devc));
devc155drivers/sound/ad1848.cwait_for_calibration (ad1848_info * devc)
devc167drivers/sound/ad1848.cwhile (timeout > 0 && INB (devc->base) & 0x80)
devc169drivers/sound/ad1848.cif (INB (devc->base) & 0x80)
devc173drivers/sound/ad1848.cwhile (timeout > 0 && !(ad_read (devc, 11) & 0x20))
devc175drivers/sound/ad1848.cif (!(ad_read (devc, 11) & 0x20))
devc179drivers/sound/ad1848.cwhile (timeout > 0 && ad_read (devc, 11) & 0x20)
devc181drivers/sound/ad1848.cif (ad_read (devc, 11) & 0x20)
devc186drivers/sound/ad1848.cad_mute (ad1848_info * devc)
devc196drivers/sound/ad1848.cprev = devc->saved_regs[i] = ad_read (devc, i);
devc197drivers/sound/ad1848.cad_write (devc, i, prev | 0x80);
devc202drivers/sound/ad1848.cad_unmute (ad1848_info * devc)
devc211drivers/sound/ad1848.cad_write (devc, i, devc->saved_regs[i] & ~0x80);
devc216drivers/sound/ad1848.cad_enter_MCE (ad1848_info * devc)
devc222drivers/sound/ad1848.cwhile (timeout > 0 && INB (devc->base) == 0x80)  /*Are we initializing */
devc227drivers/sound/ad1848.cdevc->MCE_bit = 0x40;
devc228drivers/sound/ad1848.cprev = INB (io_Index_Addr (devc));
devc235drivers/sound/ad1848.cOUTB (devc->MCE_bit, io_Index_Addr (devc));
devc240drivers/sound/ad1848.cad_leave_MCE (ad1848_info * devc)
devc246drivers/sound/ad1848.cwhile (timeout > 0 && INB (devc->base) == 0x80)  /*Are we initializing */
devc251drivers/sound/ad1848.cdevc->MCE_bit = 0x00;
devc252drivers/sound/ad1848.cprev = INB (io_Index_Addr (devc));
devc253drivers/sound/ad1848.cOUTB (0x00, io_Index_Addr (devc));  /* Clear the MCE bit */
devc261drivers/sound/ad1848.cOUTB (0x00, io_Index_Addr (devc));  /* Clear the MCE bit */
devc262drivers/sound/ad1848.cwait_for_calibration (devc);
devc268drivers/sound/ad1848.cad1848_set_recmask (ad1848_info * devc, int mask)
devc273drivers/sound/ad1848.cmask &= devc->supported_rec_devices;
devc284drivers/sound/ad1848.cmask &= ~devc->recmask;  /* Filter out active settings */
devc317drivers/sound/ad1848.cad_write (devc, 0, (ad_read (devc, 0) & 0x3f) | recdev);
devc318drivers/sound/ad1848.cad_write (devc, 1, (ad_read (devc, 1) & 0x3f) | recdev);
devc320drivers/sound/ad1848.cdevc->recmask = mask;
devc342drivers/sound/ad1848.cad1848_mixer_get (ad1848_info * devc, int dev)
devc344drivers/sound/ad1848.cif (!((1 << dev) & devc->supported_devices))
devc347drivers/sound/ad1848.creturn devc->levels[dev];
devc351drivers/sound/ad1848.cad1848_mixer_set (ad1848_info * devc, int dev, int value)
devc367drivers/sound/ad1848.cif (!(devc->supported_devices & (1 << dev)))
devc378drivers/sound/ad1848.cval = ad_read (devc, regoffs);
devc380drivers/sound/ad1848.cdevc->levels[dev] = left | (left << 8);
devc381drivers/sound/ad1848.cad_write (devc, regoffs, val);
devc382drivers/sound/ad1848.cdevc->saved_regs[regoffs] = val;
devc392drivers/sound/ad1848.cval = ad_read (devc, regoffs);
devc394drivers/sound/ad1848.cad_write (devc, regoffs, val);
devc395drivers/sound/ad1848.cdevc->saved_regs[regoffs] = val;
devc397drivers/sound/ad1848.cdevc->levels[dev] = left | (right << 8);
devc402drivers/sound/ad1848.cad1848_mixer_reset (ad1848_info * devc)
devc406drivers/sound/ad1848.cdevc->recmask = 0;
devc407drivers/sound/ad1848.cif (devc->mode == 2)
devc408drivers/sound/ad1848.cdevc->supported_devices = MODE2_MIXER_DEVICES;
devc410drivers/sound/ad1848.cdevc->supported_devices = MODE1_MIXER_DEVICES;
devc412drivers/sound/ad1848.cdevc->supported_rec_devices = MODE1_REC_DEVICES;
devc415drivers/sound/ad1848.cad1848_mixer_set (devc, i, devc->levels[i] = default_mixer_levels[i]);
devc416drivers/sound/ad1848.cad1848_set_recmask (devc, SOUND_MASK_MIC);
devc422drivers/sound/ad1848.cad1848_info    *devc;
devc431drivers/sound/ad1848.cdevc = (ad1848_info *) audio_devs[codec_dev]->devc;
devc439drivers/sound/ad1848.creturn IOCTL_OUT (arg, ad1848_set_recmask (devc, IOCTL_IN (arg)));
devc443drivers/sound/ad1848.creturn IOCTL_OUT (arg, ad1848_mixer_set (devc, cmd & 0xff, IOCTL_IN (arg)));
devc452drivers/sound/ad1848.creturn IOCTL_OUT (arg, devc->recmask);
devc456drivers/sound/ad1848.creturn IOCTL_OUT (arg, devc->supported_devices);
devc460drivers/sound/ad1848.creturn IOCTL_OUT (arg, devc->supported_devices &
devc465drivers/sound/ad1848.creturn IOCTL_OUT (arg, devc->supported_rec_devices);
devc473drivers/sound/ad1848.creturn IOCTL_OUT (arg, ad1848_mixer_get (devc, cmd & 0xff));
devc510drivers/sound/ad1848.cad1848_info    *devc = NULL;
devc518drivers/sound/ad1848.cdevc = (ad1848_info *) audio_devs[dev]->devc;
devc521drivers/sound/ad1848.cif (devc->opened)
devc528drivers/sound/ad1848.cif (devc->irq)    /* Not managed by another driver */
devc529drivers/sound/ad1848.cif ((err = snd_set_irq_handler (devc->irq, ad1848_interrupt,
devc542drivers/sound/ad1848.caudio_devs[dev]->dmachan = devc->dma_playback;
devc544drivers/sound/ad1848.caudio_devs[dev]->dmachan = devc->dma_capture;
devc549drivers/sound/ad1848.cif (devc->irq)    /* Don't leave IRQ reserved */
devc550drivers/sound/ad1848.csnd_release_irq (devc->irq);
devc556drivers/sound/ad1848.cdevc->dual_dma = 0;
devc558drivers/sound/ad1848.cif (devc->dma_capture != devc->dma_playback && mode == OPEN_READWRITE)
devc560drivers/sound/ad1848.cdevc->dual_dma = 1;
devc562drivers/sound/ad1848.cif (ALLOC_DMA_CHN (devc->dma_capture, "Sound System (capture)"))
devc564drivers/sound/ad1848.cif (devc->irq)  /* Don't leave IRQ reserved */
devc565drivers/sound/ad1848.csnd_release_irq (devc->irq);
devc571drivers/sound/ad1848.cdevc->intr_active = 0;
devc572drivers/sound/ad1848.cdevc->opened = 1;
devc577drivers/sound/ad1848.cad_mute (devc);
devc586drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc592drivers/sound/ad1848.cdevc->intr_active = 0;
devc593drivers/sound/ad1848.cif (devc->irq)    /* Not managed by another driver */
devc594drivers/sound/ad1848.csnd_release_irq (devc->irq);
devc598drivers/sound/ad1848.cif (devc->dual_dma)    /* Release the second DMA channel */
devc600drivers/sound/ad1848.cif (audio_devs[dev]->dmachan == devc->dma_playback)
devc601drivers/sound/ad1848.cRELEASE_DMA_CHN (devc->dma_capture);
devc603drivers/sound/ad1848.cRELEASE_DMA_CHN (devc->dma_playback);
devc606drivers/sound/ad1848.cdevc->opened = 0;
devc608drivers/sound/ad1848.cad_unmute (devc);
devc613drivers/sound/ad1848.cset_speed (ad1848_info * devc, int arg)
devc680drivers/sound/ad1848.cdevc->speed = speed_table[selected].speed;
devc681drivers/sound/ad1848.cdevc->speed_bits = speed_table[selected].bits;
devc682drivers/sound/ad1848.creturn devc->speed;
devc686drivers/sound/ad1848.cset_channels (ad1848_info * devc, int arg)
devc689drivers/sound/ad1848.creturn devc->channels;
devc691drivers/sound/ad1848.cdevc->channels = arg;
devc696drivers/sound/ad1848.cset_format (ad1848_info * devc, int arg)
devc748drivers/sound/ad1848.cif (!(arg & ad_format_mask[devc->mode]))
devc751drivers/sound/ad1848.cdevc->audio_format = arg;
devc756drivers/sound/ad1848.cif ((devc->format_bits = format2bits[i].bits) == 0)
devc757drivers/sound/ad1848.creturn devc->audio_format = AFMT_U8;  /* Was not supported */
devc763drivers/sound/ad1848.cdevc->format_bits = 0;
devc764drivers/sound/ad1848.creturn devc->audio_format = AFMT_U8;
devc770drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc776drivers/sound/ad1848.creturn set_speed (devc, arg);
devc777drivers/sound/ad1848.creturn IOCTL_OUT (arg, set_speed (devc, IOCTL_IN (arg)));
devc781drivers/sound/ad1848.creturn devc->speed;
devc782drivers/sound/ad1848.creturn IOCTL_OUT (arg, devc->speed);
devc786drivers/sound/ad1848.creturn set_channels (devc, arg + 1) - 1;
devc787drivers/sound/ad1848.creturn IOCTL_OUT (arg, set_channels (devc, IOCTL_IN (arg) + 1) - 1);
devc791drivers/sound/ad1848.creturn set_channels (devc, arg);
devc792drivers/sound/ad1848.creturn IOCTL_OUT (arg, set_channels (devc, IOCTL_IN (arg)));
devc796drivers/sound/ad1848.creturn devc->channels;
devc797drivers/sound/ad1848.creturn IOCTL_OUT (arg, devc->channels);
devc801drivers/sound/ad1848.creturn set_format (devc, arg);
devc802drivers/sound/ad1848.creturn IOCTL_OUT (arg, set_format (devc, IOCTL_IN (arg)));
devc806drivers/sound/ad1848.creturn devc->audio_format;
devc807drivers/sound/ad1848.creturn IOCTL_OUT (arg, devc->audio_format);
devc818drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc822drivers/sound/ad1848.caudio_devs[dev]->dmachan = devc->dma_playback;
devc824drivers/sound/ad1848.cif (devc->audio_format == AFMT_IMA_ADPCM)
devc830drivers/sound/ad1848.cif (devc->audio_format & (AFMT_S16_LE | AFMT_S16_BE))  /* 16 bit data */
devc833drivers/sound/ad1848.cif (devc->channels > 1)
devc839drivers/sound/ad1848.ccnt == devc->xfer_count)
devc841drivers/sound/ad1848.cdevc->irq_mode = IMODE_OUTPUT;
devc842drivers/sound/ad1848.cdevc->intr_active = 1;
devc855drivers/sound/ad1848.cad_enter_MCE (devc);
devc857drivers/sound/ad1848.cad_write (devc, 15, (unsigned char) (cnt & 0xff));
devc858drivers/sound/ad1848.cad_write (devc, 14, (unsigned char) ((cnt >> 8) & 0xff));
devc860drivers/sound/ad1848.cif (devc->dma_playback == devc->dma_capture)
devc862drivers/sound/ad1848.cad_write (devc, 9, 0x0d);  /*
devc869drivers/sound/ad1848.cad_write (devc, 9, 0x09);  /*
devc875drivers/sound/ad1848.cad_leave_MCE (devc);    /*
devc879drivers/sound/ad1848.cad_unmute (devc);
devc881drivers/sound/ad1848.cdevc->xfer_count = cnt;
devc882drivers/sound/ad1848.cdevc->irq_mode = IMODE_OUTPUT;
devc883drivers/sound/ad1848.cdevc->intr_active = 1;
devc884drivers/sound/ad1848.cINB (io_Status (devc));
devc885drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear pending interrupts */
devc894drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc896drivers/sound/ad1848.caudio_devs[dev]->dmachan = devc->dma_capture;
devc899drivers/sound/ad1848.cif (devc->audio_format == AFMT_IMA_ADPCM)
devc905drivers/sound/ad1848.cif (devc->audio_format & (AFMT_S16_LE | AFMT_S16_BE))  /* 16 bit data */
devc908drivers/sound/ad1848.cif (devc->channels > 1)
devc914drivers/sound/ad1848.ccnt == devc->xfer_count)
devc916drivers/sound/ad1848.cdevc->irq_mode = IMODE_INPUT;
devc917drivers/sound/ad1848.cdevc->intr_active = 1;
devc930drivers/sound/ad1848.cad_enter_MCE (devc);
devc932drivers/sound/ad1848.cif (devc->dma_playback == devc->dma_capture)  /* Single DMA channel mode */
devc934drivers/sound/ad1848.cad_write (devc, 15, (unsigned char) (cnt & 0xff));
devc935drivers/sound/ad1848.cad_write (devc, 14, (unsigned char) ((cnt >> 8) & 0xff));
devc937drivers/sound/ad1848.cad_write (devc, 9, 0x0e);  /*
devc945drivers/sound/ad1848.cad_write (devc, 31, (unsigned char) (cnt & 0xff));
devc946drivers/sound/ad1848.cad_write (devc, 30, (unsigned char) ((cnt >> 8) & 0xff));
devc948drivers/sound/ad1848.cad_write (devc, 9, 0x0a);  /*
devc954drivers/sound/ad1848.cad_leave_MCE (devc);    /*
devc958drivers/sound/ad1848.cad_unmute (devc);
devc960drivers/sound/ad1848.cdevc->xfer_count = cnt;
devc961drivers/sound/ad1848.cdevc->irq_mode = IMODE_INPUT;
devc962drivers/sound/ad1848.cdevc->intr_active = 1;
devc963drivers/sound/ad1848.cINB (io_Status (devc));
devc964drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear interrupt status */
devc974drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc977drivers/sound/ad1848.cad_enter_MCE (devc);    /* Enables changes to the format select reg */
devc978drivers/sound/ad1848.cfs = devc->speed_bits | (devc->format_bits << 5);
devc980drivers/sound/ad1848.cif (devc->channels > 1)
devc983drivers/sound/ad1848.cad_write (devc, 8, fs);
devc988drivers/sound/ad1848.cwhile (timeout > 0 && INB (devc->base) == 0x80)
devc994drivers/sound/ad1848.cif (devc->mode == 2)
devc996drivers/sound/ad1848.cad_write (devc, 28, fs);
devc1002drivers/sound/ad1848.cwhile (timeout > 0 && INB (devc->base) == 0x80)
devc1007drivers/sound/ad1848.cad_leave_MCE (devc);    /*
devc1011drivers/sound/ad1848.cdevc->xfer_count = 0;
devc1024drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc1026drivers/sound/ad1848.cad_mute (devc);
devc1027drivers/sound/ad1848.cad_write (devc, 9, ad_read (devc, 9) & ~0x03);  /* Stop DMA */
devc1028drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear interrupt status */
devc1030drivers/sound/ad1848.cad_enter_MCE (devc);
devc1031drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear interrupt status */
devc1032drivers/sound/ad1848.cad_write (devc, 15, 0);  /* Clear DMA counter */
devc1033drivers/sound/ad1848.cad_write (devc, 14, 0);  /* Clear DMA counter */
devc1035drivers/sound/ad1848.cif (devc->mode == 2)
devc1037drivers/sound/ad1848.cad_write (devc, 30, 0);  /* Clear DMA counter */
devc1038drivers/sound/ad1848.cad_write (devc, 31, 0);  /* Clear DMA counter */
devc1041drivers/sound/ad1848.cad_write (devc, 9, ad_read (devc, 9) & ~0x03);  /* Stop DMA */
devc1043drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear interrupt status */
devc1044drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear interrupt status */
devc1045drivers/sound/ad1848.cad_leave_MCE (devc);
devc1056drivers/sound/ad1848.cad1848_info    *devc = &dev_info[nr_ad1848_devs];
devc1065drivers/sound/ad1848.cdevc->base = io_base;
devc1066drivers/sound/ad1848.cdevc->MCE_bit = 0x40;
devc1067drivers/sound/ad1848.cdevc->irq = 0;
devc1068drivers/sound/ad1848.cdevc->dma_capture = 0;
devc1069drivers/sound/ad1848.cdevc->dma_playback = 0;
devc1070drivers/sound/ad1848.cdevc->opened = 0;
devc1071drivers/sound/ad1848.cdevc->chip_name = "AD1848";
devc1072drivers/sound/ad1848.cdevc->mode = 1;    /* MODE1 = original AD1848 */
devc1084drivers/sound/ad1848.cif ((INB (devc->base) & 0x80) != 0x00)  /* Not a AD1884 */
devc1096drivers/sound/ad1848.cad_write (devc, 0, 0xaa);
devc1097drivers/sound/ad1848.cad_write (devc, 1, 0x45);  /* 0x55 with bit 0x10 clear */
devc1099drivers/sound/ad1848.cif ((tmp1 = ad_read (devc, 0)) != 0xaa || (tmp2 = ad_read (devc, 1)) != 0x45)
devc1105drivers/sound/ad1848.cad_write (devc, 0, 0x45);
devc1106drivers/sound/ad1848.cad_write (devc, 1, 0xaa);
devc1108drivers/sound/ad1848.cif ((tmp1 = ad_read (devc, 0)) != 0x45 || (tmp2 = ad_read (devc, 1)) != 0xaa)
devc1119drivers/sound/ad1848.ctmp = ad_read (devc, 12);
devc1120drivers/sound/ad1848.cad_write (devc, 12, (~tmp) & 0x0f);
devc1122drivers/sound/ad1848.cif ((tmp & 0x0f) != ((tmp1 = ad_read (devc, 12)) & 0x0f))
devc1140drivers/sound/ad1848.cad_write (devc, 12, 0);  /* Mode2=disabled */
devc1143drivers/sound/ad1848.cif ((tmp1 = ad_read (devc, i)) != (tmp2 = ad_read (devc, i + 16)))
devc1154drivers/sound/ad1848.cad_write (devc, 12, 0x40);  /* Set mode2, clear 0x80 */
devc1156drivers/sound/ad1848.ctmp1 = ad_read (devc, 12);
devc1158drivers/sound/ad1848.cdevc->chip_name = "CS4248";  /* Our best knowledge just now */
devc1167drivers/sound/ad1848.cad_write (devc, 16, 0);  /* Set I16 to known value */
devc1169drivers/sound/ad1848.cad_write (devc, 0, 0x45);
devc1170drivers/sound/ad1848.cif ((tmp1 = ad_read (devc, 16)) != 0x45)  /* No change -> CS4231? */
devc1173drivers/sound/ad1848.cad_write (devc, 0, 0xaa);
devc1174drivers/sound/ad1848.cif ((tmp1 = ad_read (devc, 16)) == 0xaa)  /* Rotten bits? */
devc1184drivers/sound/ad1848.ctmp1 = ad_read (devc, 25);  /* Original bits */
devc1185drivers/sound/ad1848.cad_write (devc, 25, ~tmp1);  /* Invert all bits */
devc1186drivers/sound/ad1848.cif ((ad_read (devc, 25) & 0xe7) == (tmp1 & 0xe7))
devc1191drivers/sound/ad1848.cdevc->chip_name = "CS4231";
devc1194drivers/sound/ad1848.cif (devc->base != MOZART_PORT + 4)
devc1196drivers/sound/ad1848.cdevc->mode = 2;
devc1204drivers/sound/ad1848.cif ((ad_read (devc, 25) & 0xe7) == 0xa0)
devc1206drivers/sound/ad1848.cdevc->chip_name = "CS4231A";
devc1208drivers/sound/ad1848.celse if ((ad_read (devc, 25) & 0xe7) == 0x80)
devc1217drivers/sound/ad1848.cunsigned char   tmp = ad_read (devc, 23);
devc1219drivers/sound/ad1848.cad_write (devc, 23, ~tmp);
devc1220drivers/sound/ad1848.cif (ad_read (devc, 23) != tmp)  /* AD1845 ? */
devc1222drivers/sound/ad1848.cdevc->chip_name = "AD1845";
devc1225drivers/sound/ad1848.cad_write (devc, 23, tmp);  /* Restore */
devc1230drivers/sound/ad1848.cad_write (devc, 25, tmp1);  /* Restore bits */
devc1259drivers/sound/ad1848.cad1848_info    *devc = &dev_info[nr_ad1848_devs];
devc1264drivers/sound/ad1848.cdevc->irq = (irq > 0) ? irq : 0;
devc1265drivers/sound/ad1848.cdevc->dma_playback = dma_playback;
devc1267drivers/sound/ad1848.cif (devc->mode == 2)
devc1268drivers/sound/ad1848.cdevc->dma_capture = dma_capture;
devc1270drivers/sound/ad1848.cdevc->dma_capture = dma_playback;  /* Use just single DMA */
devc1272drivers/sound/ad1848.cdevc->opened = 0;
devc1282drivers/sound/ad1848.cad_write (devc, i, init_values[i]);
devc1284drivers/sound/ad1848.cad_mute (devc);    /* Initialize some variables */
devc1285drivers/sound/ad1848.cad_unmute (devc);    /* Leave it unmuted now */
devc1287drivers/sound/ad1848.cif (devc->mode == 2)
devc1289drivers/sound/ad1848.cad_write (devc, 12, ad_read (devc, 12) | 0x40);  /* Mode2 = enabled */
devc1291drivers/sound/ad1848.cad_write (devc, i, init_values[i]);
devc1294drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear pending interrupts */
devc1298drivers/sound/ad1848.c"%s (%s)", name, devc->chip_name);
devc1301drivers/sound/ad1848.c"Generic audio codec (%s)", devc->chip_name);
devc1316drivers/sound/ad1848.caudio_devs[my_dev]->devc = devc;
devc1317drivers/sound/ad1848.caudio_devs[my_dev]->format_mask = ad_format_mask[devc->mode];
devc1324drivers/sound/ad1848.cad_enter_MCE (devc);  /* In case the bit was off */
devc1325drivers/sound/ad1848.cad_leave_MCE (devc);
devc1332drivers/sound/ad1848.cad1848_mixer_reset (devc);
devc1343drivers/sound/ad1848.cad1848_info    *devc;
devc1352drivers/sound/ad1848.cdevc = (ad1848_info *) audio_devs[dev]->devc;
devc1353drivers/sound/ad1848.cstatus = INB (io_Status (devc));
devc1360drivers/sound/ad1848.cif (devc->opened && devc->irq_mode == IMODE_OUTPUT)
devc1365drivers/sound/ad1848.cif (devc->opened && devc->irq_mode == IMODE_INPUT)
devc1369drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear interrupt status */
devc1371drivers/sound/ad1848.cstatus = INB (io_Status (devc));
devc1375drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Try again */
devc106drivers/sound/audio.copen (audio_devs[dev]->coproc->devc, COPR_PCM)) < 0)
devc153drivers/sound/audio.caudio_devs[dev]->coproc->close (audio_devs[dev]->coproc->devc, COPR_PCM);
devc360drivers/sound/audio.creturn audio_devs[dev]->coproc->ioctl (audio_devs[dev]->coproc->devc, cmd, arg, 0);
devc116drivers/sound/dev_table.hint (*open) (void *devc, int sub_device);
devc117drivers/sound/dev_table.hvoid (*close) (void *devc, int sub_device);
devc118drivers/sound/dev_table.hint (*ioctl) (void *devc, unsigned int cmd, unsigned int arg, int local);
devc119drivers/sound/dev_table.hvoid (*reset) (void *devc);
devc121drivers/sound/dev_table.hvoid *devc;    /* Driver specific info */
devc131drivers/sound/dev_table.hvoid *devc;    /* Driver specific info */
devc385drivers/sound/midibuf.creturn midi_devs[dev]->coproc->ioctl (midi_devs[dev]->coproc->devc, cmd, arg, 0);
devc112drivers/sound/mpu401.cstatic int      reset_mpu401 (struct mpu_config *devc);
devc113drivers/sound/mpu401.cstatic void     set_uart_mode (int dev, struct mpu_config *devc, int arg);
devc116drivers/sound/mpu401.cstatic void     timer_ext_event (struct mpu_config *devc, int event, int parm);
devc162drivers/sound/mpu401.cmpu_input_scanner (struct mpu_config *devc, unsigned char midic)
devc165drivers/sound/mpu401.cswitch (devc->m_state)
devc179drivers/sound/mpu401.cif (devc->timer_flag)
devc203drivers/sound/mpu401.cdevc->m_state = ST_SYSMSG;
devc210drivers/sound/mpu401.cdevc->m_state = ST_TIMED;
devc221drivers/sound/mpu401.cdevc->m_state = ST_DATABYTE;
devc226drivers/sound/mpu401.cmsg = (devc->last_status & 0xf0) >> 4;
devc228drivers/sound/mpu401.cdevc->m_left = len_tab[msg] - 1;
devc230drivers/sound/mpu401.cdevc->m_ptr = 2;
devc231drivers/sound/mpu401.cdevc->m_buf[0] = devc->last_status;
devc232drivers/sound/mpu401.cdevc->m_buf[1] = midic;
devc234drivers/sound/mpu401.cif (devc->m_left <= 0)
devc236drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc237drivers/sound/mpu401.cdo_midi_msg (devc->synthno, devc->m_buf, devc->m_ptr);
devc238drivers/sound/mpu401.cdevc->m_ptr = 0;
devc243drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc265drivers/sound/mpu401.cdevc->last_status = midic;
devc268drivers/sound/mpu401.cdevc->m_left = len_tab[msg];
devc270drivers/sound/mpu401.cdevc->m_ptr = 1;
devc271drivers/sound/mpu401.cdevc->m_buf[0] = midic;
devc273drivers/sound/mpu401.cif (devc->m_left <= 0)
devc275drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc276drivers/sound/mpu401.cdo_midi_msg (devc->synthno, devc->m_buf, devc->m_ptr);
devc277drivers/sound/mpu401.cdevc->m_ptr = 0;
devc288drivers/sound/mpu401.cdevc->m_state = ST_SYSEX;
devc292drivers/sound/mpu401.cdevc->m_state = ST_MTC;
devc296drivers/sound/mpu401.cdevc->m_state = ST_SONGPOS;
devc297drivers/sound/mpu401.cdevc->m_ptr = 0;
devc301drivers/sound/mpu401.cdevc->m_state = ST_SONGSEL;
devc306drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc313drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc314drivers/sound/mpu401.ctimer_ext_event (devc, TMR_CLOCK, 0);
devc318drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc319drivers/sound/mpu401.ctimer_ext_event (devc, TMR_START, 0);
devc323drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc324drivers/sound/mpu401.ctimer_ext_event (devc, TMR_CONTINUE, 0);
devc328drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc329drivers/sound/mpu401.ctimer_ext_event (devc, TMR_STOP, 0);
devc334drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc339drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc344drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc349drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc357drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc364drivers/sound/mpu401.cBUFTEST (devc);
devc365drivers/sound/mpu401.cdevc->m_buf[devc->m_ptr++] = midic;
devc366drivers/sound/mpu401.cif (devc->m_ptr == 2)
devc368drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc369drivers/sound/mpu401.cdevc->m_ptr = 0;
devc370drivers/sound/mpu401.ctimer_ext_event (devc, TMR_SPP,
devc371drivers/sound/mpu401.c((devc->m_buf[1] & 0x7f) << 7) |
devc372drivers/sound/mpu401.c(devc->m_buf[0] & 0x7f));
devc377drivers/sound/mpu401.cBUFTEST (devc);
devc378drivers/sound/mpu401.cdevc->m_buf[devc->m_ptr++] = midic;
devc379drivers/sound/mpu401.cif ((--devc->m_left) <= 0)
devc381drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc382drivers/sound/mpu401.cdo_midi_msg (devc->synthno, devc->m_buf, devc->m_ptr);
devc383drivers/sound/mpu401.cdevc->m_ptr = 0;
devc388drivers/sound/mpu401.cprintk ("Bad state %d ", devc->m_state);
devc389drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc396drivers/sound/mpu401.cmpu401_input_loop (struct mpu_config *devc)
devc403drivers/sound/mpu401.cbusy = devc->m_busy;
devc404drivers/sound/mpu401.cdevc->m_busy = 1;
devc412drivers/sound/mpu401.cwhile (input_avail (devc->base) && n-- > 0)
devc414drivers/sound/mpu401.cunsigned char   c = read_data (devc->base);
devc416drivers/sound/mpu401.cif (devc->mode == MODE_SYNTH)
devc418drivers/sound/mpu401.cmpu_input_scanner (devc, c);
devc420drivers/sound/mpu401.celse if (devc->opened & OPEN_READ && devc->inputintr != NULL)
devc421drivers/sound/mpu401.cdevc->inputintr (devc->devno, c);
devc424drivers/sound/mpu401.cdevc->m_busy = 0;
devc430drivers/sound/mpu401.cstruct mpu_config *devc;
devc450drivers/sound/mpu401.cdevc = &dev_conf[dev];
devc452drivers/sound/mpu401.cif (input_avail (devc->base))
devc453drivers/sound/mpu401.cif (devc->base != 0 && (devc->opened & OPEN_READ || devc->mode == MODE_SYNTH))
devc454drivers/sound/mpu401.cmpu401_input_loop (devc);
devc458drivers/sound/mpu401.cread_data (devc->base);
devc470drivers/sound/mpu401.cstruct mpu_config *devc;
devc475drivers/sound/mpu401.cdevc = &dev_conf[dev];
devc477drivers/sound/mpu401.cif (devc->opened)
devc490drivers/sound/mpu401.cif (!devc->initialized)
devc492drivers/sound/mpu401.cif (mpu401_status (devc->base) == 0xff)  /* Bus float */
devc497drivers/sound/mpu401.creset_mpu401 (devc);
devc500drivers/sound/mpu401.cirq2dev[devc->irq] = dev;
devc501drivers/sound/mpu401.cif (devc->shared_irq == 0)
devc502drivers/sound/mpu401.cif ((err = snd_set_irq_handler (devc->irq, mpuintr, midi_devs[dev]->info.name) < 0))
devc509drivers/sound/mpu401.copen (midi_devs[dev]->coproc->devc, COPR_MIDI)) < 0)
devc511drivers/sound/mpu401.cif (devc->shared_irq == 0)
devc512drivers/sound/mpu401.csnd_release_irq (devc->irq);
devc518drivers/sound/mpu401.cset_uart_mode (dev, devc, 1);
devc519drivers/sound/mpu401.cdevc->mode = MODE_MIDI;
devc520drivers/sound/mpu401.cdevc->synthno = 0;
devc522drivers/sound/mpu401.cmpu401_input_loop (devc);
devc524drivers/sound/mpu401.cdevc->inputintr = input;
devc525drivers/sound/mpu401.cdevc->opened = mode;
devc533drivers/sound/mpu401.cstruct mpu_config *devc;
devc535drivers/sound/mpu401.cdevc = &dev_conf[dev];
devc537drivers/sound/mpu401.cif (devc->uart_mode)
devc538drivers/sound/mpu401.creset_mpu401 (devc);  /*
devc541drivers/sound/mpu401.cdevc->mode = 0;
devc543drivers/sound/mpu401.cif (devc->shared_irq == 0)
devc544drivers/sound/mpu401.csnd_release_irq (devc->irq);
devc545drivers/sound/mpu401.cdevc->inputintr = NULL;
devc548drivers/sound/mpu401.cmidi_devs[dev]->coproc->close (midi_devs[dev]->coproc->devc, COPR_MIDI);
devc549drivers/sound/mpu401.cdevc->opened = 0;
devc558drivers/sound/mpu401.cstruct mpu_config *devc;
devc560drivers/sound/mpu401.cdevc = &dev_conf[dev];
devc567drivers/sound/mpu401.cif (input_avail (devc->base))
devc569drivers/sound/mpu401.cmpu401_input_loop (devc);
devc577drivers/sound/mpu401.cfor (timeout = 3000; timeout > 0 && !output_ready (devc->base); timeout--);
devc580drivers/sound/mpu401.cif (!output_ready (devc->base))
devc587drivers/sound/mpu401.cwrite_data (devc->base, midi_byte);
devc598drivers/sound/mpu401.cstruct mpu_config *devc;
devc600drivers/sound/mpu401.cdevc = &dev_conf[dev];
devc602drivers/sound/mpu401.cif (devc->uart_mode)    /*
devc613drivers/sound/mpu401.cif (input_avail (devc->base))
devc614drivers/sound/mpu401.cmpu401_input_loop (devc);
devc631drivers/sound/mpu401.cif (!output_ready (devc->base))
devc637drivers/sound/mpu401.cwrite_command (devc->base, cmd->cmd);
devc640drivers/sound/mpu401.cif (input_avail (devc->base))
devc641drivers/sound/mpu401.cif (devc->opened && devc->mode == MODE_SYNTH)
devc643drivers/sound/mpu401.cif (mpu_input_scanner (devc, read_data (devc->base)) == MPU_ACK)
devc648drivers/sound/mpu401.cif (read_data (devc->base) == MPU_ACK)
devc662drivers/sound/mpu401.cfor (timeout = 3000; timeout > 0 && !output_ready (devc->base); timeout--);
devc680drivers/sound/mpu401.cif (input_avail (devc->base))
devc682drivers/sound/mpu401.ccmd->data[i] = read_data (devc->base);
devc719drivers/sound/mpu401.cstruct mpu_config *devc = &dev_conf[dev];
devc721drivers/sound/mpu401.cif (devc->uart_mode)
devc763drivers/sound/mpu401.cstruct mpu_config *devc;
devc765drivers/sound/mpu401.cdevc = &dev_conf[dev];
devc775drivers/sound/mpu401.cif (devc->version == 0)
devc780drivers/sound/mpu401.cset_uart_mode (dev, devc, !IOCTL_IN (arg));
devc822drivers/sound/mpu401.cstruct mpu_config *devc;
devc829drivers/sound/mpu401.cdevc = &dev_conf[midi_dev];
devc854drivers/sound/mpu401.cstruct mpu_config *devc;
devc863drivers/sound/mpu401.cdevc = &dev_conf[midi_dev];
devc872drivers/sound/mpu401.cif (!devc->initialized)
devc874drivers/sound/mpu401.cif (mpu401_status (devc->base) == 0xff)  /* Bus float */
devc879drivers/sound/mpu401.creset_mpu401 (devc);
devc882drivers/sound/mpu401.cif (devc->opened)
devc888drivers/sound/mpu401.cdevc->mode = MODE_SYNTH;
devc889drivers/sound/mpu401.cdevc->synthno = dev;
devc891drivers/sound/mpu401.cdevc->inputintr = NULL;
devc892drivers/sound/mpu401.cirq2dev[devc->irq] = midi_dev;
devc893drivers/sound/mpu401.cif (devc->shared_irq == 0)
devc894drivers/sound/mpu401.cif ((err = snd_set_irq_handler (devc->irq, mpuintr, midi_devs[midi_dev]->info.name) < 0))
devc901drivers/sound/mpu401.copen (midi_devs[midi_dev]->coproc->devc, COPR_MIDI)) < 0)
devc903drivers/sound/mpu401.cif (devc->shared_irq == 0)
devc904drivers/sound/mpu401.csnd_release_irq (devc->irq);
devc910drivers/sound/mpu401.cdevc->opened = mode;
devc911drivers/sound/mpu401.creset_mpu401 (devc);
devc926drivers/sound/mpu401.cstruct mpu_config *devc;
devc930drivers/sound/mpu401.cdevc = &dev_conf[midi_dev];
devc934drivers/sound/mpu401.cif (devc->shared_irq == 0)
devc935drivers/sound/mpu401.csnd_release_irq (devc->irq);
devc936drivers/sound/mpu401.cdevc->inputintr = NULL;
devc939drivers/sound/mpu401.cmidi_devs[midi_dev]->coproc->close (midi_devs[midi_dev]->coproc->devc, COPR_MIDI);
devc940drivers/sound/mpu401.cdevc->opened = 0;
devc941drivers/sound/mpu401.cdevc->mode = 0;
devc995drivers/sound/mpu401.cmpu401_chk_version (struct mpu_config *devc)
devc999drivers/sound/mpu401.cdevc->version = devc->revision = 0;
devc1007drivers/sound/mpu401.cdevc->version = tmp;
devc1011drivers/sound/mpu401.cdevc->version = 0;
devc1014drivers/sound/mpu401.cdevc->revision = tmp;
devc1023drivers/sound/mpu401.cstruct mpu_config *devc;
devc1031drivers/sound/mpu401.cdevc = &dev_conf[num_midis];
devc1033drivers/sound/mpu401.cdevc->base = hw_config->io_base;
devc1034drivers/sound/mpu401.cdevc->irq = hw_config->irq;
devc1035drivers/sound/mpu401.cdevc->opened = 0;
devc1036drivers/sound/mpu401.cdevc->uart_mode = 0;
devc1037drivers/sound/mpu401.cdevc->initialized = 0;
devc1038drivers/sound/mpu401.cdevc->version = 0;
devc1039drivers/sound/mpu401.cdevc->revision = 0;
devc1040drivers/sound/mpu401.cdevc->capabilities = 0;
devc1041drivers/sound/mpu401.cdevc->timer_flag = 0;
devc1042drivers/sound/mpu401.cdevc->m_busy = 0;
devc1043drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc1044drivers/sound/mpu401.cdevc->shared_irq = hw_config->always_detect;
devc1049drivers/sound/mpu401.cif (!reset_mpu401 (devc))
devc1053drivers/sound/mpu401.cmpu401_chk_version (devc);
devc1054drivers/sound/mpu401.cif (devc->version == 0)
devc1055drivers/sound/mpu401.cmpu401_chk_version (devc);
devc1059drivers/sound/mpu401.cif (devc->version == 0)
devc1067drivers/sound/mpu401.cdevc->capabilities |= MPU_CAP_INTLG;  /* Supports intelligent mode */
devc1086drivers/sound/mpu401.cif (devc->version == 0x20 && devc->revision >= 0x07)  /* MusicQuest interface */
devc1088drivers/sound/mpu401.cint             ports = (devc->revision & 0x08) ? 32 : 16;
devc1090drivers/sound/mpu401.cdevc->capabilities |= MPU_CAP_SYNC | MPU_CAP_SMPTE |
devc1093drivers/sound/mpu401.crevision_char = (devc->revision == 0x7f) ? 'M' : ' ';
devc1106drivers/sound/mpu401.crevision_char = devc->revision ? devc->revision + '@' : ' ';
devc1107drivers/sound/mpu401.cif (devc->revision > ('Z' - '@'))
devc1110drivers/sound/mpu401.cdevc->capabilities |= MPU_CAP_SYNC | MPU_CAP_FSK;
devc1113drivers/sound/mpu401.c(devc->version & 0xf0) >> 4,
devc1114drivers/sound/mpu401.cdevc->version & 0x0f,
devc1118drivers/sound/mpu401.c(devc->version & 0xf0) >> 4,
devc1119drivers/sound/mpu401.cdevc->version & 0x0f,
devc1127drivers/sound/mpu401.cmpu401_synth_operations[num_midis].midi_dev = devc->devno = num_midis;
devc1128drivers/sound/mpu401.cmpu401_synth_operations[devc->devno].info =
devc1129drivers/sound/mpu401.c&mpu_synth_info[devc->devno];
devc1131drivers/sound/mpu401.cif (devc->capabilities & MPU_CAP_INTLG)  /* Has timer */
devc1134drivers/sound/mpu401.cirq2dev[devc->irq] = num_midis;
devc1135drivers/sound/mpu401.cmidi_devs[num_midis++] = &mpu401_midi_operations[devc->devno];
devc1140drivers/sound/mpu401.creset_mpu401 (struct mpu_config *devc)
devc1153drivers/sound/mpu401.ctimeout_limit = devc->initialized ? 30000 : 100000;
devc1154drivers/sound/mpu401.cdevc->initialized = 1;
devc1159drivers/sound/mpu401.cok = output_ready (devc->base);
devc1161drivers/sound/mpu401.cwrite_command (devc->base, MPU_RESET);  /*
devc1173drivers/sound/mpu401.cif (input_avail (devc->base))
devc1174drivers/sound/mpu401.cif (read_data (devc->base) == MPU_ACK)
devc1181drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc1182drivers/sound/mpu401.cdevc->m_ptr = 0;
devc1183drivers/sound/mpu401.cdevc->m_left = 0;
devc1184drivers/sound/mpu401.cdevc->last_status = 0;
devc1185drivers/sound/mpu401.cdevc->uart_mode = 0;
devc1191drivers/sound/mpu401.cset_uart_mode (int dev, struct mpu_config *devc, int arg)
devc1194drivers/sound/mpu401.cif (!arg && devc->version == 0)
devc1199drivers/sound/mpu401.cif ((devc->uart_mode == 0) == (arg == 0))
devc1204drivers/sound/mpu401.creset_mpu401 (devc);    /* This exits the uart mode */
devc1210drivers/sound/mpu401.cprintk ("MPU%d: Can't enter UART mode\n", devc->devno);
devc1211drivers/sound/mpu401.cdevc->uart_mode = 0;
devc1215drivers/sound/mpu401.cdevc->uart_mode = arg;
devc1660drivers/sound/mpu401.ctimer_ext_event (struct mpu_config *devc, int event, int parm)
devc1662drivers/sound/mpu401.cint             midi_dev = devc->devno;
devc1664drivers/sound/mpu401.cif (!devc->timer_flag)
devc1718drivers/sound/mpu401.cstruct mpu_config *devc;
devc1721drivers/sound/mpu401.cdevc = &dev_conf[midi_dev];
devc1741drivers/sound/mpu401.cif (devc->version < 0x20)  /* Original MPU-401 */
devc1753drivers/sound/mpu401.cif (devc->revision)
devc1756drivers/sound/mpu401.cif (devc->revision & 0x02)
devc1760drivers/sound/mpu401.cif (devc->revision & 0x04)
devc1764drivers/sound/mpu401.cif (devc->revision & 0x40)
devc37drivers/sound/pss.c#define REG(x)  (devc->base+x)
devc77drivers/sound/pss.cstatic pss_config *devc = &pss_data;
devc88drivers/sound/pss.cdevc->base = hw_config->io_base;
devc89drivers/sound/pss.cirq = devc->irq = hw_config->irq;
devc90drivers/sound/pss.cdma = devc->dma = hw_config->dma;
devc92drivers/sound/pss.cif (devc->base != 0x220 && devc->base != 0x240)
devc93drivers/sound/pss.cif (devc->base != 0x230 && devc->base != 0x250)  /* Some cards use these */
devc106drivers/sound/pss.cprintk ("No PSS signature detected at 0x%x (0x%x)\n", devc->base, id);
devc114drivers/sound/pss.cset_irq (pss_config * devc, int dev, int irq)
devc142drivers/sound/pss.cset_io_base (pss_config * devc, int dev, int base)
devc153drivers/sound/pss.cset_dma (pss_config * devc, int dev, int dma)
devc179drivers/sound/pss.cpss_reset_dsp (pss_config * devc)
devc194drivers/sound/pss.cpss_put_dspword (pss_config * devc, unsigned short word)
devc211drivers/sound/pss.cpss_get_dspword (pss_config * devc, unsigned short *word)
devc229drivers/sound/pss.cpss_download_boot (pss_config * devc, unsigned char *block, int size, int flags)
devc246drivers/sound/pss.cpss_reset_dsp (devc);
devc317drivers/sound/pss.cdevc->base = hw_config->io_base;
devc318drivers/sound/pss.cdevc->irq = hw_config->irq;
devc319drivers/sound/pss.cdevc->dma = hw_config->dma;
devc335drivers/sound/pss.cif (!set_irq (devc, CONF_PSS, devc->irq))
devc341drivers/sound/pss.cif (!set_dma (devc, CONF_PSS, devc->dma))
devc361drivers/sound/pss.cif (!set_io_base (devc, CONF_MIDI, hw_config->io_base))
devc367drivers/sound/pss.cif (!set_irq (devc, CONF_MIDI, hw_config->irq))
devc379drivers/sound/pss.cif (!pss_download_boot (devc, pss_synth, pss_synthLen, CPF_FIRST | CPF_LAST))
devc419drivers/sound/pss.cif (!pss_download_boot (devc, pss_synth, pss_synthLen, CPF_FIRST | CPF_LAST))
devc442drivers/sound/pss.cif (!pss_download_boot (devc, pss_synth, pss_synthLen, CPF_FIRST | CPF_LAST))
devc455drivers/sound/pss.cif (!pss_download_boot (devc, buf->data, buf->len, buf->flags))
devc499drivers/sound/pss.cif (!pss_put_dspword (devc, 0x00d0))
devc505drivers/sound/pss.cif (!pss_put_dspword (devc, (unsigned short) (buf.parm1 & 0xffff)))
devc511drivers/sound/pss.cif (!pss_get_dspword (devc, &tmp))
devc534drivers/sound/pss.cif (!pss_put_dspword (devc, 0x00d1))
devc540drivers/sound/pss.cif (!pss_put_dspword (devc, (unsigned short) (buf.parm1 & 0xffff)))
devc547drivers/sound/pss.cif (!pss_put_dspword (devc, tmp))
devc567drivers/sound/pss.cif (!pss_put_dspword (devc, 0x00d3))
devc573drivers/sound/pss.cif (!pss_put_dspword (devc, (unsigned short) (buf.parm1 & 0xffff)))
devc580drivers/sound/pss.cif (!pss_put_dspword (devc, tmp))
devc587drivers/sound/pss.cif (!pss_put_dspword (devc, tmp))
devc607drivers/sound/pss.cif (!pss_put_dspword (devc, 0x00d2))
devc613drivers/sound/pss.cif (!pss_put_dspword (devc, (unsigned short) (buf.parm1 & 0xffff)))
devc619drivers/sound/pss.cif (!pss_get_dspword (devc, &tmp))  /* Read msb */
devc627drivers/sound/pss.cif (!pss_get_dspword (devc, &tmp))  /* Read lsb */
devc683drivers/sound/pss.cif (!set_io_base (devc, CONF_WSS, hw_config->io_base))
devc689drivers/sound/pss.cif (!set_irq (devc, CONF_WSS, hw_config->irq))
devc695drivers/sound/pss.cif (!set_dma (devc, CONF_WSS, hw_config->dma))
devc68drivers/sound/sscape.c#define PORT(name)  (devc->base+name)
devc97drivers/sound/sscape.cstatic struct sscape_info *devc = &dev_info;
devc119drivers/sound/sscape.csscape_read (struct sscape_info *devc, int reg)
devc132drivers/sound/sscape.csscape_write (struct sscape_info *devc, int reg, int data)
devc143drivers/sound/sscape.chost_open (struct sscape_info *devc)
devc149drivers/sound/sscape.chost_close (struct sscape_info *devc)
devc155drivers/sound/sscape.chost_write (struct sscape_info *devc, unsigned char *data, int count)
devc188drivers/sound/sscape.chost_read (struct sscape_info *devc)
devc218drivers/sound/sscape.chost_command1 (struct sscape_info *devc, int cmd)
devc224drivers/sound/sscape.creturn host_write (devc, buf, 1);
devc228drivers/sound/sscape.chost_command2 (struct sscape_info *devc, int cmd, int parm1)
devc235drivers/sound/sscape.creturn host_write (devc, buf, 2);
devc239drivers/sound/sscape.chost_command3 (struct sscape_info *devc, int cmd, int parm1, int parm2)
devc247drivers/sound/sscape.creturn host_write (devc, buf, 3);
devc251drivers/sound/sscape.cset_mt32 (struct sscape_info *devc, int value)
devc253drivers/sound/sscape.chost_open (devc);
devc254drivers/sound/sscape.chost_command2 (devc, CMD_SET_MT32,
devc256drivers/sound/sscape.cif (host_read (devc) != CMD_ACK)
devc260drivers/sound/sscape.chost_close (devc);
devc264drivers/sound/sscape.cget_board_type (struct sscape_info *devc)
devc268drivers/sound/sscape.chost_open (devc);
devc269drivers/sound/sscape.cif (!host_command1 (devc, CMD_GET_BOARD_TYPE))
devc272drivers/sound/sscape.ctmp = host_read (devc);
devc273drivers/sound/sscape.chost_close (devc);
devc283drivers/sound/sscape.cprintk ("sscapeintr(0x%02x)\n", (bits = sscape_read (devc, GA_INTSTAT_REG)));
devc291drivers/sound/sscape.cprintk ("SSCAPE: Host interrupt, data=%02x\n", host_read (devc));
devc300drivers/sound/sscape.csscape_write (devc, GA_INTENA_REG, 0x00);  /* Disable all interrupts */
devc309drivers/sound/sscape.ctmp = sscape_read (devc, GA_INTENA_REG);
devc310drivers/sound/sscape.csscape_write (devc, GA_INTENA_REG, (~bits & 0x0e) | (tmp & 0xf1));
devc315drivers/sound/sscape.csscape_enable_intr (struct sscape_info *devc, unsigned intr_bits)
devc319drivers/sound/sscape.ctemp = orig = sscape_read (devc, GA_INTENA_REG);
devc326drivers/sound/sscape.csscape_write (devc, GA_INTENA_REG, temp);
devc330drivers/sound/sscape.csscape_disable_intr (struct sscape_info *devc, unsigned intr_bits)
devc334drivers/sound/sscape.ctemp = orig = sscape_read (devc, GA_INTENA_REG);
devc341drivers/sound/sscape.csscape_write (devc, GA_INTENA_REG, temp);
devc345drivers/sound/sscape.cdo_dma (struct sscape_info *devc, int dma_chan, unsigned long buf, int blk_size, int mode)
devc355drivers/sound/sscape.cDMAbuf_start_dma (devc->my_audiodev,
devc359drivers/sound/sscape.ctemp = devc->dma << 4;  /* Setup DMA channel select bits */
devc360drivers/sound/sscape.cif (devc->dma <= 3)
devc364drivers/sound/sscape.csscape_write (devc, GA_DMAA_REG, temp);
devc366drivers/sound/sscape.csscape_write (devc, GA_DMAA_REG, temp);
devc370drivers/sound/sscape.cverify_mpu (struct sscape_info *devc)
devc386drivers/sound/sscape.cif (INB (devc->base + HOST_CTRL) & 0x80)
devc389drivers/sound/sscape.cif (INB (devc->base) != 0x00)
devc402drivers/sound/sscape.cset_mt32 (devc, 0);
devc403drivers/sound/sscape.cif (!verify_mpu (devc))
devc413drivers/sound/sscape.cstruct sscape_info *devc = dev_info;
devc417drivers/sound/sscape.cif (devc->dma_allocated)
devc419drivers/sound/sscape.csscape_write (devc, GA_DMAA_REG, 0x20);  /* DMA channel disabled */
devc421drivers/sound/sscape.cDMAbuf_close_dma (devc->my_audiodev);
devc423drivers/sound/sscape.cdevc->dma_allocated = 0;
devc437drivers/sound/sscape.csscape_download_boot (struct sscape_info *devc, unsigned char *block, int size, int flag)
devc451drivers/sound/sscape.cif (devc->dma_allocated == 0)
devc454drivers/sound/sscape.cif (DMAbuf_open_dma (devc->my_audiodev) < 0)
devc461drivers/sound/sscape.cdevc->dma_allocated = 1;
devc465drivers/sound/sscape.csscape_write (devc, GA_HMCTL_REG,
devc466drivers/sound/sscape.c(temp = sscape_read (devc, GA_HMCTL_REG)) & 0x3f);  /*Reset */
devc469drivers/sound/sscape.csscape_read (devc, GA_HMCTL_REG);  /* Delay */
devc472drivers/sound/sscape.csscape_write (devc, GA_HMCTL_REG,
devc473drivers/sound/sscape.c(temp = sscape_read (devc, GA_HMCTL_REG)) | 0x80);
devc479drivers/sound/sscape.cmemcpy (audio_devs[devc->my_audiodev]->dmap->raw_buf[0], block, size);
devc483drivers/sound/sscape.cdo_dma (devc, SSCAPE_DMA_A,
devc484drivers/sound/sscape.caudio_devs[devc->my_audiodev]->dmap->raw_buf_phys[0],
devc498drivers/sound/sscape.cclear_dma_ff (devc->dma);
devc499drivers/sound/sscape.cif ((resid = get_dma_residue (devc->dma)) == 0)
devc515drivers/sound/sscape.ctemp = sscape_read (devc, GA_HMCTL_REG);
devc517drivers/sound/sscape.csscape_write (devc, GA_HMCTL_REG, temp);  /* Kickstart the board */
devc556drivers/sound/sscape.cget_board_type (devc));
devc567drivers/sound/sscape.cprintk ("I%d = %02x (new value)\n", i, sscape_read (devc, i));
devc582drivers/sound/sscape.cif (!sscape_download_boot (devc, buf->data, buf->len, buf->flags))
devc636drivers/sound/sscape.csscape_info    *devc = (sscape_info *) audio_devs[dev]->devc;
devc639drivers/sound/sscape.cif (devc->opened)
devc645drivers/sound/sscape.cif (devc->dma_allocated == 0)
devc649drivers/sound/sscape.cif ((err = DMAbuf_open_dma (devc->my_audiodev)) < 0)
devc655drivers/sound/sscape.cdevc->dma_allocated = 1;
devc658drivers/sound/sscape.cdevc->opened = 1;
devc669drivers/sound/sscape.cprintk ("I%d = %02x\n", i, sscape_read (devc, i));
devc680drivers/sound/sscape.csscape_info    *devc = (sscape_info *) audio_devs[dev]->devc;
devc686drivers/sound/sscape.cif (devc->dma_allocated)
devc688drivers/sound/sscape.csscape_write (devc, GA_DMAA_REG, 0x20);  /* DMA channel disabled */
devc690drivers/sound/sscape.cdevc->dma_allocated = 0;
devc692drivers/sound/sscape.cdevc->opened = 0;
devc698drivers/sound/sscape.cset_speed (sscape_info * devc, int arg)
devc704drivers/sound/sscape.cset_channels (sscape_info * devc, int arg)
devc710drivers/sound/sscape.cset_format (sscape_info * devc, int arg)
devc718drivers/sound/sscape.csscape_info    *devc = (sscape_info *) audio_devs[dev]->devc;
devc724drivers/sound/sscape.creturn set_speed (devc, arg);
devc725drivers/sound/sscape.creturn IOCTL_OUT (arg, set_speed (devc, IOCTL_IN (arg)));
devc734drivers/sound/sscape.creturn set_channels (devc, arg + 1) - 1;
devc735drivers/sound/sscape.creturn IOCTL_OUT (arg, set_channels (devc, IOCTL_IN (arg) + 1) - 1);
devc739drivers/sound/sscape.creturn set_channels (devc, arg);
devc740drivers/sound/sscape.creturn IOCTL_OUT (arg, set_channels (devc, IOCTL_IN (arg)));
devc749drivers/sound/sscape.creturn set_format (devc, arg);
devc750drivers/sound/sscape.creturn IOCTL_OUT (arg, set_format (devc, IOCTL_IN (arg)));
devc882drivers/sound/sscape.csscape_write (devc, i, 0xf0);  /* All interrupts enabled */
devc887drivers/sound/sscape.csscape_write (devc, i, 0x20);  /* DMA channel disabled */
devc891drivers/sound/sscape.csscape_write (devc, i, 0xf0 | (irq_bits << 2) | irq_bits);
devc895drivers/sound/sscape.csscape_write (devc, i, (regs[i] & 0x3f) |
devc896drivers/sound/sscape.c(sscape_read (devc, i) & 0xc0));
devc903drivers/sound/sscape.csscape_write (devc, i,
devc904drivers/sound/sscape.c(sscape_read (devc, i) & 0xf0) | 0x00);
devc908drivers/sound/sscape.csscape_write (devc, i, regs[i]);
devc922drivers/sound/sscape.cprintk ("I%d = %02x (new value)\n", i, sscape_read (devc, i));
devc950drivers/sound/sscape.caudio_devs[my_dev]->devc = devc;
devc951drivers/sound/sscape.cdevc->my_audiodev = my_dev;
devc952drivers/sound/sscape.cdevc->opened = 0;
devc957drivers/sound/sscape.csscape_write (devc, GA_INTENA_REG, 0x80);    /* Master IRQ enable */
devc963drivers/sound/sscape.cdevc->ok = 1;
devc972drivers/sound/sscape.cdevc->base = hw_config->io_base;
devc973drivers/sound/sscape.cdevc->irq = hw_config->irq;
devc974drivers/sound/sscape.cdevc->dma = hw_config->dma;
devc999drivers/sound/sscape.cif (sscape_read (devc, 0) & 0x0c)
devc1002drivers/sound/sscape.cif (sscape_read (devc, 1) & 0x0f)
devc1005drivers/sound/sscape.cif (sscape_read (devc, 5) & 0x0f)
devc1017drivers/sound/sscape.cprintk ("I%d = %02x (old value)\n", i, sscape_read (devc, i));
devc1026drivers/sound/sscape.cif (!((tmp = sscape_read (devc, GA_HMCTL_REG)) & 0xc0))
devc1028drivers/sound/sscape.csscape_write (devc, GA_HMCTL_REG, tmp | 0x80);
devc1030drivers/sound/sscape.cINB (devc->base + ODIE_ADDR);
devc1045drivers/sound/sscape.cif (devc->ok == 0)
devc1085drivers/sound/sscape.csscape_write (devc, GA_DMACFG_REG, 0x50);
devc1090drivers/sound/sscape.csscape_write (devc, GA_DMAB_REG, 0x20);
devc1103drivers/sound/sscape.csscape_write (devc, GA_CDCFG_REG, 0x89 | (hw_config->dma << 4) |
devc1106drivers/sound/sscape.cif (hw_config->irq == devc->irq)
devc1127drivers/sound/sscape.cprintk ("I%d = %02x\n", i, sscape_read (devc, i));