summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-07-25 15:29:45 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-07-25 15:29:44 -0700
commitdd657527bab8ed0f4f2d0642dfb1e3ca093d5c75 (patch)
tree52401a33fe67fe80f4c275f59ecfc8cd38ad7749 /drivers/gpu
parent18c4aab869dec83394034a9559195acdfb065ada (diff)
parent9b0026e54f16dfc64d8bc8a566e333bfdaa314db (diff)
Merge "msm: kgsl: Update total time at right place for accurate GPU busy"
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/msm/kgsl_pwrscale.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/msm/kgsl_pwrscale.c b/drivers/gpu/msm/kgsl_pwrscale.c
index 3e4cc4490792..2b7a1fcbaa78 100644
--- a/drivers/gpu/msm/kgsl_pwrscale.c
+++ b/drivers/gpu/msm/kgsl_pwrscale.c
@@ -591,7 +591,7 @@ int kgsl_devfreq_get_dev_status(struct device *dev,
struct kgsl_device *device = dev_get_drvdata(dev);
struct kgsl_pwrctrl *pwrctrl;
struct kgsl_pwrscale *pwrscale;
- ktime_t tmp;
+ ktime_t tmp1, tmp2;
if (device == NULL)
return -ENODEV;
@@ -602,6 +602,8 @@ int kgsl_devfreq_get_dev_status(struct device *dev,
pwrctrl = &device->pwrctrl;
mutex_lock(&device->mutex);
+
+ tmp1 = ktime_get();
/*
* If the GPU clock is on grab the latest power counter
* values. Otherwise the most recent ACTIVE values will
@@ -609,9 +611,9 @@ int kgsl_devfreq_get_dev_status(struct device *dev,
*/
kgsl_pwrscale_update_stats(device);
- tmp = ktime_get();
- stat->total_time = ktime_us_delta(tmp, pwrscale->time);
- pwrscale->time = tmp;
+ tmp2 = ktime_get();
+ stat->total_time = ktime_us_delta(tmp2, pwrscale->time);
+ pwrscale->time = tmp1;
stat->busy_time = pwrscale->accum_stats.busy_time;