From f5d225e2ffc9581b4d8dd6391e09f5564dd25bde Mon Sep 17 00:00:00 2001 From: Prakash Kamliya Date: Wed, 14 Oct 2015 11:22:59 +0530 Subject: [PATCH] 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 Signed-off-by: Divya Ponnusamy --- drivers/gpu/msm/kgsl_pwrctrl.c | 7 +++++-- 1 file 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: