[Alsa-devel] RFC: dma_mmap_coherent() for powerpc/ppc architecture and ALSA?

Takashi Iwai tiwai at suse.de
Fri Jun 30 19:12:00 EST 2006


At Thu, 29 Jun 2006 23:15:13 +0200,
Gerhard Pircher wrote:
> 
> 
> -------- Original-Nachricht --------
> Datum: Thu, 29 Jun 2006 11:27:15 +0200
> Von: Takashi Iwai <tiwai at suse.de>
> An: Gerhard Pircher <gerhard_pircher at gmx.net>
> Betreff: Re: [Alsa-devel] RFC: dma_mmap_coherent() for powerpc/ppc architecture and ALSA?
> 
> > At Wed, 28 Jun 2006 22:27:53 +0200,
> > Gerhard Pircher wrote:
> > > 
> > > Hi,
> > > 
> > > It took a little bit longer to integrate the patch, as I didn't figure
> > out  first how to implement the __dma_mmap_coherent() function for PPC
> > systems with CONFIG_NOT_COHERENT_CACHE defined. :)
> > > 
> > > Unfortunately my system still crashes within snd_pcm_mmap_data_nopage() 
> > > (sound/core/pcm_native.c), as you can see below. I guess it tries to
> > remap 
> > > a DMA buffer allocated by the not cache coherent DMA memory allocation 
> > > function in arch/ppc/kernel/dma-mapping.c.
> > 
> > Strange, nopage will be never called if you apply my patch and modify
> > to use dma_mmap_coherent().
> > 
> > 
> > Takashi
> > 
> That's indeed strange! I'm sure that the new code is called by the
> sound drivers. Should snd_pcm_mmap_data_nopage() not be used at all
> anymore, or are there any cases that could still trigger a call of
> snd_pcm_mmap_data_nopage()? 

What is the type of buffer are you using?  If it's a buffer
pre-allocated via snd_pcm_lib_preallocate*() with SNDRV_DMA_TYPE_DEV,
there should be no snd_pcm_mmap_data_nopage call.  For other types,
there can be.  For example, the patch still doesn't solve the problems
with drivers using sg-buffer.


Takashi



More information about the Linuxppc-dev mailing list