From b2cc23c87370809a7d27f9cf81c25d1b5e0fa4ca Mon Sep 17 00:00:00 2001 From: Hareesh Gundu Date: Tue, 22 Sep 2020 20:46:03 +0530 Subject: [PATCH] msm: kgsl: Update HW idle check for A619 holi Update HW idle check for A619 holi to ensure GPU idle status is captured correctly. Change-Id: I2c332e43b3e3f653421e0bc4ab823ac557cfa141 Signed-off-by: Hareesh Gundu --- drivers/gpu/msm/adreno_a6xx.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/msm/adreno_a6xx.c b/drivers/gpu/msm/adreno_a6xx.c index 601131040f1a..6c148ea047ca 100644 --- a/drivers/gpu/msm/adreno_a6xx.c +++ b/drivers/gpu/msm/adreno_a6xx.c @@ -1072,13 +1072,14 @@ static void a6xx_gpu_keepalive(struct adreno_device *adreno_dev, static bool a619_holi_hw_isidle(struct adreno_device *adreno_dev) { + struct kgsl_device *device = KGSL_DEVICE(adreno_dev); unsigned int reg; - adreno_read_gmu_wrapper(adreno_dev, - A6XX_GPU_GMU_AO_GPU_CX_BUSY_STATUS, ®); + kgsl_regread(device, A6XX_RBBM_STATUS, ®); + if (reg & 0xfffffffe) + return false; - /* Bit 23 is GPUBUSYIGNAHB */ - return (reg & BIT(23)) ? false : true; + return adreno_irq_pending(adreno_dev) ? false : true; } bool a6xx_hw_isidle(struct adreno_device *adreno_dev)