Merge branch develop-3.10-next
[firefly-linux-kernel-4.4.55.git] / drivers / video / rockchip / rga2 / rga2_drv.c
index 3852d446087253140427609bb86cc2c6952d7c14..50f2c187a0d6a07e92301d9fd1a3fe89417000d9 100755 (executable)
@@ -234,7 +234,7 @@ static void rga2_power_on(void)
     clk_prepare_enable(rga2_drvdata->rga2);\r
        clk_prepare_enable(rga2_drvdata->aclk_rga2);\r
        clk_prepare_enable(rga2_drvdata->hclk_rga2);\r
-       //clk_enable(rga2_drvdata->pd_rga2);\r
+       clk_prepare_enable(rga2_drvdata->pd_rga2);\r
        wake_lock(&rga2_drvdata->wake_lock);\r
        rga2_service.enable = true;\r
 }\r
@@ -256,9 +256,8 @@ static void rga2_power_off(void)
                rga2_dump();\r
        }\r
 \r
-       //clk_disable(rga2_drvdata->pd_rga2);\r
     clk_disable_unprepare(rga2_drvdata->rga2);\r
-    //clk_disable_unprepare(rga2_drvdata->pd_rga2);\r
+    clk_disable_unprepare(rga2_drvdata->pd_rga2);\r
        clk_disable_unprepare(rga2_drvdata->aclk_rga2);\r
        clk_disable_unprepare(rga2_drvdata->hclk_rga2);\r
        wake_unlock(&rga2_drvdata->wake_lock);\r
@@ -928,7 +927,7 @@ static long rga_ioctl(struct file *file, uint32_t cmd, unsigned long arg)
 static long compat_rga_ioctl(struct file *file, uint32_t cmd, unsigned long arg)\r
 {\r
     struct rga2_req req;\r
-    struct rga_req req_rga;\r
+    struct rga_req_32 req_rga;\r
        int ret = 0;\r
     rga2_session *session;\r
 \r
@@ -952,35 +951,32 @@ static long compat_rga_ioctl(struct file *file, uint32_t cmd, unsigned long arg)
 \r
        switch (cmd) {\r
         case RGA_BLIT_SYNC:\r
-               if (unlikely(copy_from_user(&req_rga, compat_ptr((compat_uptr_t)arg), sizeof(struct rga_req))))\r
+               if (unlikely(copy_from_user(&req_rga, compat_ptr((compat_uptr_t)arg), sizeof(struct rga_req_32))))\r
             {\r
                        ERR("copy_from_user failed\n");\r
                        ret = -EFAULT;\r
                 break;\r
                }\r
 \r
-            RGA_MSG_2_RGA2_MSG(&req_rga, &req);\r
+            RGA_MSG_2_RGA2_MSG_32(&req_rga, &req);\r
 \r
             ret = rga2_blit_sync(session, &req);\r
             break;\r
                case RGA_BLIT_ASYNC:\r
-               if (unlikely(copy_from_user(&req_rga, compat_ptr((compat_uptr_t)arg), sizeof(struct rga_req))))\r
+               if (unlikely(copy_from_user(&req_rga, compat_ptr((compat_uptr_t)arg), sizeof(struct rga_req_32))))\r
             {\r
                        ERR("copy_from_user failed\n");\r
                        ret = -EFAULT;\r
                 break;\r
                }\r
 \r
-            RGA_MSG_2_RGA2_MSG(&req_rga, &req);\r
+            RGA_MSG_2_RGA2_MSG_32(&req_rga, &req);\r
 \r
             if((atomic_read(&rga2_service.total_running) > 8))\r
-            {\r
                            ret = rga2_blit_sync(session, &req);\r
-            }\r
             else\r
-            {\r
                 ret = rga2_blit_async(session, &req);\r
-            }\r
+\r
                        break;\r
                case RGA2_BLIT_SYNC:\r
                if (unlikely(copy_from_user(&req, compat_ptr((compat_uptr_t)arg), sizeof(struct rga2_req))))\r
@@ -1000,13 +996,10 @@ static long compat_rga_ioctl(struct file *file, uint32_t cmd, unsigned long arg)
                }\r
 \r
             if((atomic_read(&rga2_service.total_running) > 16))\r
-            {\r
                            ret = rga2_blit_sync(session, &req);\r
-            }\r
             else\r
-            {\r
                 ret = rga2_blit_async(session, &req);\r
-            }\r
+\r
                        break;\r
         case RGA_FLUSH:\r
                case RGA2_FLUSH:\r
@@ -1258,7 +1251,8 @@ static int rga2_drv_remove(struct platform_device *pdev)
        iounmap((void __iomem *)(data->rga_base));\r
 \r
        //clk_put(data->pd_rga2);\r
-    devm_clk_put(&pdev->dev, data->rga2);\r
+       devm_clk_put(&pdev->dev, data->rga2);\r
+    devm_clk_put(&pdev->dev, data->pd_rga2);\r
        devm_clk_put(&pdev->dev, data->aclk_rga2);\r
        devm_clk_put(&pdev->dev, data->hclk_rga2);\r
 \r
@@ -1458,7 +1452,7 @@ void rga2_test_0(void)
 }\r
 \r
 #endif\r
-module_init(rga2_init);\r
+fs_initcall(rga2_init);\r
 module_exit(rga2_exit);\r
 \r
 /* Module information */\r