diff options
author | Prakash Kamliya <pkamliya@codeaurora.org> | 2015-10-14 11:22:59 +0530 |
---|---|---|
committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:12:29 -0700 |
commit | f5d225e2ffc9581b4d8dd6391e09f5564dd25bde (patch) | |
tree | 9baa918ae9e20c09c2701aea14f471902c380276 /drivers/gpu/msm/kgsl_pwrctrl.c | |
parent | 56ed9e43b79770aac5c959b79c4b72fdaf50c9e0 (diff) |
msm: kgsl: Fix state transition action from deep_nap state
Deep nap removes the quality of service latency vote. Restore device
before powering back the GPU while coming out of deep nap.
Change-Id: I9366ffa6f5f2768cb3ea10f9117678ba8cf8d190
Signed-off-by: Prakash Kamliya <pkamliya@codeaurora.org>
Signed-off-by: Divya Ponnusamy <pdivya@codeaurora.org>
Diffstat (limited to 'drivers/gpu/msm/kgsl_pwrctrl.c')
-rw-r--r-- | drivers/gpu/msm/kgsl_pwrctrl.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/msm/kgsl_pwrctrl.c b/drivers/gpu/msm/kgsl_pwrctrl.c index e10901804076..1da59d437a77 100644 --- a/drivers/gpu/msm/kgsl_pwrctrl.c +++ b/drivers/gpu/msm/kgsl_pwrctrl.c @@ -1982,11 +1982,14 @@ static int _init(struct kgsl_device *device) { int status = 0; switch (device->state) { - case KGSL_STATE_NAP: case KGSL_STATE_DEEP_NAP: - case KGSL_STATE_SLEEP: + pm_qos_update_request(&device->pwrctrl.pm_qos_req_dma, + device->pwrctrl.pm_qos_active_latency); /* Get the device out of retention */ kgsl_pwrctrl_retention_clk(device, KGSL_PWRFLAGS_ON); + /* fall through */ + case KGSL_STATE_NAP: + case KGSL_STATE_SLEEP: /* Force power on to do the stop */ status = kgsl_pwrctrl_enable(device); case KGSL_STATE_ACTIVE: |