At Tue, 06 May 2008 20:12:27 +1000, Benjamin Herrenschmidt wrote: > > > On Tue, 2008-05-06 at 11:16 +0200, Gerhard Pircher wrote: > > I can't answer this question. *ducked* :-) Takashi? > > > > FYI: I posted the results of the test with Takashi's dma_mmap_coherent > > patch here: > > http://ozlabs.org/pipermail/linuxppc-dev/2006-June/024078.html > > > > On the other side it looks like this problem does not only affect > > ALSA. > > As far as I can tell also some V4L(2) drivers have a problem with > > mmaping > > non coherent DMA allocations, but I'm not sure (it's a long time since > > I > > did some tests with video cards on my AmigaOne). > > > > Naturally I can do some tests, if you or Takashi come up with a new > > patch. > > Time that we sort that stuff out once for all.. > > sg allocations are usually lists of page, so virt_to_page shouldn't be a > problem in the first place, though we still need some way to get the > right prot attributes.
The problem is that ALSA SG buffer is composed from pages allocated via dma_alloc_coherent(), and the pages are retrieved via virt_to_page for DMA pages, as found in sound/core/sgbuf.c. I didn't care about SG-buffer cases in my initial patch, and it's a bit messy. The current code requires page lists becasue it calls vmap() to get a virtually linear buffer. Takashi _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev