diff options
author | Loren Huang <b02279@freescale.com> | 2012-05-21 15:32:25 +0800 |
---|---|---|
committer | Jason Liu <r64343@freescale.com> | 2012-07-20 13:37:50 +0800 |
commit | 7265e99b975ca2f18e2eecca6579d11877810503 (patch) | |
tree | cd1b02a89f1ca3b099eb18ac819a5293c87918ca /drivers/mxc/gpu-viv/hal/os | |
parent | a8cc4702bf80182de4246276b1814475b7f2f794 (diff) |
ENGR00209716-2 Revert "ENGR00209022 Update gpu clock management code"
This code is in 4.6.8 package.
This patch will cause suspend/resume failure
and data abort for vg applications.
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
Diffstat (limited to 'drivers/mxc/gpu-viv/hal/os')
-rw-r--r-- | drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c | 75 |
1 files changed, 33 insertions, 42 deletions
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c index 6b97aa0d14ad..399234aff707 100644 --- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c +++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c @@ -6934,55 +6934,46 @@ gckOS_SetGPUPower( struct clk *clk_2dcore = Os->device->clk_2d_core; struct clk *clk_2d_axi = Os->device->clk_2d_axi; struct clk *clk_vg_axi = Os->device->clk_vg_axi; - - gctBOOL oldClockState = gcvFALSE; gcmkHEADER_ARG("Os=0x%X Core=%d Clock=%d Power=%d", Os, Core, Clock, Power); - - if (Os->device->kernels[Core] != NULL) - oldClockState = Os->device->kernels[Core]->hardware->clockState; - if (Clock == gcvTRUE) { - if (oldClockState == gcvFALSE) { - switch (Core) { - case gcvCORE_MAJOR: - clk_enable(clk_3dcore); - if (cpu_is_mx6q()) - clk_enable(clk_3dshader); - break; - case gcvCORE_2D: - clk_enable(clk_2dcore); - clk_enable(clk_2d_axi); - break; - case gcvCORE_VG: - clk_enable(clk_2dcore); - clk_enable(clk_vg_axi); - break; - default: - break; - } + switch (Core) { + case gcvCORE_MAJOR: + clk_enable(clk_3dcore); + if (cpu_is_mx6q()) + clk_enable(clk_3dshader); + break; + case gcvCORE_2D: + clk_enable(clk_2dcore); + clk_enable(clk_2d_axi); + break; + case gcvCORE_VG: + clk_enable(clk_2dcore); + clk_enable(clk_vg_axi); + break; + default: + break; } } else { - if (oldClockState == gcvTRUE) { - switch (Core) { - case gcvCORE_MAJOR: - if (cpu_is_mx6q()) - clk_disable(clk_3dshader); - clk_disable(clk_3dcore); - break; - case gcvCORE_2D: - clk_disable(clk_2dcore); - clk_disable(clk_2d_axi); - break; - case gcvCORE_VG: - clk_disable(clk_2dcore); - clk_disable(clk_vg_axi); - break; - default: - break; - } + switch (Core) { + case gcvCORE_MAJOR: + if (cpu_is_mx6q()) + clk_disable(clk_3dshader); + clk_disable(clk_3dcore); + break; + case gcvCORE_2D: + clk_disable(clk_2dcore); + clk_disable(clk_2d_axi); + break; + case gcvCORE_VG: + clk_disable(clk_2dcore); + clk_disable(clk_vg_axi); + break; + default: + break; } } + /* TODO: Put your code here. */ gcmkFOOTER_NO(); return gcvSTATUS_OK; |