drm/msm/a6xx: add missing PC_DBG_ECO_CNTL bit for a640/a650
authorJonathan Marek <jonathan@marek.ca>
Tue, 8 Jun 2021 17:27:47 +0000 (13:27 -0400)
committerRob Clark <robdclark@chromium.org>
Wed, 23 Jun 2021 14:33:55 +0000 (07:33 -0700)
See downstream's "disable_tseskip" flag.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Link: https://lore.kernel.org/r/20210608172808.11803-5-jonathan@marek.ca
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/adreno/a6xx_gpu.c

index a69150cb75d870466efc3c68c9b4a6f913d51b6e..16b3bd9ad44cd4f09f262bfb8baf353b52540d2a 100644 (file)
@@ -844,13 +844,15 @@ static int a6xx_hw_init(struct msm_gpu *gpu)
        /* Setting the mem pool size */
        gpu_write(gpu, REG_A6XX_CP_MEM_POOL_SIZE, 128);
 
-       /* Setting the primFifo thresholds default values */
+       /* Setting the primFifo thresholds default values,
+        * and vccCacheSkipDis=1 bit (0x200) for A640 and newer
+       */
        if (adreno_is_a650(adreno_gpu))
-               gpu_write(gpu, REG_A6XX_PC_DBG_ECO_CNTL, 0x00300000);
+               gpu_write(gpu, REG_A6XX_PC_DBG_ECO_CNTL, 0x00300200);
        else if (adreno_is_a640(adreno_gpu))
-               gpu_write(gpu, REG_A6XX_PC_DBG_ECO_CNTL, 0x00200000);
+               gpu_write(gpu, REG_A6XX_PC_DBG_ECO_CNTL, 0x00200200);
        else
-               gpu_write(gpu, REG_A6XX_PC_DBG_ECO_CNTL, (0x300 << 11));
+               gpu_write(gpu, REG_A6XX_PC_DBG_ECO_CNTL, 0x00180000);
 
        /* Set the AHB default slave response to "ERROR" */
        gpu_write(gpu, REG_A6XX_CP_AHB_CNTL, 0x1);