From 9d0942b5528af0d80300320bdbed5d93419dafbd Mon Sep 17 00:00:00 2001 From: Raghu Ananya Arabolu Date: Thu, 28 May 2020 14:04:39 -0700 Subject: [PATCH] msm: kgsl: Disable UCHE dual command queue UCHE dual command queue configuration is resulting in a GPU hang. Set UCHE_CMDQ_CONFIG to disable dual command queue. Change-Id: I67daf5cbda1c170c5658c1e2308b8c0fd00540d6 Signed-off-by: Raghu Ananya Arabolu --- drivers/gpu/msm/a6xx_reg.h | 1 + drivers/gpu/msm/adreno_a6xx.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/drivers/gpu/msm/a6xx_reg.h b/drivers/gpu/msm/a6xx_reg.h index 6f0276324c74..67675b5ffaff 100644 --- a/drivers/gpu/msm/a6xx_reg.h +++ b/drivers/gpu/msm/a6xx_reg.h @@ -726,6 +726,7 @@ #define A6XX_UCHE_PERFCTR_UCHE_SEL_10 0xE26 #define A6XX_UCHE_PERFCTR_UCHE_SEL_11 0xE27 #define A6XX_UCHE_GBIF_GX_CONFIG 0xE3A +#define A6XX_UCHE_CMDQ_CONFIG 0xE3C /* SP registers */ #define A6XX_SP_ADDR_MODE_CNTL 0xAE01 diff --git a/drivers/gpu/msm/adreno_a6xx.c b/drivers/gpu/msm/adreno_a6xx.c index 3e8c402c93e5..33a9bf170019 100644 --- a/drivers/gpu/msm/adreno_a6xx.c +++ b/drivers/gpu/msm/adreno_a6xx.c @@ -109,6 +109,7 @@ static u32 a650_pwrup_reglist[] = { A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_2, A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_3, A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_4, + A6XX_UCHE_CMDQ_CONFIG, }; static u32 a615_pwrup_reglist[] = { @@ -633,6 +634,7 @@ static void a6xx_start(struct adreno_device *adreno_dev) if (adreno_is_a660(adreno_dev)) { kgsl_regwrite(device, A6XX_CP_CHICKEN_DBG, 0x1); kgsl_regwrite(device, A6XX_RBBM_GBIF_CLIENT_QOS_CNTL, 0x0); + kgsl_regwrite(device, A6XX_UCHE_CMDQ_CONFIG, 0x90); } if (ADRENO_FEATURE(adreno_dev, ADRENO_APRIV))