Re: [PATCH] Sam440ep support
flat view
From: Takashi Iwai <hidden>
Date: 2008-05-06 11:14:28
At Tue, 06 May 2008 20:12:27 +1000, Benjamin Herrenschmidt wrote:
On Tue, 2008-05-06 at 11:16 +0200, Gerhard Pircher wrote:quoted
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