On Tue, 17 Jul 2007 10:37:21 +0200Hans-Christian Egtvedt <hcegtvedt@xxxxxxxxx> wrote: > > > + snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &at73c213_playback_ops);> > > +> > > + retval = snd_pcm_lib_preallocate_pages_for_all(chip->pcm,> > > + SNDRV_DMA_TYPE_DEV,> > > + snd_dma_continuous_data(GFP_KERNEL),> > > + 64 * 1024, 64 * 1024); > > > > For SNDRV_DMA_TYPE_DEV, pass the struct device pointer of the device> > to the third argument. Then the pre-allocator will allocate the> > memory via dma_alloc_coherent() with the givn device. If it's not> > appropriate, SNDRV_DMA_TYPE_CONTINUOUS type. Anyway,> > snd_dma_continuous_data() is only for SNDRV_DMA_TYPE_CONTINUOUS. > > Ok, applied. Using &chip->spi->dev. Not that I think it matters at the moment, but that's not entirelycorrect. The memory is used for DMA transfers to the SSC controller,not the SPI device, so you should pass the SSC's struct device here. In other words, I think you should use &chip->ssc->pdev->dev. Håvard_______________________________________________Alsa-devel mailing listAlsa-devel@xxxxxxxxxxxxxxxxxxxx://mailman.alsa-project.org/mailman/listinfo/alsa-devel