diff options
author | Loren Huang <b02279@freescale.com> | 2014-01-09 17:03:08 +0800 |
---|---|---|
committer | Loren Huang <b02279@freescale.com> | 2014-01-09 19:04:43 +0800 |
commit | 59bbee0949709f1f136c2f7296805d5d8920ce5b (patch) | |
tree | 61096bcf65c0a27b876a6c05f5a6f0da9e1c2948 /drivers/mxc/gpu-viv/arch/XAQ2/hal | |
parent | cc31ffb1157ea7a4f8a8ca5d7c1c30218c4c413f (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.c | 17 |
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. */ |