On Thu, Nov 26, 2009 at 04:13:06PM +0100, Takashi Iwai wrote:
The non-coherent MIPS arch doesn't give the correct address by a simple virt_to_page() for pages allocated via dma_alloc_coherent().
Original patch by Wu Zhangjin wuzj@lemote.com. A proper check of the buffer allocation type was added to avoid the wrong conversion.
The origins of this patch go back far further. The oldest patch I could find which is a superset of this was written by Atsushi Nemoto and various incarnations of it have been sumitted to and reject by me a number of times through the years.
Note that this doesn't fix perfectly: the pages should be marked with proper pgprot value. This will be done in a future implementation like the conversion to dma_mmap_coherent().
Signed-off-by: Takashi Iwai tiwai@suse.de
So while this is ugly I don't think this patch will actually make the the situation worse for any MIPS platform. So with both eyes closed:
Acked-by: Ralf Baechle ralf@linux-mips.org
Ralf