Le mer. 30 sept. 2020 à 18:40, Christoph Hellwig <hch@xxxxxx> a écrit
:
On Wed, Sep 30, 2020 at 06:39:18PM +0200, Paul Cercueil wrote:
dma_alloc_pages gives you cached memory, so you can't just use an
uncached protection for the userspace mmap here. If you want
uncached
memory you need to use dma_alloc_coherent paired with
dma_mmap_coherent.
Or dma_alloc_wc for a slightly different flavor of uncached. (both
of the map to dma_alloc_attrs / dma_mmap_attrs eventually).
I don't want uncached memory, I want non-coherent cached memory.
We don't have such a thing in the Linux API at all.
dma_pgprot(dev, vma->vm_page_prot, DMA_ATTR_NON_CONSISTENT);
That was giving me non-coherent cached memory, and now I don't have an
alternative.
-Paul