diff options
author | Dmitry Baryshkov <dmitry.baryshkov@linaro.org> | 2023-02-14 05:09:53 +0300 |
---|---|---|
committer | Rob Clark <robdclark@chromium.org> | 2023-02-22 11:22:03 -0800 |
commit | a7a4c19c36de1e4b99b06e4060ccc8ab837725bc (patch) | |
tree | 0920e8a6cc22c512a8502a2a6f047f1ad7f7c738 /drivers | |
parent | 4cd15a3e8b36a94c4afa6af064ebe09d387ae034 (diff) | |
download | linux-stable-a7a4c19c36de1e4b99b06e4060ccc8ab837725bc.tar.gz linux-stable-a7a4c19c36de1e4b99b06e4060ccc8ab837725bc.tar.bz2 linux-stable-a7a4c19c36de1e4b99b06e4060ccc8ab837725bc.zip |
drm/msm/a5xx: fix setting of the CP_PREEMPT_ENABLE_LOCAL register
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: b1fc2839d2f9 ("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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c index 660ba0db8900..8b2df12d8681 100644 --- a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c @@ -151,8 +151,8 @@ static void a5xx_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit) OUT_RING(ring, 1); /* Enable local preemption for finegrain preemption */ - OUT_PKT7(ring, CP_PREEMPT_ENABLE_GLOBAL, 1); - OUT_RING(ring, 0x02); + OUT_PKT7(ring, CP_PREEMPT_ENABLE_LOCAL, 1); + OUT_RING(ring, 0x1); /* Allow CP_CONTEXT_SWITCH_YIELD packets in the IB2 */ OUT_PKT7(ring, CP_YIELD_ENABLE, 1); |