summaryrefslogtreecommitdiffstats
path: root/pvr-source/services4/srvkm/devices/sgx/sgxutils.c
diff options
context:
space:
mode:
authorHemant Hariyani <hemanthariyani@ti.com>2013-07-03 15:14:18 -0700
committerAndrew Jiang <sam.andrew.jiang@gmail.com>2013-07-04 07:33:40 -0400
commit363c0c259416c7e9d93ddf6ffcb655153bff9158 (patch)
treebf7fda0dfb7a4cbc33656c8b2b37000c13ad1cd0 /pvr-source/services4/srvkm/devices/sgx/sgxutils.c
parent08130d7fa7748feefb437ffb8f626dab7d75679e (diff)
downloaddevice_samsung_omap4-common-363c0c259416c7e9d93ddf6ffcb655153bff9158.zip
device_samsung_omap4-common-363c0c259416c7e9d93ddf6ffcb655153bff9158.tar.gz
device_samsung_omap4-common-363c0c259416c7e9d93ddf6ffcb655153bff9158.tar.bz2
SGX-BIN: DDK binaries and KM source 1.9@2291151
Includes new pixel formats. Change-Id: I4a56e6bff9c477610f2ce30706831f66dcc9c651
Diffstat (limited to 'pvr-source/services4/srvkm/devices/sgx/sgxutils.c')
-rw-r--r--pvr-source/services4/srvkm/devices/sgx/sgxutils.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/pvr-source/services4/srvkm/devices/sgx/sgxutils.c b/pvr-source/services4/srvkm/devices/sgx/sgxutils.c
index 227675d..d5cb3c1 100644
--- a/pvr-source/services4/srvkm/devices/sgx/sgxutils.c
+++ b/pvr-source/services4/srvkm/devices/sgx/sgxutils.c
@@ -172,9 +172,11 @@ IMG_VOID SGXTestActivePowerEvent (PVRSRV_DEVICE_NODE *psDeviceNode,
((psSGXHostCtl->ui32InterruptFlags & PVRSRV_USSE_EDM_INTERRUPT_IDLE) != 0))
{
psSGXHostCtl->ui32InterruptClearFlags |= PVRSRV_USSE_EDM_INTERRUPT_IDLE;
- psDevInfo->bSGXIdle = IMG_TRUE;
-
- SysSGXIdleEntered();
+ if (psDevInfo->bSGXIdle == IMG_FALSE)
+ {
+ psDevInfo->bSGXIdle = IMG_TRUE;
+ SysSGXIdleEntered();
+ }
}
/*
@@ -709,9 +711,6 @@ PVRSRV_ERROR SGXScheduleCCBCommandKM(PVRSRV_DEVICE_NODE *psDeviceNode,
/* Note that a power-up has been dumped in the init phase. */
PDUMPSUSPEND();
- SysSGXCommandPending(psDevInfo->bSGXIdle);
- psDevInfo->bSGXIdle = IMG_FALSE;
-
/* Ensure that SGX is powered up before kicking the ukernel. */
eError = PVRSRVSetDevicePowerStateKM(psDeviceNode->sDevId.ui32DeviceIndex,
PVRSRV_DEV_POWER_STATE_ON);
@@ -729,6 +728,9 @@ PVRSRV_ERROR SGXScheduleCCBCommandKM(PVRSRV_DEVICE_NODE *psDeviceNode,
return eError;
}
+ SysSGXCommandPending(psDevInfo->bSGXIdle);
+ psDevInfo->bSGXIdle = IMG_FALSE;
+
eError = SGXScheduleCCBCommand(psDeviceNode, eCmdType, psCommandData, ui32CallerID, ui32PDumpFlags, hDevMemContext, bLastInScene);
PVRSRVPowerUnlock(ui32CallerID);