From 4b49f902ec6f2bb382cbbf489870573f4b43371e Mon Sep 17 00:00:00 2001
From: Rob Clark <robdclark@chromium.org>
Date: Wed, 2 Sep 2020 11:11:58 -0700
Subject: [PATCH] drm/msm/a6xx: make GPUs SMMU context bank available in it's
 aperture.

This is a workaround for old cheza firmware

v2:
 - add ifdef for ARM64 since the change isn't relevant outside of it

Signed-off-by: Eric Anholt <eric@anholt.net>
---
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
index 411b7a5fa2f3..1810b2395f14 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
@@ -1197,6 +1197,14 @@ static int hw_init(struct msm_gpu *gpu)
 		if (!a6xx_idle(gpu, gpu->rb[0]))
 			return -EINVAL;
 	} else if (ret == -ENODEV) {
+#if defined(CONFIG_ARM64)
+		static bool first = true;
+		if (first) {
+			void __iomem *reg = ioremap(0x05060000, 0x1000);
+			writeq(0x48000, reg); /* offset of cb0 from gpu's base */
+			iounmap(reg);
+		}
+#endif
 		/*
 		 * This device does not use zap shader (but print a warning
 		 * just in case someone got their dt wrong.. hopefully they
-- 
GitLab