Inconsistent pgprot between dma_alloc_coherent() and dma_mmap_cohernet()

From: Takashi Iwai
Date: Mon Nov 10 2014 - 09:33:09 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/