Messages in this thread | | | Date | Mon, 10 Nov 2014 15:33:00 +0100 | From | Takashi Iwai <> | Subject | Inconsistent pgprot between dma_alloc_coherent() and dma_mmap_cohernet() |
| |
Hi,
I noticed using dma_mmap_coherent() on pages allocated via dma_alloc_coherent() results in a warning on x86:
map pfn RAM range req uncached-minus for [mem 0x21d500000-0x21d51ffff], got write-back
which comes from arch/x86/mm/pat.c.
Looking at the code, it seems that dma_mmap_coherent() blindly assumes that the pages are with pgprot_noncached(), but on x86, it's obviously not. Maybe some other archs have the same problem.
How should we fix this? Defining a new pgprot_xxx(), and falling back to pgprot_noncached if undefined? Or is it just x86 and do it only there?
thanks,
Takashi
| |