summaryrefslogtreecommitdiff
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
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>
-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));