On Wed, 2019-07-17 at 23:54:37 UTC, Shawn Anastasio wrote: > The refactor of powerpc DMA functions in commit 6666cc17d780 > ("powerpc/dma: remove dma_nommu_mmap_coherent") incorrectly > changes the way DMA mappings are handled on powerpc. > Since this change, all mapped pages are marked as cache-inhibited > through the default implementation of arch_dma_mmap_pgprot. > This differs from the previous behavior of only marking pages > in noncoherent mappings as cache-inhibited and has resulted in > sporadic system crashes in certain hardware configurations and > workloads (see Bugzilla). > > This commit restores the previous correct behavior by providing > an implementation of arch_dma_mmap_pgprot that only marks > pages in noncoherent mappings as cache-inhibited. As this behavior > should be universal for all powerpc platforms a new file, > dma-generic.c, was created to store it. > > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=204145 > Fixes: 6666cc17d780 ("powerpc/dma: remove dma_nommu_mmap_coherent") > Signed-off-by: Shawn Anastasio <sh...@anastas.io> > Reviewed-by: Alexey Kardashevskiy <a...@ozlabs.ru> > Reviewed-by: Christoph Hellwig <h...@lst.de>
Applied to powerpc fixes, thanks. https://git.kernel.org/powerpc/c/b4fc36e60f25cf22bf8b7b015a701015740c3743 cheers