summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Drokin <green@linuxhacker.ru>2013-07-03 15:15:17 -0700
committerAndrew Jiang <sam.andrew.jiang@gmail.com>2013-07-04 09:29:31 -0400
commit7e887b042f97c37365f5f8d0617dd5f5d73abdad (patch)
tree18d89d977b83b9d0f7e8adf918f114d9fe5b5bb8
parent363c0c259416c7e9d93ddf6ffcb655153bff9158 (diff)
downloaddevice_samsung_omap4-common-7e887b042f97c37365f5f8d0617dd5f5d73abdad.zip
device_samsung_omap4-common-7e887b042f97c37365f5f8d0617dd5f5d73abdad.tar.gz
device_samsung_omap4-common-7e887b042f97c37365f5f8d0617dd5f5d73abdad.tar.bz2
sgxpvr: Don't ignore interrupts when preparing to sleep.
Setting the "ignore interrupts" (aka powering_down) mask too early in sleeping preparation hits the assertion later on when the code tries to wait for interrupt acknowledging command reception. This also stops kernel complaints about unhandled interrupts from the gfx. Move the setting to just before we really power down the gfx cores. Change-Id: I5451cca3573bde0a37687ebd08b039e45946652c
-rw-r--r--pvr-source/services4/srvkm/devices/sgx/sgxpower.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/pvr-source/services4/srvkm/devices/sgx/sgxpower.c b/pvr-source/services4/srvkm/devices/sgx/sgxpower.c
index 034deab..a8fc487 100644
--- a/pvr-source/services4/srvkm/devices/sgx/sgxpower.c
+++ b/pvr-source/services4/srvkm/devices/sgx/sgxpower.c
@@ -333,8 +333,6 @@ PVRSRV_ERROR SGXPrePowerState (IMG_HANDLE hDevHandle,
PDUMPCOMMENT("SGX idle request");
}
- powering_down = 1;
-
sCommand.ui32Data[1] = ui32PowerCmd;
eError = SGXScheduleCCBCommand(psDeviceNode, SGXMKIF_CMD_POWER, &sCommand, KERNEL_ID, 0, IMG_NULL, IMG_FALSE);
@@ -418,6 +416,8 @@ PVRSRV_ERROR SGXPrePowerState (IMG_HANDLE hDevHandle,
"Wait for SGX master clock gating (2)");
#endif /* SGX_FEATURE_MP */
+ powering_down = 1;
+
if (eNewPowerState == PVRSRV_DEV_POWER_STATE_OFF)
{
/* Finally, de-initialise some registers. */