[Alsa-devel] [RFC 4/8] snd-aoa: add i2sbus

Takashi Iwai tiwai at suse.de
Wed Jun 7 22:58:34 EST 2006


At Wed, 07 Jun 2006 14:52:25 +0200,
Johannes Berg wrote:
> 
> On Wed, 2006-06-07 at 14:49 +0200, Takashi Iwai wrote:
> 
> > Sorry, s/pci_to_dev/snd_dma_pci_data/
> 
> So then you're saying that indeed, snd_pcm_lib_preallocate_pages_for_all
> has the side effect of setting a pointer somewhere else?

Well, I don't understand what you mean "side-effect" here.

The device pointer is passed to the memory allocator, so if you pass a
bogus value there, it'll cause surely oops.

> I just don't understand why it all blows up when I leave off the
> preallocate call. From the function name that says 'preallocate pages'
> it seemed to me that I should be allowed to just leave it off, risking
> that later an open() or prepare() fails because no pages could be
> allocated.

IIF you use snd_pcm_lib_malloc_pages(), the pre-allocation is
mandatory.  That's the definition.
(And, as mentioned, snd_pcm_lib_malloc_pages() checks the
pre-allocation when debug option is set.  If you don't set the debug
option, it assumes that the pre-allocation was already executed.)

You're free to use dma_alloc_coherent() or whatever in hw_params
callback.


Takashi



More information about the Linuxppc-dev mailing list