drm/msm/a5xx: fix setting of the CP_PREEMPT_ENABLE_LOCAL register
[ Upstream commita7a4c19c36
] Rather than writing CP_PREEMPT_ENABLE_GLOBAL twice, follow the vendor kernel and set CP_PREEMPT_ENABLE_LOCAL register instead. a5xx_submit() will override it during submission, but let's get the sequence correct. Fixes:b1fc2839d2
("drm/msm: Implement preemption for A5XX targets") Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Patchwork: https://patchwork.freedesktop.org/patch/522638/ Link: https://lore.kernel.org/r/20230214020956.164473-2-dmitry.baryshkov@linaro.org Signed-off-by: Rob Clark <robdclark@chromium.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
fa73f67ac0
commit
d334248d19
@ -151,8 +151,8 @@ static void a5xx_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit)
|
|||||||
OUT_RING(ring, 1);
|
OUT_RING(ring, 1);
|
||||||
|
|
||||||
/* Enable local preemption for finegrain preemption */
|
/* Enable local preemption for finegrain preemption */
|
||||||
OUT_PKT7(ring, CP_PREEMPT_ENABLE_GLOBAL, 1);
|
OUT_PKT7(ring, CP_PREEMPT_ENABLE_LOCAL, 1);
|
||||||
OUT_RING(ring, 0x02);
|
OUT_RING(ring, 0x1);
|
||||||
|
|
||||||
/* Allow CP_CONTEXT_SWITCH_YIELD packets in the IB2 */
|
/* Allow CP_CONTEXT_SWITCH_YIELD packets in the IB2 */
|
||||||
OUT_PKT7(ring, CP_YIELD_ENABLE, 1);
|
OUT_PKT7(ring, CP_YIELD_ENABLE, 1);
|
||||||
|
Reference in New Issue
Block a user