]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/msm/a7xx: Add missing register writes from downstream
authorConnor Abbott <cwabbott0@gmail.com>
Tue, 30 Apr 2024 10:43:20 +0000 (11:43 +0100)
committerRob Clark <robdclark@chromium.org>
Fri, 21 Jun 2024 20:41:43 +0000 (13:41 -0700)
This isn't known to fix anything yet, but it's a good idea to add it.

Signed-off-by: Connor Abbott <cwabbott0@gmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/592043/
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/adreno/a6xx_gpu.c

index 07c2cd2d509870f2f3d5f4558a6dd65c42fa0f6c..c98cdb1e932663cc4b50f84661658b9c83fdcec5 100644 (file)
@@ -1091,6 +1091,17 @@ static int hw_init(struct msm_gpu *gpu)
                                  BIT(6) | BIT(5) | BIT(3) | BIT(2) | BIT(1));
        }
 
+       if (adreno_is_a750(adreno_gpu)) {
+               /* Disable ubwc merged UFC request feature */
+               gpu_rmw(gpu, REG_A6XX_RB_CMP_DBG_ECO_CNTL, BIT(19), BIT(19));
+
+               /* Enable TP flaghint and other performance settings */
+               gpu_write(gpu, REG_A6XX_TPL1_DBG_ECO_CNTL1, 0xc0700);
+       } else if (adreno_is_a7xx(adreno_gpu)) {
+               /* Disable non-ubwc read reqs from passing write reqs */
+               gpu_rmw(gpu, REG_A6XX_RB_CMP_DBG_ECO_CNTL, BIT(11), BIT(11));
+       }
+
        /* Enable interrupts */
        gpu_write(gpu, REG_A6XX_RBBM_INT_0_MASK,
                  adreno_is_a7xx(adreno_gpu) ? A7XX_INT_MASK : A6XX_INT_MASK);