summaryrefslogtreecommitdiff
path: root/drivers/mxc/gpu-viv/arch/XAQ2/hal
diff options
context:
space:
mode:
authorShawn Xiao <b49994@freescale.com>2015-05-14 20:08:42 +0800
committerPrabhu Sundararaj <prabhu.sundararaj@freescale.com>2015-05-15 11:18:15 -0500
commitfc6e710576142fbd831a5c50847d582ddb695fde (patch)
treebfb5e80ddfb744c92ce0ff28b6823b1933a4e88c /drivers/mxc/gpu-viv/arch/XAQ2/hal
parent0bb8691062ac99b3311a4a5dd99ea3c42b9c7d04 (diff)
MGS-732 [#ccc] fix gpu hang when disable power management
gpu hang when disable power management, because GPU PU is turned off before gpu probe, gpu power management need handle this case and turn the power on first. Date: May 11, 2015 Signed-off-by: Xianzhong <b07117@freescale.com>
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.c14
1 files changed, 8 insertions, 6 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 e428040cb96f..e6338d0386fd 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
@@ -4103,12 +4103,6 @@ gckHARDWARE_SetPowerManagementState(
command = Hardware->kernel->command;
gcmkVERIFY_OBJECT(command, gcvOBJ_COMMAND);
- if (Hardware->powerManagement == gcvFALSE)
- {
- gcmkFOOTER_NO();
- return gcvSTATUS_OK;
- }
-
/* Start profiler. */
gcmkPROFILE_INIT(freq, time);
@@ -4179,6 +4173,14 @@ gckHARDWARE_SetPowerManagementState(
break;
}
+ if (Hardware->powerManagement == gcvFALSE
+ && State != gcvPOWER_ON
+ )
+ {
+ gcmkFOOTER_NO();
+ return gcvSTATUS_OK;
+ }
+
/* Get current process and thread IDs. */
gcmkONERROR(gckOS_GetProcessID(&process));
gcmkONERROR(gckOS_GetThreadID(&thread));