-------- Original-Nachricht -------- > Datum: Tue, 06 May 2008 09:44:18 +1000 > Von: Benjamin Herrenschmidt <[EMAIL PROTECTED]> > An: Gerhard Pircher <[EMAIL PROTECTED]> > CC: Kumar Gala <[EMAIL PROTECTED]>, [EMAIL PROTECTED], linuxppc-dev@ozlabs.org > Betreff: Re: [PATCH] Sam440ep support
> > On Mon, 2008-05-05 at 21:50 +0200, Gerhard Pircher wrote: > > This is a (bad) hack that I also use on the AmigaOne to get the ALSA > > sound drivers working with DMA, because ALSA doesn't work with > > dma-noncoherent.c. The problem is the "nopage" mechanism, which fails > > with non coherent DMA allocations due to their own virtual address > > space (correct me, if I'm wrong). > > > > See this thread for more info: > > http://readlist.com/lists/vger.kernel.org/linux-kernel/45/226541.html > > > > This is a general problem that affects all powerpc boards that use > > dma-noncoherent.c with ALSA PCI drivers. > > The link above doesn't provide any useful information on the problem and > it contains itself a non working link... Sorry, I didn't check the embedded link. This one should work: http://www.uwsg.iu.edu/hypermail/linux/kernel/0406.2/0801.html IIRC the problem is the mmaping of non coherent DMA allocations, as you already know. The link above points to a very old (from 2004) and quite long thread where the correct DMA API for mmaping DMA allocations was discussed. > Can somebody explains exactly what's going on ? That shouldn't be hard > to fix. I can't believe the problem has been around for 2 years and > nobody actually bothered fixing it properly. Takashi Iwai posted a preliminary patch a long time ago. I tested it on my machine and it failed with non coherent scatter-gather DMA allocations (I guess almost all ALSA PCI drivers use SG DMA?). Thanks! Gerhard -- GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen! Jetzt dabei sein: http://www.shortview.de/[EMAIL PROTECTED] _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev