Skip to content

Commit

Permalink
msm: kgsl: enable CPU IRQ while suspending context
Browse files Browse the repository at this point in the history
Make sure that CPU interrupt is enabled before calling adreno
suspend_context when moving from NAP/SLEEP to SLUMBER state.
We send commands to GPU in adreno_drawctxt_switch() which will generate
GPU interrupt. Since CPU interrupt is not enabled, adreno_idle() will
fail because pending interrupt will not be served by CPU this causes
false GPU hang.

CRs-Fixed: 547813

Change-Id: Ia4b730b8f8cda1e820f571ffb7ddb00336ca1a8c
Signed-off-by: Gaurav Gagrani <ggagrani@codeaurora.org>
  • Loading branch information
Gaurav Gagrani authored and imoseyon committed Oct 5, 2014
1 parent efa57cd commit 2cb1071
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion drivers/gpu/msm/kgsl_pwrctrl.c
@@ -1,4 +1,4 @@
/* Copyright (c) 2010-2013, The Linux Foundation. All rights reserved.
/* Copyright (c) 2010-2014, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
Expand Down Expand Up @@ -1448,6 +1448,7 @@ _slumber(struct kgsl_device *device)
del_timer_sync(&device->idle_timer);
/* make sure power is on to stop the device*/
kgsl_pwrctrl_enable(device);
kgsl_pwrctrl_irq(device, KGSL_PWRFLAGS_ON);
device->ftbl->suspend_context(device);
device->ftbl->stop(device);
_sleep_accounting(device);
Expand Down

0 comments on commit 2cb1071

Please sign in to comment.