taglinefilesource code
devc134drivers/block/hd.cchar devc;
devc136drivers/block/hd.cdevc = CURRENT ? 'a' + DEVICE_NR(CURRENT->dev) : '?';
devc139drivers/block/hd.cprintk("hd%c: %s: status=0x%02x { ", devc, msg, stat & 0xff);
devc153drivers/block/hd.cprintk("hd%c: %s: error=0x%02x { ", devc, msg, hd_error & 0xff);
devc115drivers/sound/ad1848.cad_read (ad1848_info * devc, int reg)
devc121drivers/sound/ad1848.cwhile (timeout > 0 && INB (devc->base) == 0x80)  /*Are we initializing */
devc125drivers/sound/ad1848.cOUTB ((unsigned char) (reg & 0xff) | devc->MCE_bit, io_Index_Addr (devc));
devc126drivers/sound/ad1848.cx = INB (io_Indexed_Data (devc));
devc134drivers/sound/ad1848.cad_write (ad1848_info * devc, int reg, int data)
devc139drivers/sound/ad1848.cwhile (timeout > 0 && INB (devc->base) == 0x80)  /*Are we initializing */
devc143drivers/sound/ad1848.cOUTB ((unsigned char) (reg & 0xff) | devc->MCE_bit, io_Index_Addr (devc));
devc144drivers/sound/ad1848.cOUTB ((unsigned char) (data & 0xff), io_Indexed_Data (devc));
devc150drivers/sound/ad1848.cwait_for_calibration (ad1848_info * devc)
devc162drivers/sound/ad1848.cwhile (timeout > 0 && INB (devc->base) & 0x80)
devc164drivers/sound/ad1848.cif (INB (devc->base) & 0x80)
devc168drivers/sound/ad1848.cwhile (timeout > 0 && !(ad_read (devc, 11) & 0x20))
devc170drivers/sound/ad1848.cif (!(ad_read (devc, 11) & 0x20))
devc174drivers/sound/ad1848.cwhile (timeout > 0 && ad_read (devc, 11) & 0x20)
devc176drivers/sound/ad1848.cif (ad_read (devc, 11) & 0x20)
devc181drivers/sound/ad1848.cad_mute (ad1848_info * devc)
devc191drivers/sound/ad1848.cprev = devc->saved_regs[i] = ad_read (devc, i);
devc192drivers/sound/ad1848.cad_write (devc, i, prev | 0x80);
devc197drivers/sound/ad1848.cad_unmute (ad1848_info * devc)
devc206drivers/sound/ad1848.cad_write (devc, i, devc->saved_regs[i] & ~0x80);
devc211drivers/sound/ad1848.cad_enter_MCE (ad1848_info * devc)
devc217drivers/sound/ad1848.cwhile (timeout > 0 && INB (devc->base) == 0x80)  /*Are we initializing */
devc222drivers/sound/ad1848.cdevc->MCE_bit = 0x40;
devc223drivers/sound/ad1848.cprev = INB (io_Index_Addr (devc));
devc230drivers/sound/ad1848.cOUTB (devc->MCE_bit, io_Index_Addr (devc));
devc235drivers/sound/ad1848.cad_leave_MCE (ad1848_info * devc)
devc241drivers/sound/ad1848.cwhile (timeout > 0 && INB (devc->base) == 0x80)  /*Are we initializing */
devc246drivers/sound/ad1848.cdevc->MCE_bit = 0x00;
devc247drivers/sound/ad1848.cprev = INB (io_Index_Addr (devc));
devc248drivers/sound/ad1848.cOUTB (0x00, io_Index_Addr (devc));  /* Clear the MCE bit */
devc256drivers/sound/ad1848.cOUTB (0x00, io_Index_Addr (devc));  /* Clear the MCE bit */
devc257drivers/sound/ad1848.cwait_for_calibration (devc);
devc263drivers/sound/ad1848.cad1848_set_recmask (ad1848_info * devc, int mask)
devc268drivers/sound/ad1848.cmask &= devc->supported_rec_devices;
devc279drivers/sound/ad1848.cmask &= ~devc->recmask;  /* Filter out active settings */
devc312drivers/sound/ad1848.cad_write (devc, 0, (ad_read (devc, 0) & 0x3f) | recdev);
devc313drivers/sound/ad1848.cad_write (devc, 1, (ad_read (devc, 1) & 0x3f) | recdev);
devc315drivers/sound/ad1848.cdevc->recmask = mask;
devc337drivers/sound/ad1848.cad1848_mixer_get (ad1848_info * devc, int dev)
devc339drivers/sound/ad1848.cif (!((1 << dev) & devc->supported_devices))
devc342drivers/sound/ad1848.creturn devc->levels[dev];
devc346drivers/sound/ad1848.cad1848_mixer_set (ad1848_info * devc, int dev, int value)
devc362drivers/sound/ad1848.cif (!(devc->supported_devices & (1 << dev)))
devc373drivers/sound/ad1848.cval = ad_read (devc, regoffs);
devc375drivers/sound/ad1848.cdevc->levels[dev] = left | (left << 8);
devc376drivers/sound/ad1848.cad_write (devc, regoffs, val);
devc377drivers/sound/ad1848.cdevc->saved_regs[regoffs] = val;
devc387drivers/sound/ad1848.cval = ad_read (devc, regoffs);
devc389drivers/sound/ad1848.cad_write (devc, regoffs, val);
devc390drivers/sound/ad1848.cdevc->saved_regs[regoffs] = val;
devc392drivers/sound/ad1848.cdevc->levels[dev] = left | (right << 8);
devc397drivers/sound/ad1848.cad1848_mixer_reset (ad1848_info * devc)
devc401drivers/sound/ad1848.cdevc->recmask = 0;
devc402drivers/sound/ad1848.cif (devc->mode == 2)
devc403drivers/sound/ad1848.cdevc->supported_devices = MODE2_MIXER_DEVICES;
devc405drivers/sound/ad1848.cdevc->supported_devices = MODE1_MIXER_DEVICES;
devc407drivers/sound/ad1848.cdevc->supported_rec_devices = MODE1_REC_DEVICES;
devc410drivers/sound/ad1848.cad1848_mixer_set (devc, i, devc->levels[i] = default_mixer_levels[i]);
devc411drivers/sound/ad1848.cad1848_set_recmask (devc, SOUND_MASK_MIC);
devc417drivers/sound/ad1848.cad1848_info    *devc;
devc426drivers/sound/ad1848.cdevc = (ad1848_info *) audio_devs[codec_dev]->devc;
devc434drivers/sound/ad1848.creturn IOCTL_OUT (arg, ad1848_set_recmask (devc, IOCTL_IN (arg)));
devc438drivers/sound/ad1848.creturn IOCTL_OUT (arg, ad1848_mixer_set (devc, cmd & 0xff, IOCTL_IN (arg)));
devc447drivers/sound/ad1848.creturn IOCTL_OUT (arg, devc->recmask);
devc451drivers/sound/ad1848.creturn IOCTL_OUT (arg, devc->supported_devices);
devc455drivers/sound/ad1848.creturn IOCTL_OUT (arg, devc->supported_devices &
devc460drivers/sound/ad1848.creturn IOCTL_OUT (arg, devc->supported_rec_devices);
devc468drivers/sound/ad1848.creturn IOCTL_OUT (arg, ad1848_mixer_get (devc, cmd & 0xff));
devc505drivers/sound/ad1848.cad1848_info    *devc = NULL;
devc513drivers/sound/ad1848.cdevc = (ad1848_info *) audio_devs[dev]->devc;
devc516drivers/sound/ad1848.cif (devc->opened)
devc523drivers/sound/ad1848.cif (devc->irq)    /* Not managed by another driver */
devc524drivers/sound/ad1848.cif ((err = snd_set_irq_handler (devc->irq, ad1848_interrupt,
devc537drivers/sound/ad1848.caudio_devs[dev]->dmachan = devc->dma_playback;
devc539drivers/sound/ad1848.caudio_devs[dev]->dmachan = devc->dma_capture;
devc544drivers/sound/ad1848.cif (devc->irq)    /* Don't leave IRQ reserved */
devc545drivers/sound/ad1848.csnd_release_irq (devc->irq);
devc551drivers/sound/ad1848.cdevc->dual_dma = 0;
devc553drivers/sound/ad1848.cif (devc->dma_capture != devc->dma_playback && mode == OPEN_READWRITE)
devc555drivers/sound/ad1848.cdevc->dual_dma = 1;
devc557drivers/sound/ad1848.cif (ALLOC_DMA_CHN (devc->dma_capture, "Sound System (capture)"))
devc559drivers/sound/ad1848.cif (devc->irq)  /* Don't leave IRQ reserved */
devc560drivers/sound/ad1848.csnd_release_irq (devc->irq);
devc566drivers/sound/ad1848.cdevc->intr_active = 0;
devc567drivers/sound/ad1848.cdevc->opened = 1;
devc572drivers/sound/ad1848.cad_mute (devc);
devc581drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc587drivers/sound/ad1848.cdevc->intr_active = 0;
devc588drivers/sound/ad1848.cif (devc->irq)    /* Not managed by another driver */
devc589drivers/sound/ad1848.csnd_release_irq (devc->irq);
devc593drivers/sound/ad1848.cif (devc->dual_dma)    /* Release the second DMA channel */
devc595drivers/sound/ad1848.cif (audio_devs[dev]->dmachan == devc->dma_playback)
devc596drivers/sound/ad1848.cRELEASE_DMA_CHN (devc->dma_capture);
devc598drivers/sound/ad1848.cRELEASE_DMA_CHN (devc->dma_playback);
devc601drivers/sound/ad1848.cdevc->opened = 0;
devc603drivers/sound/ad1848.cad_unmute (devc);
devc608drivers/sound/ad1848.cset_speed (ad1848_info * devc, int arg)
devc675drivers/sound/ad1848.cdevc->speed = speed_table[selected].speed;
devc676drivers/sound/ad1848.cdevc->speed_bits = speed_table[selected].bits;
devc677drivers/sound/ad1848.creturn devc->speed;
devc681drivers/sound/ad1848.cset_channels (ad1848_info * devc, int arg)
devc684drivers/sound/ad1848.creturn devc->channels;
devc686drivers/sound/ad1848.cdevc->channels = arg;
devc691drivers/sound/ad1848.cset_format (ad1848_info * devc, int arg)
devc743drivers/sound/ad1848.cif (!(arg & ad_format_mask[devc->mode]))
devc746drivers/sound/ad1848.cdevc->audio_format = arg;
devc751drivers/sound/ad1848.cif ((devc->format_bits = format2bits[i].bits) == 0)
devc752drivers/sound/ad1848.creturn devc->audio_format = AFMT_U8;  /* Was not supported */
devc758drivers/sound/ad1848.cdevc->format_bits = 0;
devc759drivers/sound/ad1848.creturn devc->audio_format = AFMT_U8;
devc765drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc771drivers/sound/ad1848.creturn set_speed (devc, arg);
devc772drivers/sound/ad1848.creturn IOCTL_OUT (arg, set_speed (devc, IOCTL_IN (arg)));
devc776drivers/sound/ad1848.creturn devc->speed;
devc777drivers/sound/ad1848.creturn IOCTL_OUT (arg, devc->speed);
devc781drivers/sound/ad1848.creturn set_channels (devc, arg + 1) - 1;
devc782drivers/sound/ad1848.creturn IOCTL_OUT (arg, set_channels (devc, IOCTL_IN (arg) + 1) - 1);
devc786drivers/sound/ad1848.creturn set_channels (devc, arg);
devc787drivers/sound/ad1848.creturn IOCTL_OUT (arg, set_channels (devc, IOCTL_IN (arg)));
devc791drivers/sound/ad1848.creturn devc->channels;
devc792drivers/sound/ad1848.creturn IOCTL_OUT (arg, devc->channels);
devc796drivers/sound/ad1848.creturn set_format (devc, arg);
devc797drivers/sound/ad1848.creturn IOCTL_OUT (arg, set_format (devc, IOCTL_IN (arg)));
devc801drivers/sound/ad1848.creturn devc->audio_format;
devc802drivers/sound/ad1848.creturn IOCTL_OUT (arg, devc->audio_format);
devc813drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc817drivers/sound/ad1848.caudio_devs[dev]->dmachan = devc->dma_playback;
devc819drivers/sound/ad1848.cif (devc->audio_format == AFMT_IMA_ADPCM)
devc825drivers/sound/ad1848.cif (devc->audio_format & (AFMT_S16_LE | AFMT_S16_BE))  /* 16 bit data */
devc828drivers/sound/ad1848.cif (devc->channels > 1)
devc834drivers/sound/ad1848.ccnt == devc->xfer_count)
devc836drivers/sound/ad1848.cdevc->irq_mode = IMODE_OUTPUT;
devc837drivers/sound/ad1848.cdevc->intr_active = 1;
devc850drivers/sound/ad1848.cad_enter_MCE (devc);
devc852drivers/sound/ad1848.cad_write (devc, 15, (unsigned char) (cnt & 0xff));
devc853drivers/sound/ad1848.cad_write (devc, 14, (unsigned char) ((cnt >> 8) & 0xff));
devc855drivers/sound/ad1848.cif (devc->dma_playback == devc->dma_capture)
devc857drivers/sound/ad1848.cad_write (devc, 9, 0x0d);  /*
devc864drivers/sound/ad1848.cad_write (devc, 9, 0x09);  /*
devc870drivers/sound/ad1848.cad_leave_MCE (devc);    /*
devc874drivers/sound/ad1848.cad_unmute (devc);
devc876drivers/sound/ad1848.cdevc->xfer_count = cnt;
devc877drivers/sound/ad1848.cdevc->irq_mode = IMODE_OUTPUT;
devc878drivers/sound/ad1848.cdevc->intr_active = 1;
devc879drivers/sound/ad1848.cINB (io_Status (devc));
devc880drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear pending interrupts */
devc889drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc891drivers/sound/ad1848.caudio_devs[dev]->dmachan = devc->dma_capture;
devc894drivers/sound/ad1848.cif (devc->audio_format == AFMT_IMA_ADPCM)
devc900drivers/sound/ad1848.cif (devc->audio_format & (AFMT_S16_LE | AFMT_S16_BE))  /* 16 bit data */
devc903drivers/sound/ad1848.cif (devc->channels > 1)
devc909drivers/sound/ad1848.ccnt == devc->xfer_count)
devc911drivers/sound/ad1848.cdevc->irq_mode = IMODE_INPUT;
devc912drivers/sound/ad1848.cdevc->intr_active = 1;
devc925drivers/sound/ad1848.cad_enter_MCE (devc);
devc927drivers/sound/ad1848.cif (devc->dma_playback == devc->dma_capture)  /* Single DMA channel mode */
devc929drivers/sound/ad1848.cad_write (devc, 15, (unsigned char) (cnt & 0xff));
devc930drivers/sound/ad1848.cad_write (devc, 14, (unsigned char) ((cnt >> 8) & 0xff));
devc932drivers/sound/ad1848.cad_write (devc, 9, 0x0e);  /*
devc940drivers/sound/ad1848.cad_write (devc, 31, (unsigned char) (cnt & 0xff));
devc941drivers/sound/ad1848.cad_write (devc, 30, (unsigned char) ((cnt >> 8) & 0xff));
devc943drivers/sound/ad1848.cad_write (devc, 9, 0x0a);  /*
devc949drivers/sound/ad1848.cad_leave_MCE (devc);    /*
devc953drivers/sound/ad1848.cad_unmute (devc);
devc955drivers/sound/ad1848.cdevc->xfer_count = cnt;
devc956drivers/sound/ad1848.cdevc->irq_mode = IMODE_INPUT;
devc957drivers/sound/ad1848.cdevc->intr_active = 1;
devc958drivers/sound/ad1848.cINB (io_Status (devc));
devc959drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear interrupt status */
devc969drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc972drivers/sound/ad1848.cad_enter_MCE (devc);    /* Enables changes to the format select reg */
devc973drivers/sound/ad1848.cfs = devc->speed_bits | (devc->format_bits << 5);
devc975drivers/sound/ad1848.cif (devc->channels > 1)
devc978drivers/sound/ad1848.cad_write (devc, 8, fs);
devc983drivers/sound/ad1848.cwhile (timeout > 0 && INB (devc->base) == 0x80)
devc989drivers/sound/ad1848.cif (devc->mode == 2)
devc991drivers/sound/ad1848.cad_write (devc, 28, fs);
devc997drivers/sound/ad1848.cwhile (timeout > 0 && INB (devc->base) == 0x80)
devc1002drivers/sound/ad1848.cad_leave_MCE (devc);    /*
devc1006drivers/sound/ad1848.cdevc->xfer_count = 0;
devc1019drivers/sound/ad1848.cad1848_info    *devc = (ad1848_info *) audio_devs[dev]->devc;
devc1021drivers/sound/ad1848.cad_mute (devc);
devc1022drivers/sound/ad1848.cad_write (devc, 9, ad_read (devc, 9) & ~0x03);  /* Stop DMA */
devc1023drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear interrupt status */
devc1025drivers/sound/ad1848.cad_enter_MCE (devc);
devc1026drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear interrupt status */
devc1027drivers/sound/ad1848.cad_write (devc, 15, 0);  /* Clear DMA counter */
devc1028drivers/sound/ad1848.cad_write (devc, 14, 0);  /* Clear DMA counter */
devc1030drivers/sound/ad1848.cif (devc->mode == 2)
devc1032drivers/sound/ad1848.cad_write (devc, 30, 0);  /* Clear DMA counter */
devc1033drivers/sound/ad1848.cad_write (devc, 31, 0);  /* Clear DMA counter */
devc1036drivers/sound/ad1848.cad_write (devc, 9, ad_read (devc, 9) & ~0x03);  /* Stop DMA */
devc1038drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear interrupt status */
devc1039drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear interrupt status */
devc1040drivers/sound/ad1848.cad_leave_MCE (devc);
devc1051drivers/sound/ad1848.cad1848_info    *devc = &dev_info[nr_ad1848_devs];
devc1060drivers/sound/ad1848.cdevc->base = io_base;
devc1061drivers/sound/ad1848.cdevc->MCE_bit = 0x40;
devc1062drivers/sound/ad1848.cdevc->irq = 0;
devc1063drivers/sound/ad1848.cdevc->dma_capture = 0;
devc1064drivers/sound/ad1848.cdevc->dma_playback = 0;
devc1065drivers/sound/ad1848.cdevc->opened = 0;
devc1066drivers/sound/ad1848.cdevc->chip_name = "AD1848";
devc1067drivers/sound/ad1848.cdevc->mode = 1;    /* MODE1 = original AD1848 */
devc1079drivers/sound/ad1848.cif ((INB (devc->base) & 0x80) != 0x00)  /* Not a AD1884 */
devc1091drivers/sound/ad1848.cad_write (devc, 0, 0xaa);
devc1092drivers/sound/ad1848.cad_write (devc, 1, 0x45);  /* 0x55 with bit 0x10 clear */
devc1094drivers/sound/ad1848.cif ((tmp1 = ad_read (devc, 0)) != 0xaa || (tmp2 = ad_read (devc, 1)) != 0x45)
devc1100drivers/sound/ad1848.cad_write (devc, 0, 0x45);
devc1101drivers/sound/ad1848.cad_write (devc, 1, 0xaa);
devc1103drivers/sound/ad1848.cif ((tmp1 = ad_read (devc, 0)) != 0x45 || (tmp2 = ad_read (devc, 1)) != 0xaa)
devc1114drivers/sound/ad1848.ctmp = ad_read (devc, 12);
devc1115drivers/sound/ad1848.cad_write (devc, 12, (~tmp) & 0x0f);
devc1117drivers/sound/ad1848.cif ((tmp & 0x0f) != ((tmp1 = ad_read (devc, 12)) & 0x0f))
devc1135drivers/sound/ad1848.cad_write (devc, 12, 0);  /* Mode2=disabled */
devc1138drivers/sound/ad1848.cif ((tmp1 = ad_read (devc, i)) != (tmp2 = ad_read (devc, i + 16)))
devc1149drivers/sound/ad1848.cad_write (devc, 12, 0x40);  /* Set mode2, clear 0x80 */
devc1151drivers/sound/ad1848.ctmp1 = ad_read (devc, 12);
devc1153drivers/sound/ad1848.cdevc->chip_name = "CS4248";  /* Our best knowledge just now */
devc1162drivers/sound/ad1848.cad_write (devc, 16, 0);  /* Set I16 to known value */
devc1164drivers/sound/ad1848.cad_write (devc, 0, 0x45);
devc1165drivers/sound/ad1848.cif ((tmp1 = ad_read (devc, 16)) != 0x45)  /* No change -> CS4231? */
devc1168drivers/sound/ad1848.cad_write (devc, 0, 0xaa);
devc1169drivers/sound/ad1848.cif ((tmp1 = ad_read (devc, 16)) == 0xaa)  /* Rotten bits? */
devc1179drivers/sound/ad1848.ctmp1 = ad_read (devc, 25);  /* Original bits */
devc1180drivers/sound/ad1848.cad_write (devc, 25, ~tmp1);  /* Invert all bits */
devc1181drivers/sound/ad1848.cif ((ad_read (devc, 25) & 0xe7) == (tmp1 & 0xe7))
devc1186drivers/sound/ad1848.cdevc->chip_name = "CS4231";
devc1190drivers/sound/ad1848.cif (devc->base != MOZART_PORT + 4)
devc1192drivers/sound/ad1848.cdevc->mode = 2;
devc1196drivers/sound/ad1848.cad_write (devc, 25, tmp1);  /* Restore bits */
devc1225drivers/sound/ad1848.cad1848_info    *devc = &dev_info[nr_ad1848_devs];
devc1230drivers/sound/ad1848.cdevc->irq = (irq > 0) ? irq : 0;
devc1231drivers/sound/ad1848.cdevc->dma_playback = dma_playback;
devc1233drivers/sound/ad1848.cif (devc->mode == 2)
devc1234drivers/sound/ad1848.cdevc->dma_capture = dma_capture;
devc1236drivers/sound/ad1848.cdevc->dma_capture = dma_playback;  /* Use just single DMA */
devc1238drivers/sound/ad1848.cdevc->opened = 0;
devc1248drivers/sound/ad1848.cad_write (devc, i, init_values[i]);
devc1250drivers/sound/ad1848.cad_mute (devc);    /* Initialize some variables */
devc1251drivers/sound/ad1848.cad_unmute (devc);    /* Leave it unmuted now */
devc1253drivers/sound/ad1848.cif (devc->mode == 2)
devc1255drivers/sound/ad1848.cad_write (devc, 12, ad_read (devc, 12) | 0x40);  /* Mode2 = enabled */
devc1257drivers/sound/ad1848.cad_write (devc, i, init_values[i]);
devc1260drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear pending interrupts */
devc1264drivers/sound/ad1848.c"%s (%s)", name, devc->chip_name);
devc1267drivers/sound/ad1848.c"Generic audio codec (%s)", devc->chip_name);
devc1282drivers/sound/ad1848.caudio_devs[my_dev]->devc = devc;
devc1283drivers/sound/ad1848.caudio_devs[my_dev]->format_mask = ad_format_mask[devc->mode];
devc1290drivers/sound/ad1848.cad_enter_MCE (devc);  /* In case the bit was off */
devc1291drivers/sound/ad1848.cad_leave_MCE (devc);
devc1298drivers/sound/ad1848.cad1848_mixer_reset (devc);
devc1309drivers/sound/ad1848.cad1848_info    *devc;
devc1318drivers/sound/ad1848.cdevc = (ad1848_info *) audio_devs[dev]->devc;
devc1319drivers/sound/ad1848.cstatus = INB (io_Status (devc));
devc1326drivers/sound/ad1848.cif (devc->opened && devc->irq_mode == IMODE_OUTPUT)
devc1331drivers/sound/ad1848.cif (devc->opened && devc->irq_mode == IMODE_INPUT)
devc1335drivers/sound/ad1848.cOUTB (0, io_Status (devc));  /* Clear interrupt status */
devc1337drivers/sound/ad1848.cstatus = INB (io_Status (devc));
devc1341drivers/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))
devc642drivers/sound/mpu401.cif (mpu_input_scanner (devc, read_data (devc->base)) == MPU_ACK)
devc656drivers/sound/mpu401.cfor (timeout = 3000; timeout > 0 && !output_ready (devc->base); timeout--);
devc674drivers/sound/mpu401.cif (input_avail (devc->base))
devc676drivers/sound/mpu401.ccmd->data[i] = read_data (devc->base);
devc713drivers/sound/mpu401.cstruct mpu_config *devc = &dev_conf[dev];
devc715drivers/sound/mpu401.cif (devc->uart_mode)
devc757drivers/sound/mpu401.cstruct mpu_config *devc;
devc759drivers/sound/mpu401.cdevc = &dev_conf[dev];
devc769drivers/sound/mpu401.cif (devc->version == 0)
devc774drivers/sound/mpu401.cset_uart_mode (dev, devc, !IOCTL_IN (arg));
devc816drivers/sound/mpu401.cstruct mpu_config *devc;
devc823drivers/sound/mpu401.cdevc = &dev_conf[midi_dev];
devc848drivers/sound/mpu401.cstruct mpu_config *devc;
devc857drivers/sound/mpu401.cdevc = &dev_conf[midi_dev];
devc866drivers/sound/mpu401.cif (!devc->initialized)
devc868drivers/sound/mpu401.cif (mpu401_status (devc->base) == 0xff)  /* Bus float */
devc873drivers/sound/mpu401.creset_mpu401 (devc);
devc876drivers/sound/mpu401.cif (devc->opened)
devc882drivers/sound/mpu401.cdevc->mode = MODE_SYNTH;
devc883drivers/sound/mpu401.cdevc->synthno = dev;
devc885drivers/sound/mpu401.cdevc->inputintr = NULL;
devc886drivers/sound/mpu401.cirq2dev[devc->irq] = midi_dev;
devc887drivers/sound/mpu401.cif (devc->shared_irq == 0)
devc888drivers/sound/mpu401.cif ((err = snd_set_irq_handler (devc->irq, mpuintr, midi_devs[midi_dev]->info.name) < 0))
devc895drivers/sound/mpu401.copen (midi_devs[midi_dev]->coproc->devc, COPR_MIDI)) < 0)
devc897drivers/sound/mpu401.cif (devc->shared_irq == 0)
devc898drivers/sound/mpu401.csnd_release_irq (devc->irq);
devc904drivers/sound/mpu401.cdevc->opened = mode;
devc905drivers/sound/mpu401.creset_mpu401 (devc);
devc920drivers/sound/mpu401.cstruct mpu_config *devc;
devc924drivers/sound/mpu401.cdevc = &dev_conf[midi_dev];
devc928drivers/sound/mpu401.cif (devc->shared_irq == 0)
devc929drivers/sound/mpu401.csnd_release_irq (devc->irq);
devc930drivers/sound/mpu401.cdevc->inputintr = NULL;
devc933drivers/sound/mpu401.cmidi_devs[midi_dev]->coproc->close (midi_devs[midi_dev]->coproc->devc, COPR_MIDI);
devc934drivers/sound/mpu401.cdevc->opened = 0;
devc935drivers/sound/mpu401.cdevc->mode = 0;
devc989drivers/sound/mpu401.cmpu401_chk_version (struct mpu_config *devc)
devc993drivers/sound/mpu401.cdevc->version = devc->revision = 0;
devc1001drivers/sound/mpu401.cdevc->version = tmp;
devc1005drivers/sound/mpu401.cdevc->version = 0;
devc1008drivers/sound/mpu401.cdevc->revision = tmp;
devc1017drivers/sound/mpu401.cstruct mpu_config *devc;
devc1025drivers/sound/mpu401.cdevc = &dev_conf[num_midis];
devc1027drivers/sound/mpu401.cdevc->base = hw_config->io_base;
devc1028drivers/sound/mpu401.cdevc->irq = hw_config->irq;
devc1029drivers/sound/mpu401.cdevc->opened = 0;
devc1030drivers/sound/mpu401.cdevc->uart_mode = 0;
devc1031drivers/sound/mpu401.cdevc->initialized = 0;
devc1032drivers/sound/mpu401.cdevc->version = 0;
devc1033drivers/sound/mpu401.cdevc->revision = 0;
devc1034drivers/sound/mpu401.cdevc->capabilities = 0;
devc1035drivers/sound/mpu401.cdevc->timer_flag = 0;
devc1036drivers/sound/mpu401.cdevc->m_busy = 0;
devc1037drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc1038drivers/sound/mpu401.cdevc->shared_irq = hw_config->always_detect;
devc1043drivers/sound/mpu401.cif (!reset_mpu401 (devc))
devc1047drivers/sound/mpu401.cmpu401_chk_version (devc);
devc1048drivers/sound/mpu401.cif (devc->version == 0)
devc1049drivers/sound/mpu401.cmpu401_chk_version (devc);
devc1053drivers/sound/mpu401.cif (devc->version == 0)
devc1061drivers/sound/mpu401.cdevc->capabilities |= MPU_CAP_INTLG;  /* Supports intelligent mode */
devc1080drivers/sound/mpu401.cif (devc->version == 0x20 && devc->revision >= 0x07)  /* MusicQuest interface */
devc1082drivers/sound/mpu401.cint             ports = (devc->revision & 0x08) ? 32 : 16;
devc1084drivers/sound/mpu401.cdevc->capabilities |= MPU_CAP_SYNC | MPU_CAP_SMPTE |
devc1087drivers/sound/mpu401.crevision_char = (devc->revision == 0x7f) ? 'M' : ' ';
devc1100drivers/sound/mpu401.crevision_char = devc->revision ? devc->revision + '@' : ' ';
devc1101drivers/sound/mpu401.cif (devc->revision > ('Z' - '@'))
devc1104drivers/sound/mpu401.cdevc->capabilities |= MPU_CAP_SYNC | MPU_CAP_FSK;
devc1107drivers/sound/mpu401.c(devc->version & 0xf0) >> 4,
devc1108drivers/sound/mpu401.cdevc->version & 0x0f,
devc1112drivers/sound/mpu401.c(devc->version & 0xf0) >> 4,
devc1113drivers/sound/mpu401.cdevc->version & 0x0f,
devc1121drivers/sound/mpu401.cmpu401_synth_operations[num_midis].midi_dev = devc->devno = num_midis;
devc1122drivers/sound/mpu401.cmpu401_synth_operations[devc->devno].info =
devc1123drivers/sound/mpu401.c&mpu_synth_info[devc->devno];
devc1125drivers/sound/mpu401.cif (devc->capabilities & MPU_CAP_INTLG)  /* Has timer */
devc1128drivers/sound/mpu401.cirq2dev[devc->irq] = num_midis;
devc1129drivers/sound/mpu401.cmidi_devs[num_midis++] = &mpu401_midi_operations[devc->devno];
devc1134drivers/sound/mpu401.creset_mpu401 (struct mpu_config *devc)
devc1147drivers/sound/mpu401.ctimeout_limit = devc->initialized ? 30000 : 100000;
devc1148drivers/sound/mpu401.cdevc->initialized = 1;
devc1153drivers/sound/mpu401.cok = output_ready (devc->base);
devc1155drivers/sound/mpu401.cwrite_command (devc->base, MPU_RESET);  /*
devc1167drivers/sound/mpu401.cif (input_avail (devc->base))
devc1168drivers/sound/mpu401.cif (read_data (devc->base) == MPU_ACK)
devc1175drivers/sound/mpu401.cdevc->m_state = ST_INIT;
devc1176drivers/sound/mpu401.cdevc->m_ptr = 0;
devc1177drivers/sound/mpu401.cdevc->m_left = 0;
devc1178drivers/sound/mpu401.cdevc->last_status = 0;
devc1179drivers/sound/mpu401.cdevc->uart_mode = 0;
devc1185drivers/sound/mpu401.cset_uart_mode (int dev, struct mpu_config *devc, int arg)
devc1188drivers/sound/mpu401.cif (!arg && devc->version == 0)
devc1193drivers/sound/mpu401.cif ((devc->uart_mode == 0) == (arg == 0))
devc1198drivers/sound/mpu401.creset_mpu401 (devc);    /* This exits the uart mode */
devc1204drivers/sound/mpu401.cprintk ("MPU%d: Can't enter UART mode\n", devc->devno);
devc1205drivers/sound/mpu401.cdevc->uart_mode = 0;
devc1209drivers/sound/mpu401.cdevc->uart_mode = arg;
devc1653drivers/sound/mpu401.ctimer_ext_event (struct mpu_config *devc, int event, int parm)
devc1655drivers/sound/mpu401.cint             midi_dev = devc->devno;
devc1657drivers/sound/mpu401.cif (!devc->timer_flag)
devc1711drivers/sound/mpu401.cstruct mpu_config *devc;
devc1714drivers/sound/mpu401.cdevc = &dev_conf[midi_dev];
devc1734drivers/sound/mpu401.cif (devc->version < 0x20)  /* Original MPU-401 */
devc1746drivers/sound/mpu401.cif (devc->revision)
devc1749drivers/sound/mpu401.cif (devc->revision & 0x02)
devc1753drivers/sound/mpu401.cif (devc->revision & 0x04)
devc1757drivers/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));