On Wed, May 13, 2009 at 09:59:18PM -0400, Jon Smirl wrote: > -static const struct snd_pcm_hardware psc_dma_pcm_hardware = { > +static const struct snd_pcm_hardware psc_dma_hardware = { > .info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | > SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | > SNDRV_PCM_INFO_BATCH, > - .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_BE | > - SNDRV_PCM_FMTBIT_S24_BE | SNDRV_PCM_FMTBIT_S32_BE, > + .formats = SNDRV_PCM_FMTBIT_S32_BE, This seems like a major and very surprising reduction in functionality. Why is this required? > + if (!psc_dma->playback.active && > + !psc_dma->capture.active) { > + /* Setup the IRQs */ > + } Should this be implemented or removed? > + if (!psc_dma->playback.active && > + !psc_dma->capture.active) { > + > + /* Disable all interrupts and reset the PSC */ > + out_be16(&psc_dma->psc_regs->isr_imr.imr, psc_dma->imr); > + //out_8(&psc_dma->psc_regs->command, 3 << 4); /* reset tx */ > + //out_8(&psc_dma->psc_regs->command, 2 << 4); /* reset rx */ > + //out_8(&psc_dma->psc_regs->command, 1 << 4); /* reset mode */ > + //out_8(&psc_dma->psc_regs->command, 4 << 4); /* reset error */ > + > + } > + The commented code should go. _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel