summaryrefslogtreecommitdiff
path: root/drivers/mxc/gpu-viv/arch/XAQ2/hal
diff options
context:
space:
mode:
authorLoren Huang <b02279@freescale.com>2014-01-09 17:03:08 +0800
committerLoren Huang <b02279@freescale.com>2014-01-09 19:04:43 +0800
commit59bbee0949709f1f136c2f7296805d5d8920ce5b (patch)
tree61096bcf65c0a27b876a6c05f5a6f0da9e1c2948 /drivers/mxc/gpu-viv/arch/XAQ2/hal
parentcc31ffb1157ea7a4f8a8ca5d7c1c30218c4c413f (diff)
ENGR00284988 gpu:Sync gpu kernel driver code
Sync the code with commit 255ee1de in gpu-viv git. Mainly covered tickets: ENGR00288588 fixed system reboot when run webGL test ENGR00284988 Camera recording kernel crash on WFD source ENGR00283494 Modify Status to status to avoid build error ENGR00278179-1 query video memory with seperate types Signed-off-by: Loren Huang <b02279@freescale.com> Acked-by: Shawn Guo
Diffstat (limited to 'drivers/mxc/gpu-viv/arch/XAQ2/hal')
-rw-r--r--drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c b/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c
index bdf9e13e7ca7..e8ad2ea3e031 100644
--- a/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c
+++ b/drivers/mxc/gpu-viv/arch/XAQ2/hal/kernel/gc_hal_kernel_hardware.c
@@ -4163,6 +4163,23 @@ gckHARDWARE_SetPowerManagementState(
** if lock holder call gckCOMMAND_Stall() */
gcmkONERROR(gcvSTATUS_INVALID_REQUEST);
}
+#if gcdPOWEROFF_TIMEOUT
+ else if(State == gcvPOWER_OFF && timeout == gcvTRUE)
+ {
+ /*
+ ** try to aqcuire the mutex with more milliseconds,
+ ** flush_delayed_work should be running with timeout,
+ ** so waiting here will cause deadlock */
+ status = gckOS_AcquireMutex(os, Hardware->powerMutex, gcdPOWEROFF_TIMEOUT);
+
+ if (status == gcvSTATUS_TIMEOUT)
+ {
+ gckOS_Print("GPU Timer deadlock, exit by timeout!!!!\n");
+
+ gcmkONERROR(gcvSTATUS_INVALID_REQUEST);
+ }
+ }
+#endif
else
{
/* Acquire the power mutex. */