diff options
author | Konrad Dybcio <konrad.dybcio@linaro.org> | 2023-06-20 13:10:40 +0200 |
---|---|---|
committer | Rob Clark <robdclark@chromium.org> | 2023-08-07 14:32:10 -0700 |
commit | 6ab410e0ffa3c8aa2fe10692346cf6df59d57a02 (patch) | |
tree | 0aa247f3a90369ca4991215cc98266fba22cd162 /drivers/gpu/drm/msm/adreno | |
parent | 5e46ad83db102ce36ec4d47a62e115b7ac812311 (diff) | |
download | linux-stable-6ab410e0ffa3c8aa2fe10692346cf6df59d57a02.tar.gz linux-stable-6ab410e0ffa3c8aa2fe10692346cf6df59d57a02.tar.bz2 linux-stable-6ab410e0ffa3c8aa2fe10692346cf6df59d57a02.zip |
drm/msm/a6xx: Improve GMU force shutdown sequence
The GMU force shutdown sequence involves some additional register cleanup
which was not implemented previously. Do so.
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/543340/
Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'drivers/gpu/drm/msm/adreno')
-rw-r--r-- | drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c index 452beb90d53c..0bf12524cae4 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c @@ -899,6 +899,13 @@ static void a6xx_gmu_force_off(struct a6xx_gmu *gmu) /* Make sure there are no outstanding RPMh votes */ a6xx_gmu_rpmh_off(gmu); + /* Clear the WRITEDROPPED fields and put fence into allow mode */ + gmu_write(gmu, REG_A6XX_GMU_AHB_FENCE_STATUS_CLR, 0x7); + gmu_write(gmu, REG_A6XX_GMU_AO_AHB_FENCE_CTRL, 0); + + /* Make sure the above writes go through */ + wmb(); + /* Halt the gmu cm3 core */ gmu_write(gmu, REG_A6XX_GMU_CM3_SYSRESET, 1); |