diff options
| author | Oleg Perelet <operelet@codeaurora.org> | 2016-07-18 14:57:07 -0700 |
|---|---|---|
| committer | Oleg Perelet <operelet@codeaurora.org> | 2016-07-18 15:01:01 -0700 |
| commit | 4d229df28f62970b01519ce974a281ef3ac91503 (patch) | |
| tree | 2b8ce0a7fa46ec8188d7a495cceb4bbfd360bad0 | |
| parent | d60cc823911d671153e4ebf527abc484f542afe4 (diff) | |
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 <operelet@codeaurora.org>
| -rw-r--r-- | drivers/gpu/msm/adreno.c | 8 |
1 files changed, 8 insertions, 0 deletions
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); |
