]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00209716-2 Revert "ENGR00209022 Update gpu clock management code"
authorLoren Huang <b02279@freescale.com>
Mon, 21 May 2012 07:32:25 +0000 (15:32 +0800)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:11:54 +0000 (14:11 +0200)
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
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c

index 6b97aa0d14ad4f35927ef5276a0e0fb41172e61a..399234aff7075cce50dde77a273c6e6f7e48a157 100644 (file)
@@ -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;