diff --git a/drivers/gpu/msm/a6xx_reg.h b/drivers/gpu/msm/a6xx_reg.h index 7b7d161c7f9f..6f0276324c74 100644 --- a/drivers/gpu/msm/a6xx_reg.h +++ b/drivers/gpu/msm/a6xx_reg.h @@ -826,6 +826,7 @@ #define GBIF_AXI1_WRITE_DATA_TOTAL_BEATS 47 /* GBIF registers */ +#define A6XX_GBIF_SCACHE_CNTL0 0x3c01 #define A6XX_GBIF_SCACHE_CNTL1 0x3c02 #define A6XX_GBIF_QSB_SIDE0 0x3c03 #define A6XX_GBIF_QSB_SIDE1 0x3c04 diff --git a/drivers/gpu/msm/adreno_a6xx.c b/drivers/gpu/msm/adreno_a6xx.c index 6042e4451527..b75e4a5ab64d 100644 --- a/drivers/gpu/msm/adreno_a6xx.c +++ b/drivers/gpu/msm/adreno_a6xx.c @@ -1219,6 +1219,14 @@ static void a6xx_llc_configure_gpu_scid(struct adreno_device *adreno_dev) adreno_cx_misc_regrmw(adreno_dev, A6XX_GPU_CX_MISC_SYSTEM_CACHE_CNTL_1, A6XX_GPU_LLC_SCID_MASK, gpu_cntl1_val); + + /* + * On A660, the SCID programming for UCHE traffic is done in + * A6XX_GBIF_SCACHE_CNTL0[14:10] + */ + if (adreno_is_a660(adreno_dev)) + kgsl_regrmw(device, A6XX_GBIF_SCACHE_CNTL0, 0x1f << 10, + gpu_scid << 10); } /*