On Tue, Aug 07, 2007 at 08:41:10PM +0200, Takashi Iwai wrote:
It's ALSA that is doing funny things here so there is no point in fixing the arch code to work for ALSA.
Yep, but OTOH, the arch code doesn't provide a proper standard way to mmap the pages allocated via dma_alloc_coherent(). That's the missing piece, especially on mips and sparc. ARM has already one.
My wish is implementing dma_mmap_coherent() on all architectures, so that the driver can use it safely without messy ifdefs.
Adding dma_mmap_coherent has been proposed in 2004 but the discussion for some reason went nowhere because it apparently isn't implementable on PARISC due to cache synonyms - on MIPS we'd solve those issues where they exist by using uncached or writethrough mappings, as apropriate.
Ralf