diff options
author | Shawn Anastasio <[email protected]> | 2019-07-17 18:54:37 -0500 |
---|---|---|
committer | Michael Ellerman <[email protected]> | 2019-07-19 21:29:49 +1000 |
commit | b4fc36e60f25cf22bf8b7b015a701015740c3743 (patch) | |
tree | 1db70e710b251f20a845176881c3274c1cb307e3 /tools/perf/util/c++/clang-test.cpp | |
parent | 9798f4ea71eaf8eaad7e688c5b298528089c7bf8 (diff) |
powerpc/dma: Fix invalid DMA mmap behavior
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.
Fixes: 6666cc17d780 ("powerpc/dma: remove dma_nommu_mmap_coherent")
# NOTE: fixes commit 6666cc17d780 released in v5.1.
# Consider a stable tag:
# Cc: [email protected] # v5.1+
# NOTE: fixes commit 6666cc17d780 released in v5.1.
# Consider a stable tag:
# Cc: [email protected] # v5.1+
Cc: [email protected] # v5.1+
Signed-off-by: Shawn Anastasio <[email protected]>
Reviewed-by: Alexey Kardashevskiy <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Michael Ellerman <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'tools/perf/util/c++/clang-test.cpp')
0 files changed, 0 insertions, 0 deletions