summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorJonathan Marek <jonathan@marek.ca>2020-08-13 20:54:48 +0200
committerRob Clark <robdclark@chromium.org>2020-08-22 19:56:45 +0200
commit5e0c22d4a9ddae4e784a3e171b9d3d452b37aeb2 (patch)
treebba535f466d67c9219daf5d0f2161fa387fd73db /drivers/gpu/drm
parentdrm/msm/a6xx: add module param to enable debugbus snapshot (diff)
downloadlinux-5e0c22d4a9ddae4e784a3e171b9d3d452b37aeb2.tar.xz
linux-5e0c22d4a9ddae4e784a3e171b9d3d452b37aeb2.zip
drm/msm/a6xx: fix frequency not always being restored on GMU resume
The patch reorganizing the set_freq function made it so the gmu resume doesn't always set the frequency, because a6xx_gmu_set_freq() exits early when the frequency hasn't been changed. Note this always happens when resuming GMU after recovering from a hang. Use a simple workaround to prevent this from happening. Fixes: 1f60d11423db ("drm: msm: a6xx: send opp instead of a frequency") Signed-off-by: Jonathan Marek <jonathan@marek.ca> Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/msm/adreno/a6xx_gmu.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
index b3b5047bb7e7..46a29e383bfd 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
@@ -851,6 +851,7 @@ static void a6xx_gmu_set_initial_freq(struct msm_gpu *gpu, struct a6xx_gmu *gmu)
if (IS_ERR_OR_NULL(gpu_opp))
return;
+ gmu->freq = 0; /* so a6xx_gmu_set_freq() doesn't exit early */
a6xx_gmu_set_freq(gpu, gpu_opp);
dev_pm_opp_put(gpu_opp);
}