diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2014-03-14 13:13:54 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2014-03-14 13:13:53 -0700 |
commit | 7bbebd78b34ef3d6acfeacf62e13cbef8e9ba544 (patch) | |
tree | 1b34bda5bff8249b744d4eb54c90f2a145913017 | |
parent | 93f942fddfc4dcae2937befcbe45c44ee4cdfb0e (diff) | |
parent | f6febdbf53bc89a82956c74723a06eb0d735aa07 (diff) |
Merge "msm: kgsl: Reduce the delay time for A4XX HLSQ reset in snapshot"
-rw-r--r-- | drivers/gpu/msm/adreno_a4xx_snapshot.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/drivers/gpu/msm/adreno_a4xx_snapshot.c b/drivers/gpu/msm/adreno_a4xx_snapshot.c index 0b05b9f3751e..b7f68771517e 100644 --- a/drivers/gpu/msm/adreno_a4xx_snapshot.c +++ b/drivers/gpu/msm/adreno_a4xx_snapshot.c @@ -305,26 +305,20 @@ static void *a4xx_snapshot_debugbus(struct kgsl_device *device, static void a4xx_reset_hlsq(struct kgsl_device *device) { - unsigned long waittime; - unsigned int val; + unsigned int val, dummy = 0; /* reset cp */ kgsl_regwrite(device, A4XX_RBBM_BLOCK_SW_RESET_CMD, 1 << 20); - waittime = jiffies + 100; - while (time_before(jiffies, waittime)) - ; + kgsl_regread(device, A4XX_RBBM_BLOCK_SW_RESET_CMD, &dummy); /* reset hlsq */ kgsl_regwrite(device, A4XX_RBBM_BLOCK_SW_RESET_CMD, 1 << 25); - waittime = jiffies + 100; - while (time_before(jiffies, waittime)) - ; + kgsl_regread(device, A4XX_RBBM_BLOCK_SW_RESET_CMD, &dummy); /* clear reset bits */ kgsl_regwrite(device, A4XX_RBBM_BLOCK_SW_RESET_CMD, 0); - waittime = jiffies + 100; - while (time_before(jiffies, waittime)) - ; + kgsl_regread(device, A4XX_RBBM_BLOCK_SW_RESET_CMD, &dummy); + /* set HLSQ_TIMEOUT_THRESHOLD.cycle_timeout_limit_sp to 26 */ kgsl_regread(device, A4XX_HLSQ_TIMEOUT_THRESHOLD, &val); |