aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJordan Crouse <jcrouse@codeaurora.org>2017-07-27 12:42:32 -0400
committerRob Clark <robdclark@gmail.com>2017-08-01 19:10:53 -0400
commita23cb3b52fec73b22671bac65356d8c55bf37706 (patch)
tree5d02abbeb0ecf62523197f4f33dbd26da944c9c1
parent6e749e5971fc7c7a33d7a673fbe4944604b397cf (diff)
drm/msm: Turn off hardware clock gating before reading A5XX registers
On A5XX GPU hardware clock gating needs to be turned off before reading certain GPU registers via AHB. Turn off HWCG before calling adreno_show() to safely dump all the registers without a system hang. Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org> Signed-off-by: Rob Clark <robdclark@gmail.com>
-rw-r--r--drivers/gpu/drm/msm/adreno/a5xx_gpu.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
index c1f8c20414f1..33763b005b7b 100644
--- a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
@@ -995,7 +995,14 @@ static void a5xx_show(struct msm_gpu *gpu, struct seq_file *m)
995{ 995{
996 seq_printf(m, "status: %08x\n", 996 seq_printf(m, "status: %08x\n",
997 gpu_read(gpu, REG_A5XX_RBBM_STATUS)); 997 gpu_read(gpu, REG_A5XX_RBBM_STATUS));
998
999 /*
1000 * Temporarily disable hardware clock gating before going into
1001 * adreno_show to avoid issues while reading the registers
1002 */
1003 a5xx_set_hwcg(gpu, false);
998 adreno_show(gpu, m); 1004 adreno_show(gpu, m);
1005 a5xx_set_hwcg(gpu, true);
999} 1006}
1000#endif 1007#endif
1001 1008