On Tue, 9 Feb 2010, Burris T. Ewell wrote: > I'm trying to capture 4 tracks using a pair of pdaudio-cf cards. The > drivers load and the cards are shown in /proc/asound on IRQs 17 and > 18. I have a .asoundrc setup as in the example on TwoCardsAsOne on > the wiki. The cards are being fed from a pair of clock-synced ADCs. > > Everything seems OK until I try to capture from the route device (or > multi device.) The red lights on the cards will come on for a moment, > then the machine will lock up spewing "PDAUDIOCF SRAM buffer overrun > detected!" to the console. Looking in the pdaudiocf driver, the > interrupt handler says that this condition "should never happen." > > stat = inw(chip->port + PDAUDIOCF_REG_ISR); > if (stat & (PDAUDIOCF_IRQLVL|PDAUDIOCF_IRQOVR)) { > if (stat & PDAUDIOCF_IRQOVR) /* should never happen */ > snd_printk(KERN_ERR "PDAUDIOCF SRAM buffer overrun detected!\n"); > if (chip->pcm_substream) > tasklet_schedule(&chip->tq); > if (!(stat & PDAUDIOCF_IRQAKM)) > stat |= PDAUDIOCF_IRQAKM; /* check rate */ > } > > > > Any ideas on what is wrong or how to fix this? Perhaps the cards need > to be reset or the buffers drained before starting capture? I'm happy > to hack the driver and submit a patch you tell me what I need to do to > fix it. Any pointers would be appreciated No idea. Does one card work? The pdaudiocf card is reset after each operation to default state, so the SRAM buffer should be empty before the record starts. The interrupt should be triggered when 1/8 of SRAM buffer is filled, so there should be plenty of time to move samples from it. The reason might be a poor I/O performance through the PCMCIA bus. Just put some printk lines to the interrupt handler showing timestamps (for example use jiffies variable) in the pdacf_interrupt() and pdacf_tasklet() routines and you'll see the timing. The tasklet routine reads and removes samples from the SRAM buffer. Jaroslav ----- Jaroslav Kysela <perex@xxxxxxxx> Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc. ------------------------------------------------------------------------------ SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW http://p.sf.net/sfu/solaris-dev2dev _______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user