gpu: pvr: no need to delay queue processing in SGXPostActivePowerEvent
authorImre Deak <imre.deak@nokia.com>
Mon, 5 Apr 2010 23:06:52 +0000 (02:06 +0300)
committerGrazvydas Ignotas <notasas@gmail.com>
Sun, 20 May 2012 18:09:41 +0000 (21:09 +0300)
At the moment processing of the command queue is delayed in case
SGXPostActivePowerEvent in the HW interrupt code path. This would be
only justified in case of being in interrupt context. This might have
been the case at one point in the history, but now HW interrupts
result in a work scheduled and thus calling the queue processing
function is safe in all cases.

Signed-off-by: Imre Deak <imre.deak@nokia.com>
CC: Mark Underwood <mark.underwood@imgtec.com>
CC: Mark Riding <mark.riding@imgtec.com>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@nokia.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@nokia.com>
pvr/sgxutils.c

index 54b0a05..1bf6ab1 100644 (file)
@@ -57,13 +57,8 @@ static void SGXPostActivePowerEvent(struct PVRSRV_DEVICE_NODE *psDeviceNode,
        writel(l, &psSGXHostCtl->ui32NumActivePowerEvents);
 
        l = readl(&psSGXHostCtl->ui32PowerStatus);
-       if (l & PVRSRV_USSE_EDM_POWMAN_POWEROFF_RESTART_IMMEDIATE) {
-               if (ui32CallerID == ISR_ID)
-                       psDeviceNode->bReProcessDeviceCommandComplete =
-                           IMG_TRUE;
-               else
-                       SGXScheduleProcessQueuesKM(psDeviceNode);
-       }
+       if (l & PVRSRV_USSE_EDM_POWMAN_POWEROFF_RESTART_IMMEDIATE)
+               SGXScheduleProcessQueuesKM(psDeviceNode);
 }
 
 void SGXTestActivePowerEvent(struct PVRSRV_DEVICE_NODE *psDeviceNode,