From 4d229df28f62970b01519ce974a281ef3ac91503 Mon Sep 17 00:00:00 2001 From: Oleg Perelet Date: Mon, 18 Jul 2016 14:57:07 -0700 Subject: msm: kgsl: Add 5usec delay for idle check on A540 CRC idle throttling effectively slows down GPU 10x, internal GPU idle hysteresis does not account for this and may take up to 3usec to expire. Make host delay. CRs-Fixed: 1028293 Change-Id: I0a80e49a3fea6e0e8d9e8b82847188b0a4452943 Signed-off-by: Oleg Perelet --- drivers/gpu/msm/adreno.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'drivers') diff --git a/drivers/gpu/msm/adreno.c b/drivers/gpu/msm/adreno.c index 26e341a876e8..44ff881a5f5b 100644 --- a/drivers/gpu/msm/adreno.c +++ b/drivers/gpu/msm/adreno.c @@ -2051,6 +2051,14 @@ bool adreno_hw_isidle(struct adreno_device *adreno_dev) const struct adreno_gpu_core *gpucore = adreno_dev->gpucore; unsigned int reg_rbbm_status; + if (adreno_is_a540(adreno_dev)) + /** + * Due to CRC idle throttling GPU + * idle hysteresys can take up to + * 3usec for expire - account for it + */ + udelay(5); + adreno_readreg(adreno_dev, ADRENO_REG_RBBM_STATUS, ®_rbbm_status); -- cgit v1.2.3