linux/drivers/gpu
Maíra Canal 482ac8a1c8 drm/v3d: Address race-condition in MMU flush
[ Upstream commit cf1becb7f9 ]

We must first flush the MMU cache and then, flush the TLB, not the other
way around. Currently, we can see a race condition between the MMU cache
and the TLB when running multiple rendering processes at the same time.
This is evidenced by MMU errors triggered by the IRQ.

Fix the MMU flush order by flushing the MMU cache and then the TLB.
Also, in order to address the race condition, wait for the MMU cache flush
to finish before starting the TLB flush.

Fixes: 57692c94dc ("drm/v3d: Introduce a new DRM driver for Broadcom V3D V3.x+")
Signed-off-by: Maíra Canal <mcanal@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240923141348.2422499-2-mcanal@igalia.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-12-05 14:01:38 +01:00
..
drm drm/v3d: Address race-condition in MMU flush 2024-12-05 14:01:38 +01:00
host1x gpu: host1x: Set up device DMA parameters 2024-10-15 18:46:25 +02:00
ipu-v3 Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
trace gpu/trace: add a gpu total memory usage tracepoint 2020-03-03 17:52:41 -05:00
vga drm: Do delayed switcheroo in drm_lastclose() 2024-08-13 16:21:07 +02:00
Makefile gpu: host1x: Add context bus 2022-06-01 11:50:42 +02:00