summaryrefslogtreecommitdiff
path: root/drivers/gpu/msm/kgsl_pwrctrl.c
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-07-15 03:44:34 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-07-15 03:44:33 -0700
commitc1a59856b22c5eeb7a1c285593d81e0a0ba16239 (patch)
treee0e8293e1837b88f333f64367fc7ff82029ecddc /drivers/gpu/msm/kgsl_pwrctrl.c
parent90ef75e99a8487359808c2e99c0c84920be63d90 (diff)
parent0eabd97c5c3157f3cd340c815a3ab9f7855bdc23 (diff)
Merge "msm: kgsl: Disable GPU software clockgating on A540"
Diffstat (limited to 'drivers/gpu/msm/kgsl_pwrctrl.c')
-rw-r--r--drivers/gpu/msm/kgsl_pwrctrl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/msm/kgsl_pwrctrl.c b/drivers/gpu/msm/kgsl_pwrctrl.c
index 51717373b821..da8c8585d31e 100644
--- a/drivers/gpu/msm/kgsl_pwrctrl.c
+++ b/drivers/gpu/msm/kgsl_pwrctrl.c
@@ -1802,6 +1802,9 @@ int kgsl_pwrctrl_init(struct kgsl_device *device)
pwr->power_flags = BIT(KGSL_PWRFLAGS_RETENTION_ON);
+ if (of_property_read_bool(pdev->dev.of_node, "qcom,no-nap"))
+ device->pwrctrl.ctrl_flags |= BIT(KGSL_PWRFLAGS_NAP_OFF);
+
if (pwr->num_pwrlevels == 0) {
KGSL_PWR_ERR(device, "No power levels are defined\n");
return -EINVAL;
@@ -2606,7 +2609,8 @@ void kgsl_active_count_put(struct kgsl_device *device)
device->requested_state == KGSL_STATE_NONE) {
kgsl_pwrctrl_request_state(device, KGSL_STATE_NAP);
kgsl_schedule_work(&device->idle_check_ws);
- }
+ } else if (!nap_on)
+ kgsl_pwrscale_update_stats(device);
mod_timer(&device->idle_timer,
jiffies + device->pwrctrl.interval_timeout);