mirror of
https://github.com/torvalds/linux.git
synced 2026-09-12 12:34:02 +02:00
drm/nouveau: Use write-combined maps for coherent
On Tegra devices, uncached maps translate to device memory, causing
unaligned accesses by userspace resulting in a SIGBUS. Instead, use
write-combined maps to ensure proper access.
This would also affect discrete cards on any Arm device. It was
determined that discrete cards regardless of cpu arch should use
write-combined maps for coherent anyways. Thus this change is made for
all gpu types.
Cc: stable@vger.kernel.org
Signed-off-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Co-developed-by: Aaron Kling <webgeek1234@gmail.com>
Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
Fixes: 1b4ea4c598 ("drm/ttm: set the tt caching state at creation time")
Link: https://patch.msgid.link/20260821-tegra-coherent-wc-v2-1-2b1ddb67bf18@gmail.com
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
This commit is contained in:
parent
0ba8e0f900
commit
774b73428e
|
|
@ -72,9 +72,7 @@ nouveau_sgdma_create_ttm(struct ttm_buffer_object *bo, uint32_t page_flags)
|
|||
struct nouveau_sgdma_be *nvbe;
|
||||
enum ttm_caching caching;
|
||||
|
||||
if (nvbo->force_coherent)
|
||||
caching = ttm_uncached;
|
||||
else if (drm->agp.bridge)
|
||||
if (nvbo->force_coherent || drm->agp.bridge)
|
||||
caching = ttm_write_combined;
|
||||
else
|
||||
caching = ttm_cached;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user