taglinefilesource code
devc132drivers/block/hd.cchar devc;
devc134drivers/block/hd.cdevc = CURRENT ? 'a' + DEVICE_NR(CURRENT->rq_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);
devc131drivers/sound/ad1848.cad_read (ad1848_info * devc, int reg)
devc137drivers/sound/ad1848.cwhile (timeout > 0 && inb (devc->base) == 0x80)  /*Are we initializing */
devc142drivers/sound/ad1848.coutb ((unsigned char) (reg & 0xff) | devc->MCE_bit, io_Index_Addr (devc));
devc143drivers/sound/ad1848.cx = inb (io_Indexed_Data (devc));
devc151drivers/sound/ad1848.cad_write (ad1848_info * devc, int reg, int data)
devc156drivers/sound/ad1848.cwhile (timeout > 0 && inb (devc->base) == 0x80)  /*Are we initializing */
devc161drivers/sound/ad1848.coutb ((unsigned char) (reg & 0xff) | devc->MCE_bit, io_Index_Addr (devc));
devc162drivers/sound/ad1848.coutb ((unsigned char) (data & 0xff), io_Indexed_Data (devc));
devc168drivers/sound/ad1848.cwait_for_calibration (ad1848_info * devc)
devc180drivers/sound/ad1848.cwhile (timeout > 0 && inb (devc->base) & 0x80)
devc182drivers/sound/ad1848.cif (inb (devc->base) & 0x80)
devc186drivers/sound/ad1848.cwhile (timeout > 0 && !(ad_read (devc, 11) & 0x20))
devc188drivers/sound/ad1848.cif (!(ad_read (devc, 11) & 0x20))
devc192drivers/sound/ad1848.cwhile (timeout > 0 && ad_read (devc, 11) & 0x20)
devc194drivers/sound/ad1848.cif (ad_read (devc, 11) & 0x20)
devc199drivers/sound/ad1848.cad_mute (ad1848_info * devc)
devc209drivers/sound/ad1848.cprev = devc->saved_regs[i] = ad_read (devc, i);
devc210drivers/sound/ad1848.cad_write (devc, i, prev | 0x80);
devc215drivers/sound/ad1848.cad_unmute (ad1848_info * devc)
devc224drivers/sound/ad1848.cad_write (devc, i, devc->saved_regs[i] & ~0x80);
devc229drivers/sound/ad1848.cad_enter_MCE (ad1848_info * devc)
devc235drivers/sound/ad1848.cwhile (timeout > 0 && inb (devc->base) == 0x80)  /*Are we initializing */
devc241drivers/sound/ad1848.cdevc->MCE_bit = 0x40;
devc242drivers/sound/ad1848.cprev = inb (io_Index_Addr (devc));
devc249drivers/sound/ad1848.coutb (devc->MCE_bit, io_Index_Addr (devc));
devc254drivers/sound/ad1848.cad_leave_MCE (ad1848_info * devc)
devc260drivers/sound/ad1848.cwhile (timeout > 0 && inb (devc->base) == 0x80)  /*Are we initializing */
devc266drivers/sound/ad1848.cdevc->MCE_bit = 0x00;
devc267drivers/sound/ad1848.cprev = inb (io_Index_Addr (devc));
devc268drivers/sound/ad1848.coutb (0x00, io_Index_Addr (devc));  /* Clear the MCE bit */
devc276drivers/sound/ad1848.coutb (0x00, io_Index_Addr (devc));  /* Clear the MCE bit */
devc277drivers/sound/ad1848.cwait_for_calibration (devc);
devc283drivers/sound/ad1848.cad1848_set_recmask (ad1848_info * devc, int mask)
devc288drivers/sound/ad1848.cmask &= devc->supported_rec_devices;
devc299drivers/sound/ad1848.cmask &= ~devc->recmask;  /* Filter out active settings */
devc336drivers/sound/ad1848.cad_write (devc, 0, (ad_read (devc, 0) & 0x3f) | recdev);
devc337drivers/sound/ad1848.cad_write (devc, 1, (ad_read (devc, 1) & 0x3f) | recdev);
devc339drivers/sound/ad1848.cdevc->recmask = mask;
devc361drivers/sound/ad1848.cad1848_mixer_get (ad1848_info * devc, int dev)
devc363drivers/sound/ad1848.cif (!((1 << dev) & devc->supported_devices))
devc366drivers/sound/ad1848.creturn devc->levels[dev];
devc370drivers/sound/ad1848.cad1848_mixer_set (ad1848_info * devc, int dev, int value)
devc400drivers/sound/ad1848.cif (!(devc->supported_devices & (1 << dev)))
devc406drivers/sound/ad1848.cdevc->levels[dev] = retvol;
devc413drivers/sound/ad1848.cval = ad_read (devc, regoffs);
devc415drivers/sound/ad1848.cad_write (devc, regoffs, val);
devc416drivers/sound/ad1848.cdevc->saved_regs[regoffs] = val;
devc426drivers/sound/ad1848.cval = ad_read (devc, regoffs);
devc428drivers/sound/ad1848.cad_write (devc, regoffs, val);
devc429drivers/sound/ad1848.cdevc->saved_regs[regoffs] = val;
devc435drivers/sound/ad1848.cad1848_mixer_reset (ad1848_info * devc)
devc439drivers/sound/ad1848.cdevc->recmask = 0;
devc440drivers/sound/ad1848.cif (devc->mode != MD_1848)
devc441drivers/sound/ad1848.cdevc->supported_devices = MODE2_MIXER_DEVICES;
devc443drivers/sound/ad1848.cdevc->supported_devices = MODE1_MIXER_DEVICES;
devc445drivers/sound/ad1848.cdevc->supported_rec_devices = MODE1_REC_DEVICES;
devc448drivers/sound/ad1848.cif (devc->supported_devices & (1 << i))
devc449drivers/sound/ad1848.cad1848_mixer_set (devc, i, default_mixer_levels[i]);
devc450drivers/sound/ad1848.cad1848_set_recmask (devc, SOUND_MASK_MIC);
devc456drivers/sound/ad1848.cad1848_info    *devc;
devc465drivers/sound/ad1848.cdevc = (ad1848_info *) audio_devs[codec_dev]->devc;
devc473drivers/sound/ad1848.creturn snd_ioctl_return ((int *) arg, ad1848_set_recmask (devc, get_fs_long ((long *) arg)));
devc477drivers/sound/ad1848.creturn snd_ioctl_return ((int *) arg, ad1848_mixer_set (devc, cmd & 0xff, get_fs_long ((long *) arg)));
devc486drivers/sound/ad1848.creturn snd_ioctl_return ((int *) arg, devc->recmask);
devc490drivers/sound/ad1848.creturn snd_ioctl_return ((int *) arg, devc->supported_devices);
devc494drivers/sound/ad1848.creturn snd_ioctl_return ((int *) arg, devc->supported_devices & ~(SOUND_MASK_SPEAKER | SOUND_MASK_IMIX));
devc498drivers/sound/ad1848.creturn snd_ioctl_return ((int *) arg, devc->supported_rec_devices);
devc506drivers/sound/ad1848.creturn snd_ioctl_return ((int *) arg, ad1848_mixer_get (devc, cmd & 0xff));
devc545drivers/sound/ad1848.cad1848_info    *devc = NULL;
devc551drivers/sound/ad1848.cdevc = (ad1848_info *) audio_devs[dev]->devc;
devc555drivers/sound/ad1848.cif (devc->opened)
devc563drivers/sound/ad1848.cdevc->dual_dma = 0;
devc567drivers/sound/ad1848.cdevc->dual_dma = 1;
devc570drivers/sound/ad1848.cdevc->intr_active = 0;
devc571drivers/sound/ad1848.cdevc->opened = 1;
devc572drivers/sound/ad1848.cdevc->irq_mode = 0;
devc577drivers/sound/ad1848.cad_mute (devc);
devc586drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc593drivers/sound/ad1848.cdevc->intr_active = 0;
devc597drivers/sound/ad1848.cdevc->opened = 0;
devc598drivers/sound/ad1848.cdevc->irq_mode = 0;
devc600drivers/sound/ad1848.cad_unmute (devc);
devc605drivers/sound/ad1848.cset_speed (ad1848_info * devc, int arg)
devc645drivers/sound/ad1848.cif (devc->mode == MD_1845)  /* AD1845 has different timer than others */
devc652drivers/sound/ad1848.cdevc->speed = arg;
devc653drivers/sound/ad1848.cdevc->speed_bits = speed_table[selected].bits;
devc654drivers/sound/ad1848.creturn devc->speed;
devc684drivers/sound/ad1848.cdevc->speed = speed_table[selected].speed;
devc685drivers/sound/ad1848.cdevc->speed_bits = speed_table[selected].bits;
devc686drivers/sound/ad1848.creturn devc->speed;
devc690drivers/sound/ad1848.cset_channels (ad1848_info * devc, int arg)
devc693drivers/sound/ad1848.creturn devc->channels;
devc695drivers/sound/ad1848.cdevc->channels = arg;
devc700drivers/sound/ad1848.cset_format (ad1848_info * devc, int arg)
devc752drivers/sound/ad1848.cif (!(arg & ad_format_mask[devc->mode]))
devc755drivers/sound/ad1848.cdevc->audio_format = arg;
devc760drivers/sound/ad1848.cif ((devc->format_bits = format2bits[i].bits) == 0)
devc761drivers/sound/ad1848.creturn devc->audio_format = AFMT_U8;  /* Was not supported */
devc767drivers/sound/ad1848.cdevc->format_bits = 0;
devc768drivers/sound/ad1848.creturn devc->audio_format = AFMT_U8;
devc774drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc780drivers/sound/ad1848.creturn set_speed (devc, (int) arg);
devc781drivers/sound/ad1848.creturn snd_ioctl_return ((int *) arg, set_speed (devc, get_fs_long ((long *) arg)));
devc785drivers/sound/ad1848.creturn devc->speed;
devc786drivers/sound/ad1848.creturn snd_ioctl_return ((int *) arg, devc->speed);
devc790drivers/sound/ad1848.creturn set_channels (devc, (int) arg + 1) - 1;
devc791drivers/sound/ad1848.creturn snd_ioctl_return ((int *) arg, set_channels (devc, get_fs_long ((long *) arg) + 1) - 1);
devc795drivers/sound/ad1848.creturn set_channels (devc, (int) arg);
devc796drivers/sound/ad1848.creturn snd_ioctl_return ((int *) arg, set_channels (devc, get_fs_long ((long *) arg)));
devc800drivers/sound/ad1848.creturn devc->channels;
devc801drivers/sound/ad1848.creturn snd_ioctl_return ((int *) arg, devc->channels);
devc805drivers/sound/ad1848.creturn set_format (devc, (int) arg);
devc806drivers/sound/ad1848.creturn snd_ioctl_return ((int *) arg, set_format (devc, get_fs_long ((long *) arg)));
devc810drivers/sound/ad1848.creturn devc->audio_format;
devc811drivers/sound/ad1848.creturn snd_ioctl_return ((int *) arg, devc->audio_format);
devc822drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc826drivers/sound/ad1848.cif (devc->audio_format == AFMT_IMA_ADPCM)
devc832drivers/sound/ad1848.cif (devc->audio_format & (AFMT_S16_LE | AFMT_S16_BE))  /* 16 bit data */
devc835drivers/sound/ad1848.cif (devc->channels > 1)
devc839drivers/sound/ad1848.cif (devc->irq_mode & PCM_ENABLE_OUTPUT && audio_devs[dev]->flags & DMA_AUTOMODE &&
devc841drivers/sound/ad1848.ccnt == devc->xfer_count)
devc843drivers/sound/ad1848.cdevc->irq_mode |= PCM_ENABLE_OUTPUT;
devc844drivers/sound/ad1848.cdevc->intr_active = 1;
devc858drivers/sound/ad1848.cad_write (devc, 15, (unsigned char) (cnt & 0xff));
devc859drivers/sound/ad1848.cad_write (devc, 14, (unsigned char) ((cnt >> 8) & 0xff));
devc862drivers/sound/ad1848.cad_unmute (devc);
devc864drivers/sound/ad1848.cdevc->xfer_count = cnt;
devc865drivers/sound/ad1848.cdevc->irq_mode |= PCM_ENABLE_OUTPUT;
devc866drivers/sound/ad1848.cdevc->intr_active = 1;
devc874drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc877drivers/sound/ad1848.cif (devc->audio_format == AFMT_IMA_ADPCM)
devc883drivers/sound/ad1848.cif (devc->audio_format & (AFMT_S16_LE | AFMT_S16_BE))  /* 16 bit data */
devc886drivers/sound/ad1848.cif (devc->channels > 1)
devc890drivers/sound/ad1848.cif (devc->irq_mode & PCM_ENABLE_INPUT && audio_devs[dev]->flags & DMA_AUTOMODE &&
devc892drivers/sound/ad1848.ccnt == devc->xfer_count)
devc894drivers/sound/ad1848.cdevc->irq_mode |= PCM_ENABLE_INPUT;
devc895drivers/sound/ad1848.cdevc->intr_active = 1;
devc909drivers/sound/ad1848.cif (devc->mode == MD_1848 || !devc->dual_dma)    /* Single DMA channel mode */
devc911drivers/sound/ad1848.cad_write (devc, 15, (unsigned char) (cnt & 0xff));
devc912drivers/sound/ad1848.cad_write (devc, 14, (unsigned char) ((cnt >> 8) & 0xff));
devc917drivers/sound/ad1848.cad_write (devc, 31, (unsigned char) (cnt & 0xff));
devc918drivers/sound/ad1848.cad_write (devc, 30, (unsigned char) ((cnt >> 8) & 0xff));
devc922drivers/sound/ad1848.cad_unmute (devc);
devc924drivers/sound/ad1848.cdevc->xfer_count = cnt;
devc925drivers/sound/ad1848.cdevc->irq_mode |= PCM_ENABLE_INPUT;
devc926drivers/sound/ad1848.cdevc->intr_active = 1;
devc936drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc938drivers/sound/ad1848.cif (devc->irq_mode)
devc943drivers/sound/ad1848.cfs = devc->speed_bits | (devc->format_bits << 5);
devc945drivers/sound/ad1848.cif (devc->channels > 1)
devc948drivers/sound/ad1848.cif (devc->mode == MD_1845)  /* Use alternate speed select registers */
devc952drivers/sound/ad1848.cad_write (devc, 22, (devc->speed >> 8) & 0xff);  /* Speed MSB */
devc953drivers/sound/ad1848.cad_write (devc, 23, devc->speed & 0xff);  /* Speed LSB */
devc956drivers/sound/ad1848.cif (fs == (old_fs = ad_read (devc, 8)))  /* No change */
devc959drivers/sound/ad1848.cdevc->xfer_count = 0;
devc963drivers/sound/ad1848.cad_enter_MCE (devc);    /* Enables changes to the format select reg */
devc964drivers/sound/ad1848.cad_write (devc, 8, fs);
devc969drivers/sound/ad1848.cwhile (timeout > 0 && inb (devc->base) == 0x80)
devc975drivers/sound/ad1848.cif (devc->mode != MD_1848)
devc977drivers/sound/ad1848.cad_write (devc, 28, fs);
devc983drivers/sound/ad1848.cwhile (timeout > 0 && inb (devc->base) == 0x80)
devc988drivers/sound/ad1848.cad_leave_MCE (devc);    /*
devc992drivers/sound/ad1848.cdevc->xfer_count = 0;
devc995drivers/sound/ad1848.cif (dev == timer_installed && devc->timer_running)
devc1013drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc1019drivers/sound/ad1848.cad_mute (devc);
devc1020drivers/sound/ad1848.cad_write (devc, 9, ad_read (devc, 9) & ~0x03);  /* Stop DMA */
devc1022drivers/sound/ad1848.cad_write (devc, 15, 0);  /* Clear DMA counter */
devc1023drivers/sound/ad1848.cad_write (devc, 14, 0);  /* Clear DMA counter */
devc1025drivers/sound/ad1848.cif (devc->mode != MD_1848)
devc1027drivers/sound/ad1848.cad_write (devc, 30, 0);  /* Clear DMA counter */
devc1028drivers/sound/ad1848.cad_write (devc, 31, 0);  /* Clear DMA counter */
devc1031drivers/sound/ad1848.cad_write (devc, 9, ad_read (devc, 9) & ~0x03);  /* Stop DMA */
devc1033drivers/sound/ad1848.coutb (0, io_Status (devc));  /* Clear interrupt status */
devc1034drivers/sound/ad1848.coutb (0, io_Status (devc));  /* Clear interrupt status */
devc1035drivers/sound/ad1848.cdevc->irq_mode = 0;
devc1044drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc1047drivers/sound/ad1848.cif (devc->mode == MD_1848)
devc1056drivers/sound/ad1848.cad_mute (devc);
devc1057drivers/sound/ad1848.cad_write (devc, 9, ad_read (devc, 9) & ~0x02);  /* Stop capture */
devc1060drivers/sound/ad1848.cdevc->irq_mode &= ~PCM_ENABLE_INPUT;
devc1068drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc1071drivers/sound/ad1848.cif (devc->mode == MD_1848)
devc1080drivers/sound/ad1848.cad_mute (devc);
devc1081drivers/sound/ad1848.cad_write (devc, 9, ad_read (devc, 9) & ~0x01);  /* Stop playback */
devc1084drivers/sound/ad1848.cdevc->irq_mode &= ~PCM_ENABLE_OUTPUT;
devc1092drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc1098drivers/sound/ad1848.cstate &= devc->irq_mode;
devc1100drivers/sound/ad1848.ctmp = ad_read (devc, 9) & ~0x03;
devc1105drivers/sound/ad1848.cad_write (devc, 9, tmp);
devc1116drivers/sound/ad1848.cad1848_info    *devc = &dev_info[nr_ad1848_devs];
devc1133drivers/sound/ad1848.cdevc->base = io_base;
devc1134drivers/sound/ad1848.cdevc->irq_ok = 0;
devc1135drivers/sound/ad1848.cdevc->timer_running = 0;
devc1136drivers/sound/ad1848.cdevc->MCE_bit = 0x40;
devc1137drivers/sound/ad1848.cdevc->irq = 0;
devc1138drivers/sound/ad1848.cdevc->opened = 0;
devc1139drivers/sound/ad1848.cdevc->chip_name = "AD1848";
devc1140drivers/sound/ad1848.cdevc->mode = MD_1848;    /* AD1848 or CS4248 */
devc1141drivers/sound/ad1848.cdevc->osp = osp;
devc1152drivers/sound/ad1848.cif ((inb (devc->base) & 0x80) != 0x00)  /* Not a AD1848 */
devc1155drivers/sound/ad1848.cinb (devc->base)));
devc1165drivers/sound/ad1848.cad_write (devc, 0, 0xaa);
devc1166drivers/sound/ad1848.cad_write (devc, 1, 0x45);  /* 0x55 with bit 0x10 clear */
devc1168drivers/sound/ad1848.cif ((tmp1 = ad_read (devc, 0)) != 0xaa || (tmp2 = ad_read (devc, 1)) != 0x45)
devc1174drivers/sound/ad1848.cad_write (devc, 0, 0x45);
devc1175drivers/sound/ad1848.cad_write (devc, 1, 0xaa);
devc1177drivers/sound/ad1848.cif ((tmp1 = ad_read (devc, 0)) != 0x45 || (tmp2 = ad_read (devc, 1)) != 0xaa)
devc1188drivers/sound/ad1848.ctmp = ad_read (devc, 12);
devc1189drivers/sound/ad1848.cad_write (devc, 12, (~tmp) & 0x0f);
devc1191drivers/sound/ad1848.cif ((tmp & 0x0f) != ((tmp1 = ad_read (devc, 12)) & 0x0f))
devc1209drivers/sound/ad1848.cad_write (devc, 12, 0);  /* Mode2=disabled */
devc1212drivers/sound/ad1848.cif ((tmp1 = ad_read (devc, i)) != (tmp2 = ad_read (devc, i + 16)))
devc1223drivers/sound/ad1848.cad_write (devc, 12, 0x40);  /* Set mode2, clear 0x80 */
devc1225drivers/sound/ad1848.ctmp1 = ad_read (devc, 12);
devc1231drivers/sound/ad1848.cdevc->chip_name = "CS4248";  /* Our best knowledge just now */
devc1241drivers/sound/ad1848.cad_write (devc, 16, 0);  /* Set I16 to known value */
devc1243drivers/sound/ad1848.cad_write (devc, 0, 0x45);
devc1244drivers/sound/ad1848.cif ((tmp1 = ad_read (devc, 16)) != 0x45)  /* No change -> CS4231? */
devc1247drivers/sound/ad1848.cad_write (devc, 0, 0xaa);
devc1248drivers/sound/ad1848.cif ((tmp1 = ad_read (devc, 16)) == 0xaa)  /* Rotten bits? */
devc1258drivers/sound/ad1848.ctmp1 = ad_read (devc, 25);  /* Original bits */
devc1259drivers/sound/ad1848.cad_write (devc, 25, ~tmp1);  /* Invert all bits */
devc1260drivers/sound/ad1848.cif ((ad_read (devc, 25) & 0xe7) == (tmp1 & 0xe7))
devc1267drivers/sound/ad1848.cdevc->chip_name = "CS4231";
devc1270drivers/sound/ad1848.cif (devc->base != MOZART_PORT + 4)
devc1272drivers/sound/ad1848.cdevc->mode = MD_4231;
devc1280drivers/sound/ad1848.cid = ad_read (devc, 25) & 0xe7;
devc1286drivers/sound/ad1848.cdevc->chip_name = "CS4231A";
devc1287drivers/sound/ad1848.cdevc->mode = MD_4231A;
devc1291drivers/sound/ad1848.cdevc->chip_name = "CS4232";
devc1292drivers/sound/ad1848.cdevc->mode = MD_4231A;
devc1296drivers/sound/ad1848.cdevc->chip_name = "CS4232A";
devc1297drivers/sound/ad1848.cdevc->mode = MD_4231A;
devc1309drivers/sound/ad1848.cunsigned char   tmp = ad_read (devc, 23);
devc1311drivers/sound/ad1848.cad_write (devc, 23, ~tmp);
devc1312drivers/sound/ad1848.cif (ad_read (devc, 23) != tmp)  /* AD1845 ? */
devc1314drivers/sound/ad1848.cdevc->chip_name = "AD1845";
devc1315drivers/sound/ad1848.cdevc->mode = MD_1845;
devc1318drivers/sound/ad1848.cad_write (devc, 23, tmp);  /* Restore */
devc1323drivers/sound/ad1848.cdevc->mode = MD_4231;
devc1327drivers/sound/ad1848.cad_write (devc, 25, tmp1);  /* Restore bits */
devc1334drivers/sound/ad1848.cif (devc->mode != MD_1848)
devc1363drivers/sound/ad1848.cad1848_info    *devc = &dev_info[nr_ad1848_devs];
devc1368drivers/sound/ad1848.crequest_region (devc->base, 4, devc->chip_name);
devc1370drivers/sound/ad1848.cdevc->irq = (irq > 0) ? irq : 0;
devc1371drivers/sound/ad1848.cdevc->opened = 0;
devc1372drivers/sound/ad1848.cdevc->timer_ticks = 0;
devc1373drivers/sound/ad1848.cdevc->osp = osp;
devc1383drivers/sound/ad1848.cad_write (devc, i, init_values[i]);
devc1385drivers/sound/ad1848.cad_mute (devc);    /* Initialize some variables */
devc1386drivers/sound/ad1848.cad_unmute (devc);    /* Leave it unmuted now */
devc1388drivers/sound/ad1848.cif (devc->mode > MD_1848)
devc1392drivers/sound/ad1848.cad_write (devc, 9, ad_read (devc, 9) | 0x04);    /* Single DMA mode */
devc1397drivers/sound/ad1848.cad_write (devc, 9, ad_read (devc, 9) & ~0x04);  /* Dual DMA mode */
devc1401drivers/sound/ad1848.cad_write (devc, 12, ad_read (devc, 12) | 0x40);  /* Mode2 = enabled */
devc1403drivers/sound/ad1848.cad_write (devc, i, init_values[i]);
devc1405drivers/sound/ad1848.cif (devc->mode == MD_4231A)
devc1406drivers/sound/ad1848.cad_write (devc, 9, init_values[9] | 0x18);  /* Enable full calibration */
devc1408drivers/sound/ad1848.cif (devc->mode == MD_1845)
devc1409drivers/sound/ad1848.cad_write (devc, 27, init_values[27] | 0x08);  /* Alternate freq select enabled */
devc1412drivers/sound/ad1848.cad_write (devc, 9, ad_read (devc, 9) | 0x04);  /* Single DMA mode */
devc1414drivers/sound/ad1848.coutb (0, io_Status (devc));  /* Clear pending interrupts */
devc1418drivers/sound/ad1848.c"%s (%s)", name, devc->chip_name);
devc1421drivers/sound/ad1848.c"Generic audio codec (%s)", devc->chip_name);
devc1430drivers/sound/ad1848.caudio_devs[my_dev]->devc = devc;
devc1432drivers/sound/ad1848.cif (snd_set_irq_handler (devc->irq, ad1848_interrupt,
devc1434drivers/sound/ad1848.cdevc->osp) < 0)
devc1440drivers/sound/ad1848.cif (devc->mode != MD_1848)
devc1443drivers/sound/ad1848.cunsigned char   tmp = ad_read (devc, 16);
devc1445drivers/sound/ad1848.cdevc->timer_ticks = 0;
devc1447drivers/sound/ad1848.cad_write (devc, 21, 0x00);  /* Timer msb */
devc1448drivers/sound/ad1848.cad_write (devc, 20, 0x10);  /* Timer lsb */
devc1450drivers/sound/ad1848.cad_write (devc, 16, tmp | 0x40);  /* Enable timer */
devc1451drivers/sound/ad1848.cfor (x = 0; x < 100000 && devc->timer_ticks == 0; x++);
devc1452drivers/sound/ad1848.cad_write (devc, 16, tmp & ~0x40);    /* Disable timer */
devc1454drivers/sound/ad1848.cif (devc->timer_ticks == 0)
devc1457drivers/sound/ad1848.cdevc->irq_ok = 1;
devc1461drivers/sound/ad1848.cdevc->irq_ok = 1;  /* Couldn't test. assume it's OK */
devc1463drivers/sound/ad1848.cdevc->irq_ok = 1;
devc1467drivers/sound/ad1848.cirq2dev[-irq] = devc->dev_no = my_dev;
devc1472drivers/sound/ad1848.caudio_devs[my_dev]->devc = devc;
devc1473drivers/sound/ad1848.caudio_devs[my_dev]->format_mask = ad_format_mask[devc->mode];
devc1477drivers/sound/ad1848.cif (devc->mode != MD_1848 && devc->irq_ok)
devc1495drivers/sound/ad1848.cad_enter_MCE (devc);  /* In case the bit was off */
devc1496drivers/sound/ad1848.cad_leave_MCE (devc);
devc1503drivers/sound/ad1848.cad1848_mixer_reset (devc);
devc1514drivers/sound/ad1848.cad1848_info    *devc = NULL;
devc1516drivers/sound/ad1848.cfor (i = 0; devc == NULL && nr_ad1848_devs; i++)
devc1519drivers/sound/ad1848.cdevc = &dev_info[i];
devc1520drivers/sound/ad1848.cdev = devc->dev_no;
devc1523drivers/sound/ad1848.cif (devc != NULL)
devc1525drivers/sound/ad1848.crelease_region (devc->base, 4);
devc1530drivers/sound/ad1848.csnd_release_irq (devc->irq);
devc1547drivers/sound/ad1848.cad1848_info    *devc;
devc1570drivers/sound/ad1848.cdevc = (ad1848_info *) audio_devs[dev]->devc;
devc1573drivers/sound/ad1848.cdevc = (ad1848_info *) audio_devs[dev]->devc;
devc1575drivers/sound/ad1848.cstatus = inb (io_Status (devc));
devc1584drivers/sound/ad1848.cif (devc->mode != MD_1848)
devc1586drivers/sound/ad1848.calt_stat = ad_read (devc, 24);
devc1589drivers/sound/ad1848.cdevc->timer_ticks++;
devc1591drivers/sound/ad1848.cif (timer_installed == dev && devc->timer_running)
devc1599drivers/sound/ad1848.cif (devc->opened && devc->irq_mode & PCM_ENABLE_INPUT && alt_stat & 0x20)
devc1604drivers/sound/ad1848.cif (devc->opened && devc->irq_mode & PCM_ENABLE_OUTPUT && alt_stat & 0x10)
devc1610drivers/sound/ad1848.coutb (0, io_Status (devc));  /* Clear interrupt status */
devc1782drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc1800drivers/sound/ad1848.cif (devc->mode == MD_1845)
devc1802drivers/sound/ad1848.celse if (ad_read (devc, 8) & 0x01)
devc1815drivers/sound/ad1848.cad_write (devc, 21, (divider >> 8) & 0xff);  /* Set upper bits */
devc1816drivers/sound/ad1848.cad_write (devc, 20, divider & 0xff);  /* Set lower bits */
devc1817drivers/sound/ad1848.cad_write (devc, 16, ad_read (devc, 16) | 0x40);  /* Start the timer */
devc1818drivers/sound/ad1848.cdevc->timer_running = 1;
devc1840drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc1844drivers/sound/ad1848.cad_write (devc, 16, ad_read (devc, 16) & ~0x40);
devc1845drivers/sound/ad1848.cdevc->timer_running = 0;
devc1853drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc1860drivers/sound/ad1848.cad_write (devc, 16, ad_read (devc, 16) | 0x40);
devc1861drivers/sound/ad1848.cdevc->timer_running = 1;
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);
devc367drivers/sound/audio.creturn audio_devs[dev]->coproc->ioctl (audio_devs[dev]->coproc->devc, cmd, arg, 0);
devc131drivers/sound/dev_table.hint (*open) (void *devc, int sub_device);
devc132drivers/sound/dev_table.hvoid (*close) (void *devc, int sub_device);
devc133drivers/sound/dev_table.hint (*ioctl) (void *devc, unsigned int cmd, ioctl_arg arg, int local);
devc134drivers/sound/dev_table.hvoid (*reset) (void *devc);
devc136drivers/sound/dev_table.hvoid *devc;    /* Driver specific info */
devc147drivers/sound/dev_table.hvoid *devc;    /* Driver specific info */
devc478drivers/sound/midibuf.creturn midi_devs[dev]->coproc->ioctl (midi_devs[dev]->coproc->devc, cmd, arg, 0);
devc94drivers/sound/mpu401.c#define mpu401_status(devc)    inb( STATPORT(devc->base))
devc95drivers/sound/mpu401.c#define input_avail(devc)    (!(mpu401_status(devc)&INPUT_AVAIL))
devc96drivers/sound/mpu401.c#define output_ready(devc)    (!(mpu401_status(devc)&OUTPUT_READY))
devc97drivers/sound/mpu401.c#define write_command(devc, cmd)  outb( cmd,  COMDPORT(devc->base))
devc98drivers/sound/mpu401.c#define read_data(devc)    inb( DATAPORT(devc->base))
devc100drivers/sound/mpu401.c#define write_data(devc, byte)  outb( byte,  DATAPORT(devc->base))
devc117drivers/sound/mpu401.cstatic int      reset_mpu401 (struct mpu_config *devc);
devc118drivers/sound/mpu401.cstatic void     set_uart_mode (int dev, struct mpu_config *devc, int arg);
devc122drivers/sound/mpu401.cstatic void     timer_ext_event (struct mpu_config *devc, int event, int parm);
devc173drivers/sound/mpu401.cmpu_input_scanner (struct mpu_config *devc, unsigned char midic)
devc176drivers/sound/mpu401.cswitch (devc->m_state)
devc190drivers/sound/mpu401.cif (devc->timer_flag)
devc214drivers/sound/mpu401.cdevc->m_state = ST_SYSMSG;
devc221drivers/sound/mpu401.cdevc->m_state = ST_TIMED;
devc232drivers/sound/mpu401.cdevc->m_state = ST_DATABYTE;
devc237drivers/sound/mpu401.cmsg = ((int) (devc->last_status & 0xf0) >> 4);
devc239drivers/sound/mpu401.cdevc->m_left = len_tab[msg] - 1;
devc241drivers/sound/mpu401.cdevc->m_ptr = 2;
devc242drivers/sound/mpu401.cdevc->m_buf[0] = devc->last_status;
devc243drivers/sound/mpu401.cdevc->m_buf[1] = midic;
devc245drivers/sound/mpu401.cif (devc->m_left <= 0)
devc247drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc248drivers/sound/mpu401.cdo_midi_msg (devc->synthno, devc->m_buf, devc->m_ptr);
devc249drivers/sound/mpu401.cdevc->m_ptr = 0;
devc254drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc276drivers/sound/mpu401.cdevc->last_status = midic;
devc279drivers/sound/mpu401.cdevc->m_left = len_tab[msg];
devc281drivers/sound/mpu401.cdevc->m_ptr = 1;
devc282drivers/sound/mpu401.cdevc->m_buf[0] = midic;
devc284drivers/sound/mpu401.cif (devc->m_left <= 0)
devc286drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc287drivers/sound/mpu401.cdo_midi_msg (devc->synthno, devc->m_buf, devc->m_ptr);
devc288drivers/sound/mpu401.cdevc->m_ptr = 0;
devc299drivers/sound/mpu401.cdevc->m_state = ST_SYSEX;
devc303drivers/sound/mpu401.cdevc->m_state = ST_MTC;
devc307drivers/sound/mpu401.cdevc->m_state = ST_SONGPOS;
devc308drivers/sound/mpu401.cdevc->m_ptr = 0;
devc312drivers/sound/mpu401.cdevc->m_state = ST_SONGSEL;
devc317drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc324drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc325drivers/sound/mpu401.ctimer_ext_event (devc, TMR_CLOCK, 0);
devc329drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc330drivers/sound/mpu401.ctimer_ext_event (devc, TMR_START, 0);
devc334drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc335drivers/sound/mpu401.ctimer_ext_event (devc, TMR_CONTINUE, 0);
devc339drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc340drivers/sound/mpu401.ctimer_ext_event (devc, TMR_STOP, 0);
devc345drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc350drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc355drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc360drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc368drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc375drivers/sound/mpu401.cBUFTEST (devc);
devc376drivers/sound/mpu401.cdevc->m_buf[devc->m_ptr++] = midic;
devc377drivers/sound/mpu401.cif (devc->m_ptr == 2)
devc379drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc380drivers/sound/mpu401.cdevc->m_ptr = 0;
devc381drivers/sound/mpu401.ctimer_ext_event (devc, TMR_SPP,
devc382drivers/sound/mpu401.c((devc->m_buf[1] & 0x7f) << 7) |
devc383drivers/sound/mpu401.c(devc->m_buf[0] & 0x7f));
devc388drivers/sound/mpu401.cBUFTEST (devc);
devc389drivers/sound/mpu401.cdevc->m_buf[devc->m_ptr++] = midic;
devc390drivers/sound/mpu401.cif ((--devc->m_left) <= 0)
devc392drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc393drivers/sound/mpu401.cdo_midi_msg (devc->synthno, devc->m_buf, devc->m_ptr);
devc394drivers/sound/mpu401.cdevc->m_ptr = 0;
devc399drivers/sound/mpu401.cprintk ("Bad state %d ", devc->m_state);
devc400drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc407drivers/sound/mpu401.cmpu401_input_loop (struct mpu_config *devc)
devc415drivers/sound/mpu401.cbusy = devc->m_busy;
devc416drivers/sound/mpu401.cdevc->m_busy = 1;
devc424drivers/sound/mpu401.cwhile (input_avail (devc) && n-- > 0)
devc426drivers/sound/mpu401.cunsigned char   c = read_data (devc);
devc428drivers/sound/mpu401.cif (devc->mode == MODE_SYNTH)
devc430drivers/sound/mpu401.cmpu_input_scanner (devc, c);
devc432drivers/sound/mpu401.celse if (devc->opened & OPEN_READ && devc->inputintr != NULL)
devc433drivers/sound/mpu401.cdevc->inputintr (devc->devno, c);
devc436drivers/sound/mpu401.cdevc->m_busy = 0;
devc442drivers/sound/mpu401.cstruct mpu_config *devc;
devc472drivers/sound/mpu401.cdevc = &dev_conf[dev];
devc475drivers/sound/mpu401.cdevc = &dev_conf[dev];
devc477drivers/sound/mpu401.cif (input_avail (devc))
devc478drivers/sound/mpu401.cif (devc->base != 0 && (devc->opened & OPEN_READ || devc->mode == MODE_SYNTH))
devc479drivers/sound/mpu401.cmpu401_input_loop (devc);
devc483drivers/sound/mpu401.cread_data (devc);
devc495drivers/sound/mpu401.cstruct mpu_config *devc;
devc500drivers/sound/mpu401.cdevc = &dev_conf[dev];
devc502drivers/sound/mpu401.cif (devc->opened)
devc515drivers/sound/mpu401.cif (!devc->initialized)
devc517drivers/sound/mpu401.cif (mpu401_status (devc) == 0xff)    /* Bus float */
devc522drivers/sound/mpu401.creset_mpu401 (devc);
devc525drivers/sound/mpu401.cirq2dev[devc->irq] = dev;
devc529drivers/sound/mpu401.copen (midi_devs[dev]->coproc->devc, COPR_MIDI)) < 0)
devc536drivers/sound/mpu401.cset_uart_mode (dev, devc, 1);
devc537drivers/sound/mpu401.cdevc->mode = MODE_MIDI;
devc538drivers/sound/mpu401.cdevc->synthno = 0;
devc540drivers/sound/mpu401.cmpu401_input_loop (devc);
devc542drivers/sound/mpu401.cdevc->inputintr = input;
devc543drivers/sound/mpu401.cdevc->opened = mode;
devc551drivers/sound/mpu401.cstruct mpu_config *devc;
devc553drivers/sound/mpu401.cdevc = &dev_conf[dev];
devc555drivers/sound/mpu401.cif (devc->uart_mode)
devc556drivers/sound/mpu401.creset_mpu401 (devc);  /*
devc559drivers/sound/mpu401.cdevc->mode = 0;
devc561drivers/sound/mpu401.cdevc->inputintr = NULL;
devc564drivers/sound/mpu401.cmidi_devs[dev]->coproc->close (midi_devs[dev]->coproc->devc, COPR_MIDI);
devc565drivers/sound/mpu401.cdevc->opened = 0;
devc574drivers/sound/mpu401.cstruct mpu_config *devc;
devc576drivers/sound/mpu401.cdevc = &dev_conf[dev];
devc583drivers/sound/mpu401.cfor (timeout = 3000; timeout > 0 && !output_ready (devc); timeout--);
devc587drivers/sound/mpu401.cif (!output_ready (devc))
devc594drivers/sound/mpu401.cwrite_data (devc, midi_byte);
devc605drivers/sound/mpu401.cstruct mpu_config *devc;
devc607drivers/sound/mpu401.cdevc = &dev_conf[dev];
devc609drivers/sound/mpu401.cif (devc->uart_mode)    /*
devc620drivers/sound/mpu401.cif (input_avail (devc))
devc621drivers/sound/mpu401.cmpu401_input_loop (devc);
devc639drivers/sound/mpu401.cif (!output_ready (devc))
devc645drivers/sound/mpu401.cwrite_command (devc, cmd->cmd);
devc648drivers/sound/mpu401.cif (input_avail (devc))
devc649drivers/sound/mpu401.cif (devc->opened && devc->mode == MODE_SYNTH)
devc651drivers/sound/mpu401.cif (mpu_input_scanner (devc, read_data (devc)) == MPU_ACK)
devc656drivers/sound/mpu401.cif (read_data (devc) == MPU_ACK)
devc670drivers/sound/mpu401.cfor (timeout = 3000; timeout > 0 && !output_ready (devc); timeout--);
devc688drivers/sound/mpu401.cif (input_avail (devc))
devc690drivers/sound/mpu401.ccmd->data[i] = read_data (devc);
devc729drivers/sound/mpu401.cstruct mpu_config *devc = &dev_conf[dev];
devc731drivers/sound/mpu401.cif (devc->uart_mode)
devc776drivers/sound/mpu401.cstruct mpu_config *devc;
devc778drivers/sound/mpu401.cdevc = &dev_conf[dev];
devc788drivers/sound/mpu401.cif (!(devc->capabilities & MPU_CAP_INTLG))  /* No intelligent mode */
devc793drivers/sound/mpu401.cset_uart_mode (dev, devc, !get_fs_long ((long *) arg));
devc835drivers/sound/mpu401.cstruct mpu_config *devc;
devc842drivers/sound/mpu401.cdevc = &dev_conf[midi_dev];
devc866drivers/sound/mpu401.cstruct mpu_config *devc;
devc875drivers/sound/mpu401.cdevc = &dev_conf[midi_dev];
devc884drivers/sound/mpu401.cif (!devc->initialized)
devc886drivers/sound/mpu401.cif (mpu401_status (devc) == 0xff)    /* Bus float */
devc891drivers/sound/mpu401.creset_mpu401 (devc);
devc894drivers/sound/mpu401.cif (devc->opened)
devc900drivers/sound/mpu401.cdevc->mode = MODE_SYNTH;
devc901drivers/sound/mpu401.cdevc->synthno = dev;
devc903drivers/sound/mpu401.cdevc->inputintr = NULL;
devc904drivers/sound/mpu401.cirq2dev[devc->irq] = midi_dev;
devc908drivers/sound/mpu401.copen (midi_devs[midi_dev]->coproc->devc, COPR_MIDI)) < 0)
devc915drivers/sound/mpu401.cdevc->opened = mode;
devc916drivers/sound/mpu401.creset_mpu401 (devc);
devc931drivers/sound/mpu401.cstruct mpu_config *devc;
devc935drivers/sound/mpu401.cdevc = &dev_conf[midi_dev];
devc939drivers/sound/mpu401.cdevc->inputintr = NULL;
devc942drivers/sound/mpu401.cmidi_devs[midi_dev]->coproc->close (midi_devs[midi_dev]->coproc->devc, COPR_MIDI);
devc943drivers/sound/mpu401.cdevc->opened = 0;
devc944drivers/sound/mpu401.cdevc->mode = 0;
devc999drivers/sound/mpu401.cmpu401_chk_version (struct mpu_config *devc)
devc1003drivers/sound/mpu401.cdevc->version = devc->revision = 0;
devc1011drivers/sound/mpu401.cdevc->version = tmp;
devc1015drivers/sound/mpu401.cdevc->version = 0;
devc1018drivers/sound/mpu401.cdevc->revision = tmp;
devc1027drivers/sound/mpu401.cstruct mpu_config *devc;
devc1035drivers/sound/mpu401.cdevc = &dev_conf[num_midis];
devc1037drivers/sound/mpu401.cdevc->base = hw_config->io_base;
devc1038drivers/sound/mpu401.cdevc->osp = hw_config->osp;
devc1039drivers/sound/mpu401.cdevc->irq = hw_config->irq;
devc1040drivers/sound/mpu401.cdevc->opened = 0;
devc1041drivers/sound/mpu401.cdevc->uart_mode = 0;
devc1042drivers/sound/mpu401.cdevc->initialized = 0;
devc1043drivers/sound/mpu401.cdevc->version = 0;
devc1044drivers/sound/mpu401.cdevc->revision = 0;
devc1045drivers/sound/mpu401.cdevc->capabilities = 0;
devc1046drivers/sound/mpu401.cdevc->timer_flag = 0;
devc1047drivers/sound/mpu401.cdevc->m_busy = 0;
devc1048drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc1049drivers/sound/mpu401.cdevc->shared_irq = hw_config->always_detect;
devc1050drivers/sound/mpu401.cdevc->irq = hw_config->irq;
devc1052drivers/sound/mpu401.cif (devc->irq < 0)
devc1054drivers/sound/mpu401.cdevc->irq *= -1;
devc1055drivers/sound/mpu401.cdevc->shared_irq = 1;
devc1057drivers/sound/mpu401.cirq2dev[devc->irq] = num_midis;
devc1062drivers/sound/mpu401.cif (!reset_mpu401 (devc))
devc1065drivers/sound/mpu401.cif (!devc->shared_irq)
devc1066drivers/sound/mpu401.cif (snd_set_irq_handler (devc->irq, mpuintr, "mpu401", devc->osp) < 0)
devc1073drivers/sound/mpu401.cmpu401_chk_version (devc);
devc1074drivers/sound/mpu401.cif (devc->version == 0)
devc1075drivers/sound/mpu401.cmpu401_chk_version (devc);
devc1081drivers/sound/mpu401.cif (devc->version != 0)
devc1084drivers/sound/mpu401.cdevc->capabilities |= MPU_CAP_INTLG;  /* Supports intelligent mode */
devc1098drivers/sound/mpu401.cif (!(devc->capabilities & MPU_CAP_INTLG))  /* No intelligent mode */
devc1124drivers/sound/mpu401.cif (devc->version == 0x20 && devc->revision >= 0x07)  /* MusicQuest interface */
devc1126drivers/sound/mpu401.cint             ports = (devc->revision & 0x08) ? 32 : 16;
devc1128drivers/sound/mpu401.cdevc->capabilities |= MPU_CAP_SYNC | MPU_CAP_SMPTE |
devc1131drivers/sound/mpu401.crevision_char = (devc->revision == 0x7f) ? 'M' : ' ';
devc1144drivers/sound/mpu401.crevision_char = devc->revision ? devc->revision + '@' : ' ';
devc1145drivers/sound/mpu401.cif ((int) devc->revision > ('Z' - '@'))
devc1148drivers/sound/mpu401.cdevc->capabilities |= MPU_CAP_SYNC | MPU_CAP_FSK;
devc1151drivers/sound/mpu401.c(int) (devc->version & 0xf0) >> 4,
devc1152drivers/sound/mpu401.cdevc->version & 0x0f,
devc1156drivers/sound/mpu401.c(int) (devc->version & 0xf0) >> 4,
devc1157drivers/sound/mpu401.cdevc->version & 0x0f,
devc1165drivers/sound/mpu401.cmpu401_synth_operations[num_midis]->midi_dev = devc->devno = num_midis;
devc1166drivers/sound/mpu401.cmpu401_synth_operations[devc->devno]->info =
devc1167drivers/sound/mpu401.c&mpu_synth_info[devc->devno];
devc1169drivers/sound/mpu401.cif (devc->capabilities & MPU_CAP_INTLG)  /* Intelligent mode */
devc1172drivers/sound/mpu401.cirq2dev[devc->irq] = num_midis;
devc1173drivers/sound/mpu401.cmidi_devs[num_midis++] = &mpu401_midi_operations[devc->devno];
devc1178drivers/sound/mpu401.creset_mpu401 (struct mpu_config *devc)
devc1191drivers/sound/mpu401.ctimeout_limit = devc->initialized ? 30000 : 100000;
devc1192drivers/sound/mpu401.cdevc->initialized = 1;
devc1197drivers/sound/mpu401.cok = output_ready (devc);
devc1199drivers/sound/mpu401.cwrite_command (devc, MPU_RESET);  /*
devc1212drivers/sound/mpu401.cif (input_avail (devc))
devc1213drivers/sound/mpu401.cif (read_data (devc) == MPU_ACK)
devc1220drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc1221drivers/sound/mpu401.cdevc->m_ptr = 0;
devc1222drivers/sound/mpu401.cdevc->m_left = 0;
devc1223drivers/sound/mpu401.cdevc->last_status = 0;
devc1224drivers/sound/mpu401.cdevc->uart_mode = 0;
devc1230drivers/sound/mpu401.cset_uart_mode (int dev, struct mpu_config *devc, int arg)
devc1232drivers/sound/mpu401.cif (!arg && (devc->capabilities & MPU_CAP_INTLG))
devc1237drivers/sound/mpu401.cif ((devc->uart_mode == 0) == (arg == 0))
devc1242drivers/sound/mpu401.creset_mpu401 (devc);    /* This exits the uart mode */
devc1248drivers/sound/mpu401.cprintk ("MPU%d: Can't enter UART mode\n", devc->devno);
devc1249drivers/sound/mpu401.cdevc->uart_mode = 0;
devc1253drivers/sound/mpu401.cdevc->uart_mode = arg;
devc1723drivers/sound/mpu401.ctimer_ext_event (struct mpu_config *devc, int event, int parm)
devc1725drivers/sound/mpu401.cint             midi_dev = devc->devno;
devc1727drivers/sound/mpu401.cif (!devc->timer_flag)
devc1781drivers/sound/mpu401.cstruct mpu_config *devc;
devc1784drivers/sound/mpu401.cdevc = &dev_conf[midi_dev];
devc1800drivers/sound/mpu401.cif (devc->version < 0x20)  /* Original MPU-401 */
devc1812drivers/sound/mpu401.cif (devc->revision)
devc1815drivers/sound/mpu401.cif (devc->revision & 0x02)
devc1819drivers/sound/mpu401.cif (devc->revision & 0x40)
devc81drivers/sound/opl3.cstatic struct opl_devinfo *devc = NULL;
devc104drivers/sound/opl3.cdevc->cmask = 0x3f;    /* Connect all possible 4 OP voice operators */
devc105drivers/sound/opl3.copl3_command (devc->right_io, CONNECTION_SELECT_REGISTER, 0x3f);
devc118drivers/sound/opl3.cdevc->lv_map[i] = v4op[i];
devc119drivers/sound/opl3.cdevc->v_alloc->max_voice = devc->nr_voice = 12;
devc147drivers/sound/opl3.cdevc->fm_info.nr_voices = (devc->nr_voice == 12) ? 6 : devc->nr_voice;
devc149drivers/sound/opl3.cmemcpy_tofs ((&((char *) arg)[0]), &devc->fm_info, sizeof (devc->fm_info));
devc158drivers/sound/opl3.cif (devc->model == 2)
devc186drivers/sound/opl3.cif (devc != NULL)
devc190drivers/sound/opl3.cdevc = (struct opl_devinfo *) (sound_mem_blocks[sound_num_blocks] = kmalloc (sizeof (*devc), GFP_KERNEL));
devc194drivers/sound/opl3.cif (devc == NULL)
devc200drivers/sound/opl3.cdevc->osp = osp;
devc323drivers/sound/opl3.cif (voice < 0 || voice >= devc->nr_voice)
devc326drivers/sound/opl3.cdevc->v_alloc->map[voice] = 0;
devc328drivers/sound/opl3.cmap = &pv_map[devc->lv_map[voice]];
devc335drivers/sound/opl3.copl3_command (map->ioaddr, KEYON_BLOCK + map->voice_num, devc->voc[voice].keyon_byte & ~0x20);
devc337drivers/sound/opl3.cdevc->voc[voice].keyon_byte = 0;
devc338drivers/sound/opl3.cdevc->voc[voice].bender = 0;
devc339drivers/sound/opl3.cdevc->voc[voice].volume = 64;
devc340drivers/sound/opl3.cdevc->voc[voice].bender_range = 200;  /*
devc343drivers/sound/opl3.cdevc->voc[voice].orig_freq = 0;
devc344drivers/sound/opl3.cdevc->voc[voice].current_freq = 0;
devc345drivers/sound/opl3.cdevc->voc[voice].mode = 0;
devc362drivers/sound/opl3.cif (instr->key != FM_PATCH && (instr->key != OPL3_PATCH || devc->model != 2))
devc364drivers/sound/opl3.cmemcpy ((char *) &(devc->i_map[instr_no]), (char *) instr, sizeof (*instr));
devc372drivers/sound/opl3.cif (voice < 0 || voice >= devc->nr_voice)
devc378drivers/sound/opl3.cdevc->act_i[voice] = &devc->i_map[instr_no];
devc437drivers/sound/opl3.cif (voice < 0 || voice >= devc->nr_voice)
devc440drivers/sound/opl3.cmap = &pv_map[devc->lv_map[voice]];
devc442drivers/sound/opl3.cinstr = devc->act_i[voice];
devc445drivers/sound/opl3.cinstr = &devc->i_map[0];
devc450drivers/sound/opl3.cif (devc->voc[voice].mode == 0)
devc453drivers/sound/opl3.cif (devc->voc[voice].mode == 2)
devc530drivers/sound/opl3.cif (voice < 0 || voice >= devc->nr_voice)
devc533drivers/sound/opl3.cmap = &pv_map[devc->lv_map[voice]];
devc542drivers/sound/opl3.cset_voice_volume (voice, volume, devc->voc[voice].volume);
devc570drivers/sound/opl3.cinstr = devc->act_i[voice];
devc573drivers/sound/opl3.cinstr = &devc->i_map[0];
devc594drivers/sound/opl3.cvoice_shift = (map->ioaddr == devc->left_io) ? 0 : 3;
devc602drivers/sound/opl3.cdevc->cmask &= ~(1 << voice_shift);
devc606drivers/sound/opl3.cdevc->cmask |= (1 << voice_shift);
devc609drivers/sound/opl3.copl3_command (devc->right_io, CONNECTION_SELECT_REGISTER, devc->cmask);
devc689drivers/sound/opl3.cdevc->voc[voice].mode = voice_mode;
devc691drivers/sound/opl3.cset_voice_volume (voice, volume, devc->voc[voice].volume);
devc693drivers/sound/opl3.cfreq = devc->voc[voice].orig_freq = note_to_freq (note) / 1000;
devc700drivers/sound/opl3.cfreq = compute_finetune (devc->voc[voice].orig_freq, devc->voc[voice].bender, devc->voc[voice].bender_range);
devc701drivers/sound/opl3.cdevc->voc[voice].current_freq = freq;
devc715drivers/sound/opl3.cdevc->voc[voice].keyon_byte = data;
devc777drivers/sound/opl3.cif (!devc->model != 2)
devc785drivers/sound/opl3.cif (devc->model != 2)
devc802drivers/sound/opl3.cdevc->lv_map[i] = i;
devc804drivers/sound/opl3.cfor (i = 0; i < devc->nr_voice; i++)
devc806drivers/sound/opl3.copl3_command (pv_map[devc->lv_map[i]].ioaddr,
devc807drivers/sound/opl3.cKSL_LEVEL + pv_map[devc->lv_map[i]].op[0], 0xff);
devc809drivers/sound/opl3.copl3_command (pv_map[devc->lv_map[i]].ioaddr,
devc810drivers/sound/opl3.cKSL_LEVEL + pv_map[devc->lv_map[i]].op[1], 0xff);
devc812drivers/sound/opl3.cif (pv_map[devc->lv_map[i]].voice_mode == 4)
devc814drivers/sound/opl3.copl3_command (pv_map[devc->lv_map[i]].ioaddr,
devc815drivers/sound/opl3.cKSL_LEVEL + pv_map[devc->lv_map[i]].op[2], 0xff);
devc817drivers/sound/opl3.copl3_command (pv_map[devc->lv_map[i]].ioaddr,
devc818drivers/sound/opl3.cKSL_LEVEL + pv_map[devc->lv_map[i]].op[3], 0xff);
devc824drivers/sound/opl3.cif (devc->model == 2)
devc826drivers/sound/opl3.cdevc->v_alloc->max_voice = devc->nr_voice = 18;
devc840drivers/sound/opl3.cif (devc->busy)
devc842drivers/sound/opl3.cdevc->busy = 1;
devc844drivers/sound/opl3.cdevc->v_alloc->max_voice = devc->nr_voice = (devc->model == 2) ? 18 : 9;
devc845drivers/sound/opl3.cdevc->v_alloc->timestamp = 0;
devc849drivers/sound/opl3.cdevc->v_alloc->map[i] = 0;
devc850drivers/sound/opl3.cdevc->v_alloc->alloc_times[i] = 0;
devc853drivers/sound/opl3.cdevc->cmask = 0x00;    /*
devc856drivers/sound/opl3.cif (devc->model == 2)
devc857drivers/sound/opl3.copl3_command (devc->right_io, CONNECTION_SELECT_REGISTER, devc->cmask);
devc864drivers/sound/opl3.cdevc->busy = 0;
devc865drivers/sound/opl3.cdevc->v_alloc->max_voice = devc->nr_voice = (devc->model == 2) ? 18 : 9;
devc867drivers/sound/opl3.cdevc->fm_info.nr_drums = 0;
devc868drivers/sound/opl3.cdevc->fm_info.perc_mode = 0;
devc925drivers/sound/opl3.cif (voice < 0 || voice >= devc->nr_voice)
devc928drivers/sound/opl3.cmap = &pv_map[devc->lv_map[voice]];
devc939drivers/sound/opl3.cinstr = devc->act_i[voice];
devc942drivers/sound/opl3.cinstr = &devc->i_map[0];
devc944drivers/sound/opl3.cif (devc->voc[voice].mode == 4)
devc995drivers/sound/opl3.cmap = &pv_map[devc->lv_map[voice]];
devc1000drivers/sound/opl3.cdevc->voc[voice].bender = value;
devc1003drivers/sound/opl3.cif (!(devc->voc[voice].keyon_byte & 0x20))
devc1008drivers/sound/opl3.cfreq = compute_finetune (devc->voc[voice].orig_freq, devc->voc[voice].bender, devc->voc[voice].bender_range);
devc1009drivers/sound/opl3.cdevc->voc[voice].current_freq = freq;
devc1026drivers/sound/opl3.cdevc->voc[voice].keyon_byte = data;
devc1033drivers/sound/opl3.cif (voice < 0 || voice >= devc->nr_voice)
devc1043drivers/sound/opl3.cdevc->voc[voice].bender_range = value;
devc1047drivers/sound/opl3.cdevc->voc[voice].volume = value / 128;
devc1061drivers/sound/opl3.cif (voice < 0 || voice >= devc->nr_voice)
devc1078drivers/sound/opl3.cinstr_no = devc->chn_info[chn].pgm_num;
devc1080drivers/sound/opl3.cinstr = &devc->i_map[instr_no];
devc1082drivers/sound/opl3.cdevc->nr_voice != 12)  /* Not in 4 OP mode */
devc1084drivers/sound/opl3.celse if (devc->nr_voice == 12)  /* 4 OP mode */
devc1096drivers/sound/opl3.cif (devc->nr_voice == 12)  /* 4 OP mode. Use the '2 OP only' operators first */
devc1100drivers/sound/opl3.cavail = devc->nr_voice;
devc1128drivers/sound/opl3.cif (best > devc->nr_voice)
devc1129drivers/sound/opl3.cbest -= devc->nr_voice;
devc1143drivers/sound/opl3.cdevc->voc[voice].bender = info->bender_value;
devc1144drivers/sound/opl3.cdevc->voc[voice].volume =
devc1184drivers/sound/opl3.cif (devc == NULL)
devc1190drivers/sound/opl3.cmemset ((char *) devc, 0x00, sizeof (*devc));
devc1191drivers/sound/opl3.cdevc->osp = osp;
devc1193drivers/sound/opl3.cdevc->nr_voice = 9;
devc1194drivers/sound/opl3.cstrcpy (devc->fm_info.name, "OPL2-");
devc1196drivers/sound/opl3.cdevc->fm_info.device = 0;
devc1197drivers/sound/opl3.cdevc->fm_info.synth_type = SYNTH_TYPE_FM;
devc1198drivers/sound/opl3.cdevc->fm_info.synth_subtype = FM_TYPE_ADLIB;
devc1199drivers/sound/opl3.cdevc->fm_info.perc_mode = 0;
devc1200drivers/sound/opl3.cdevc->fm_info.nr_voices = 9;
devc1201drivers/sound/opl3.cdevc->fm_info.nr_drums = 0;
devc1202drivers/sound/opl3.cdevc->fm_info.instr_bank_size = SBFM_MAXINSTR;
devc1203drivers/sound/opl3.cdevc->fm_info.capabilities = 0;
devc1204drivers/sound/opl3.cdevc->left_io = ioaddr;
devc1205drivers/sound/opl3.cdevc->right_io = ioaddr + 2;
devc1208drivers/sound/opl3.cdevc->model = 1;
devc1211drivers/sound/opl3.cdevc->model = 2;
devc1213drivers/sound/opl3.cdevc->is_opl4 = 1;
devc1216drivers/sound/opl3.copl3_operations.info = &devc->fm_info;
devc1219drivers/sound/opl3.cdevc->v_alloc = &opl3_operations.alloc;
devc1220drivers/sound/opl3.cdevc->chn_info = &opl3_operations.chn_info[0];
devc1222drivers/sound/opl3.cif (devc->model == 2)
devc1224drivers/sound/opl3.cif (devc->is_opl4)
devc1229drivers/sound/opl3.cdevc->v_alloc->max_voice = devc->nr_voice = 18;
devc1230drivers/sound/opl3.cdevc->fm_info.nr_drums = 0;
devc1231drivers/sound/opl3.cdevc->fm_info.capabilities |= SYNTH_CAP_OPL3;
devc1232drivers/sound/opl3.cstrcpy (devc->fm_info.name, "Yamaha OPL-3");
devc1236drivers/sound/opl3.cpv_map[i].ioaddr = devc->left_io;
devc1238drivers/sound/opl3.cpv_map[i].ioaddr = devc->right_io;
devc1240drivers/sound/opl3.copl3_command (devc->right_io, OPL3_MODE_REGISTER, OPL3_ENABLE);
devc1241drivers/sound/opl3.copl3_command (devc->right_io, CONNECTION_SELECT_REGISTER, 0x00);
devc1246drivers/sound/opl3.cdevc->v_alloc->max_voice = devc->nr_voice = 9;
devc1247drivers/sound/opl3.cdevc->fm_info.nr_drums = 0;
devc1250drivers/sound/opl3.cpv_map[i].ioaddr = devc->left_io;
devc1254drivers/sound/opl3.cdevc->i_map[i].channel = -1;
devc37drivers/sound/pss.c#define REG(x)  (devc->base+x)
devc86drivers/sound/pss.cstatic pss_config *devc = &pss_data;
devc97drivers/sound/pss.cdevc->base = hw_config->io_base;
devc98drivers/sound/pss.cirq = devc->irq = hw_config->irq;
devc99drivers/sound/pss.cdma = devc->dma = hw_config->dma;
devc100drivers/sound/pss.cdevc->osp = hw_config->osp;
devc102drivers/sound/pss.cif (devc->base != 0x220 && devc->base != 0x240)
devc103drivers/sound/pss.cif (devc->base != 0x230 && devc->base != 0x250)  /* Some cards use these */
devc106drivers/sound/pss.cif (check_region (devc->base, 16))
devc130drivers/sound/pss.cset_irq (pss_config * devc, int dev, int irq)
devc158drivers/sound/pss.cset_io_base (pss_config * devc, int dev, int base)
devc169drivers/sound/pss.cset_dma (pss_config * devc, int dev, int dma)
devc195drivers/sound/pss.cpss_reset_dsp (pss_config * devc)
devc210drivers/sound/pss.cpss_put_dspword (pss_config * devc, unsigned short word)
devc227drivers/sound/pss.cpss_get_dspword (pss_config * devc, unsigned short *word)
devc245drivers/sound/pss.cpss_download_boot (pss_config * devc, unsigned char *block, int size, int flags)
devc262drivers/sound/pss.cpss_reset_dsp (devc);
devc333drivers/sound/pss.cdevc->base = hw_config->io_base;
devc334drivers/sound/pss.cdevc->irq = hw_config->irq;
devc335drivers/sound/pss.cdevc->dma = hw_config->dma;
devc336drivers/sound/pss.cdevc->osp = hw_config->osp;
devc359drivers/sound/pss.cif (!set_irq (devc, CONF_PSS, devc->irq))
devc365drivers/sound/pss.cif (!set_dma (devc, CONF_PSS, devc->dma))
devc392drivers/sound/pss.cif (!set_io_base (devc, CONF_MIDI, hw_config->io_base))
devc398drivers/sound/pss.cif (!set_irq (devc, CONF_MIDI, hw_config->irq))
devc410drivers/sound/pss.cif (!pss_download_boot (devc, pss_synth, pss_synthLen, CPF_FIRST | CPF_LAST))
devc450drivers/sound/pss.cif (!pss_download_boot (devc, pss_synth, pss_synthLen, CPF_FIRST | CPF_LAST))
devc473drivers/sound/pss.cif (!pss_download_boot (devc, pss_synth, pss_synthLen, CPF_FIRST | CPF_LAST))
devc486drivers/sound/pss.cif (!pss_download_boot (devc, buf->data, buf->len, buf->flags))
devc534drivers/sound/pss.cif (!pss_put_dspword (devc, 0x00d0))
devc540drivers/sound/pss.cif (!pss_put_dspword (devc, (unsigned short) (buf.parm1 & 0xffff)))
devc546drivers/sound/pss.cif (!pss_get_dspword (devc, &tmp))
devc570drivers/sound/pss.cif (!pss_put_dspword (devc, 0x00d1))
devc576drivers/sound/pss.cif (!pss_put_dspword (devc, (unsigned short) (buf.parm1 & 0xffff)))
devc583drivers/sound/pss.cif (!pss_put_dspword (devc, tmp))
devc604drivers/sound/pss.cif (!pss_put_dspword (devc, 0x00d3))
devc610drivers/sound/pss.cif (!pss_put_dspword (devc, (unsigned short) (buf.parm1 & 0xffff)))
devc617drivers/sound/pss.cif (!pss_put_dspword (devc, tmp))
devc624drivers/sound/pss.cif (!pss_put_dspword (devc, tmp))
devc645drivers/sound/pss.cif (!pss_put_dspword (devc, 0x00d2))
devc651drivers/sound/pss.cif (!pss_put_dspword (devc, (unsigned short) (buf.parm1 & 0xffff)))
devc657drivers/sound/pss.cif (!pss_get_dspword (devc, &tmp))  /* Read msb */
devc665drivers/sound/pss.cif (!pss_get_dspword (devc, &tmp))  /* Read lsb */
devc727drivers/sound/pss.cif (!set_io_base (devc, CONF_WSS, hw_config->io_base))
devc733drivers/sound/pss.cif (!set_irq (devc, CONF_WSS, hw_config->irq))
devc739drivers/sound/pss.cif (!set_dma (devc, CONF_WSS, hw_config->dma))
devc68drivers/sound/sscape.c#define PORT(name)  (devc->base+name)
devc103drivers/sound/sscape.cstatic struct sscape_info *devc = &dev_info;
devc127drivers/sound/sscape.csscape_read (struct sscape_info *devc, int reg)
devc141drivers/sound/sscape.csscape_write (struct sscape_info *devc, int reg, int data)
devc153drivers/sound/sscape.chost_open (struct sscape_info *devc)
devc159drivers/sound/sscape.chost_close (struct sscape_info *devc)
devc165drivers/sound/sscape.chost_write (struct sscape_info *devc, unsigned char *data, int count)
devc199drivers/sound/sscape.chost_read (struct sscape_info *devc)
devc230drivers/sound/sscape.chost_command1 (struct sscape_info *devc, int cmd)
devc236drivers/sound/sscape.creturn host_write (devc, buf, 1);
devc240drivers/sound/sscape.chost_command2 (struct sscape_info *devc, int cmd, int parm1)
devc247drivers/sound/sscape.creturn host_write (devc, buf, 2);
devc251drivers/sound/sscape.chost_command3 (struct sscape_info *devc, int cmd, int parm1, int parm2)
devc259drivers/sound/sscape.creturn host_write (devc, buf, 3);
devc263drivers/sound/sscape.cset_mt32 (struct sscape_info *devc, int value)
devc265drivers/sound/sscape.chost_open (devc);
devc266drivers/sound/sscape.chost_command2 (devc, CMD_SET_MT32,
devc268drivers/sound/sscape.cif (host_read (devc) != CMD_ACK)
devc272drivers/sound/sscape.chost_close (devc);
devc276drivers/sound/sscape.cset_control (struct sscape_info *devc, int ctrl, int value)
devc278drivers/sound/sscape.chost_open (devc);
devc279drivers/sound/sscape.chost_command3 (devc, CMD_SET_CONTROL, ctrl, value);
devc280drivers/sound/sscape.cif (host_read (devc) != CMD_ACK)
devc284drivers/sound/sscape.chost_close (devc);
devc288drivers/sound/sscape.cget_board_type (struct sscape_info *devc)
devc292drivers/sound/sscape.chost_open (devc);
devc293drivers/sound/sscape.cif (!host_command1 (devc, CMD_GET_BOARD_TYPE))
devc296drivers/sound/sscape.ctmp = host_read (devc);
devc297drivers/sound/sscape.chost_close (devc);
devc307drivers/sound/sscape.cprintk ("sscapeintr(0x%02x)\n", (bits = sscape_read (devc, GA_INTSTAT_REG)));
devc318drivers/sound/sscape.cprintk ("SSCAPE: Host interrupt, data=%02x\n", host_read (devc));
devc327drivers/sound/sscape.csscape_write (devc, GA_INTENA_REG, 0x00);  /* Disable all interrupts */
devc336drivers/sound/sscape.ctmp = sscape_read (devc, GA_INTENA_REG);
devc337drivers/sound/sscape.csscape_write (devc, GA_INTENA_REG, (~bits & 0x0e) | (tmp & 0xf1));
devc342drivers/sound/sscape.csscape_enable_intr (struct sscape_info *devc, unsigned intr_bits)
devc346drivers/sound/sscape.ctemp = orig = sscape_read (devc, GA_INTENA_REG);
devc353drivers/sound/sscape.csscape_write (devc, GA_INTENA_REG, temp);
devc357drivers/sound/sscape.csscape_disable_intr (struct sscape_info *devc, unsigned intr_bits)
devc361drivers/sound/sscape.ctemp = orig = sscape_read (devc, GA_INTENA_REG);
devc368drivers/sound/sscape.csscape_write (devc, GA_INTENA_REG, temp);
devc372drivers/sound/sscape.cdo_dma (struct sscape_info *devc, int dma_chan, unsigned long buf, int blk_size, int mode)
devc382drivers/sound/sscape.cDMAbuf_start_dma (devc->my_audiodev,
devc386drivers/sound/sscape.ctemp = devc->dma << 4;  /* Setup DMA channel select bits */
devc387drivers/sound/sscape.cif (devc->dma <= 3)
devc391drivers/sound/sscape.csscape_write (devc, GA_DMAA_REG, temp);
devc393drivers/sound/sscape.csscape_write (devc, GA_DMAA_REG, temp);
devc397drivers/sound/sscape.cverify_mpu (struct sscape_info *devc)
devc413drivers/sound/sscape.cif (inb (devc->base + HOST_CTRL) & 0x80)
devc416drivers/sound/sscape.cif (inb (devc->base) != 0x00)
devc429drivers/sound/sscape.cset_mt32 (devc, 0);
devc430drivers/sound/sscape.cif (!verify_mpu (devc))
devc440drivers/sound/sscape.cstruct sscape_info *devc = dev_info;
devc445drivers/sound/sscape.cif (devc->dma_allocated)
devc447drivers/sound/sscape.csscape_write (devc, GA_DMAA_REG, 0x20);  /* DMA channel disabled */
devc450drivers/sound/sscape.cdevc->dma_allocated = 0;
devc464drivers/sound/sscape.csscape_download_boot (struct sscape_info *devc, unsigned char *block, int size, int flag)
devc479drivers/sound/sscape.cif (devc->dma_allocated == 0)
devc484drivers/sound/sscape.cdevc->dma_allocated = 1;
devc488drivers/sound/sscape.csscape_write (devc, GA_HMCTL_REG,
devc489drivers/sound/sscape.c(temp = sscape_read (devc, GA_HMCTL_REG)) & 0x3f);  /*Reset */
devc492drivers/sound/sscape.csscape_read (devc, GA_HMCTL_REG);  /* Delay */
devc495drivers/sound/sscape.csscape_write (devc, GA_HMCTL_REG,
devc496drivers/sound/sscape.c(temp = sscape_read (devc, GA_HMCTL_REG)) | 0x80);
devc502drivers/sound/sscape.cmemcpy (audio_devs[devc->my_audiodev]->dmap_out->raw_buf, block, size);
devc507drivers/sound/sscape.cdo_dma (devc, SSCAPE_DMA_A,
devc508drivers/sound/sscape.caudio_devs[devc->my_audiodev]->dmap_out->raw_buf_phys,
devc538drivers/sound/sscape.cclear_dma_ff (devc->dma);
devc539drivers/sound/sscape.cif ((resid = get_dma_residue (devc->dma)) == 0)
devc555drivers/sound/sscape.ctemp = sscape_read (devc, GA_HMCTL_REG);
devc557drivers/sound/sscape.csscape_write (devc, GA_HMCTL_REG, temp);  /* Kickstart the board */
devc630drivers/sound/sscape.cget_board_type (devc));
devc632drivers/sound/sscape.cset_control (devc, CTL_MASTER_VOL, 100);
devc633drivers/sound/sscape.cset_control (devc, CTL_SYNTH_VOL, 100);
devc644drivers/sound/sscape.cprintk ("I%d = %02x (new value)\n", i, sscape_read (devc, i));
devc659drivers/sound/sscape.cif (!sscape_download_boot (devc, buf->data, buf->len, buf->flags))
devc714drivers/sound/sscape.csscape_info    *devc = (sscape_info *) audio_devs[dev]->devc;
devc718drivers/sound/sscape.cif (devc->opened)
devc723drivers/sound/sscape.cdevc->opened = 1;
devc734drivers/sound/sscape.cprintk ("I%d = %02x\n", i, sscape_read (devc, i));
devc745drivers/sound/sscape.csscape_info    *devc = (sscape_info *) audio_devs[dev]->devc;
devc752drivers/sound/sscape.cdevc->opened = 0;
devc758drivers/sound/sscape.cset_speed (sscape_info * devc, int arg)
devc764drivers/sound/sscape.cset_channels (sscape_info * devc, int arg)
devc770drivers/sound/sscape.cset_format (sscape_info * devc, int arg)
devc778drivers/sound/sscape.csscape_info    *devc = (sscape_info *) audio_devs[dev]->devc;
devc784drivers/sound/sscape.creturn set_speed (devc, (int) arg);
devc785drivers/sound/sscape.creturn snd_ioctl_return ((int *) arg, set_speed (devc, get_fs_long ((long *) arg)));
devc794drivers/sound/sscape.creturn set_channels (devc, (int) arg + 1) - 1;
devc795drivers/sound/sscape.creturn snd_ioctl_return ((int *) arg, set_channels (devc, get_fs_long ((long *) arg) + 1) - 1);
devc799drivers/sound/sscape.creturn set_channels (devc, (int) arg);
devc800drivers/sound/sscape.creturn snd_ioctl_return ((int *) arg, set_channels (devc, get_fs_long ((long *) arg)));
devc809drivers/sound/sscape.creturn set_format (devc, (int) arg);
devc810drivers/sound/sscape.creturn snd_ioctl_return ((int *) arg, set_format (devc, get_fs_long ((long *) arg)));
devc945drivers/sound/sscape.csscape_write (devc, i, 0xf0);  /* All interrupts enabled */
devc950drivers/sound/sscape.csscape_write (devc, i, 0x20);  /* DMA channel disabled */
devc954drivers/sound/sscape.csscape_write (devc, i, 0xf0 | (irq_bits << 2) | irq_bits);
devc958drivers/sound/sscape.csscape_write (devc, i, (regs[i] & 0x3f) |
devc959drivers/sound/sscape.c(sscape_read (devc, i) & 0xc0));
devc966drivers/sound/sscape.csscape_write (devc, i,
devc967drivers/sound/sscape.c(sscape_read (devc, i) & 0xf0) | 0x00);
devc971drivers/sound/sscape.csscape_write (devc, i, regs[i]);
devc985drivers/sound/sscape.cprintk ("I%d = %02x (new value)\n", i, sscape_read (devc, i));
devc1012drivers/sound/sscape.caudio_devs[my_dev]->devc = devc;
devc1013drivers/sound/sscape.cdevc->my_audiodev = my_dev;
devc1014drivers/sound/sscape.cdevc->opened = 0;
devc1016drivers/sound/sscape.cif (snd_set_irq_handler (hw_config->irq, sscapeintr, "SoundScape", devc->osp) < 0)
devc1019drivers/sound/sscape.csscape_write (devc, GA_INTENA_REG, 0x80);    /* Master IRQ enable */
devc1025drivers/sound/sscape.cdevc->ok = 1;
devc1026drivers/sound/sscape.cdevc->failed = 0;
devc1035drivers/sound/sscape.cdevc->failed = 1;
devc1036drivers/sound/sscape.cdevc->base = hw_config->io_base;
devc1037drivers/sound/sscape.cdevc->irq = hw_config->irq;
devc1038drivers/sound/sscape.cdevc->dma = hw_config->dma;
devc1039drivers/sound/sscape.cdevc->osp = hw_config->osp;
devc1067drivers/sound/sscape.cif (sscape_read (devc, 0) & 0x0c)
devc1070drivers/sound/sscape.cif (sscape_read (devc, 1) & 0x0f)
devc1073drivers/sound/sscape.cif (sscape_read (devc, 5) & 0x0f)
devc1085drivers/sound/sscape.cprintk ("I%d = %02x (old value)\n", i, sscape_read (devc, i));
devc1095drivers/sound/sscape.cif (!((tmp = sscape_read (devc, GA_HMCTL_REG)) & 0xc0))
devc1097drivers/sound/sscape.csscape_write (devc, GA_HMCTL_REG, tmp | 0x80);
devc1099drivers/sound/sscape.cinb (devc->base + ODIE_ADDR);
devc1121drivers/sound/sscape.cif (devc->failed)
devc1124drivers/sound/sscape.cif (devc->ok == 0)
devc1164drivers/sound/sscape.csscape_write (devc, GA_DMACFG_REG, 0x50);
devc1169drivers/sound/sscape.csscape_write (devc, GA_DMAB_REG, 0x20);
devc1182drivers/sound/sscape.csscape_write (devc, GA_CDCFG_REG, 0x89 | (hw_config->dma << 4) |
devc1185drivers/sound/sscape.cif (hw_config->irq == devc->irq)
devc1193drivers/sound/sscape.cdevc->osp);
devc1208drivers/sound/sscape.cprintk ("I%d = %02x\n", i, sscape_read (devc, i));