Files
linux/drivers/gpu/drm
Marijn Suijten 7cc29fcdfc drm/msm: a5xx: Make preemption reset case reentrant
nr_rings is reset to 1, but when this function is called for a second
(and third!) time nr_rings > 1 is false, thus the else case is entered
to set up a buffer for the RPTR shadow and consequently written to
RB_RPTR_ADDR, hanging platforms without WHERE_AM_I firmware support.

Restructure the condition in such a way that shadow buffer setup only
ever happens when has_whereami is true; otherwise preemption is only
finalized when the number of ring buffers has not been reset to 1 yet.

Fixes: 8907afb476 ("drm/msm: Allow a5xx to mark the RPTR shadow as privileged")
Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Reviewed-by: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
2020-12-05 08:19:15 -08:00
..
2020-09-08 14:41:40 +10:00
2020-09-16 13:08:10 +02:00
2020-08-11 11:58:31 +10:00
2020-09-14 18:11:40 +02:00
2020-10-12 20:26:14 +02:00
2020-09-16 11:13:27 +02:00
2020-07-23 10:06:22 +02:00
2020-09-18 06:14:41 +10:00
2020-04-03 17:11:41 +02:00
2020-09-08 14:41:40 +10:00
2020-06-24 09:17:34 +02:00
2020-09-11 10:47:19 +02:00
2020-09-11 10:47:19 +02:00
2020-05-27 14:31:42 +03:00
2020-04-03 17:11:41 +02:00
2020-09-21 10:45:08 +02:00
2020-09-21 10:45:08 +02:00
2020-05-29 12:58:11 +02:00
2020-09-21 10:45:08 +02:00
2020-08-11 11:58:31 +10:00
2020-08-11 11:58:31 +10:00