]> git.dujemihanovic.xyz Git - linux.git/commitdiff
drm/msm/a6xx: Move force keepalive vote removal to a6xx_gmu_force_off()
authorKonrad Dybcio <konrad.dybcio@linaro.org>
Thu, 15 Jun 2023 23:20:46 +0000 (01:20 +0200)
committerRob Clark <robdclark@chromium.org>
Sun, 18 Jun 2023 18:34:29 +0000 (11:34 -0700)
As pointed out by Akhil during the review process of GMU wrapper
introduction [1], it makes sense to move this write into the function
that's responsible for forcibly shutting the GMU off.

It is also very convenient to move this to GMU-specific code, so that
it does not have to be guarded by an if-condition to avoid calling it
on GMU wrapper targets.

Move the write to the aforementioned a6xx_gmu_force_off() to achieve
that. No effective functional change.

[1] https://lore.kernel.org/linux-arm-msm/20230501194022.GA18382@akhilpo-linux.qualcomm.com/

Reviewed-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/542752/
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/adreno/a6xx_gmu.c
drivers/gpu/drm/msm/adreno/a6xx_gpu.c

index a6fa273d700eef69aa15700b4224e3e86dc39dc9..32852c161aabcdc9c6de7a3b789f7b9061c9c248 100644 (file)
@@ -912,6 +912,12 @@ static void a6xx_gmu_force_off(struct a6xx_gmu *gmu)
        struct adreno_gpu *adreno_gpu = &a6xx_gpu->base;
        struct msm_gpu *gpu = &adreno_gpu->base;
 
+       /*
+        * Turn off keep alive that might have been enabled by the hang
+        * interrupt
+        */
+       gmu_write(&a6xx_gpu->gmu, REG_A6XX_GMU_GMU_PWR_COL_KEEPALIVE, 0);
+
        /* Flush all the queues */
        a6xx_hfi_stop(gmu);
 
index ab5c446e4409b155d9a6613b079e35e3ed082264..eebb4bc7c0f9d994019628bf18226498207dcad3 100644 (file)
@@ -1382,12 +1382,6 @@ static void a6xx_recover(struct msm_gpu *gpu)
        /* Halt SQE first */
        gpu_write(gpu, REG_A6XX_CP_SQE_CNTL, 3);
 
-       /*
-        * Turn off keep alive that might have been enabled by the hang
-        * interrupt
-        */
-       gmu_write(&a6xx_gpu->gmu, REG_A6XX_GMU_GMU_PWR_COL_KEEPALIVE, 0);
-
        pm_runtime_dont_use_autosuspend(&gpu->pdev->dev);
 
        /* active_submit won't change until we make a submission */