rga: refactor rga_drv.c for support rk30/rk31/rk2928
author黄涛 <huangtao@rock-chips.com>
Thu, 16 Aug 2012 07:55:57 +0000 (15:55 +0800)
committer黄涛 <huangtao@rock-chips.com>
Thu, 16 Aug 2012 07:55:57 +0000 (15:55 +0800)
drivers/video/rockchip/rga/rga_drv.c

index 734af2cbb802430d722d09527a768874d23080a7..6bf2399a59b82a29b8e770b83038e700bfb84bfa 100755 (executable)
 \r
 #define RGA_MAJOR              255\r
 \r
-#if 1\r
-#if CONFIG_ARCH_RK2928\r
-#define RK30_RGA_PHYS  0x1010C000\r
-#define RK30_RGA_SIZE  SZ_8K\r
-#define RGA_RESET_TIMEOUT      1000\r
-#elif CONFIG_ARCH_RK30\r
-#define RK30_RGA_PHYS  0x10114000\r
-#define RK30_RGA_SIZE  SZ_8K\r
-#define RGA_RESET_TIMEOUT      1000\r
-#elif CONFIG_ARCH_RK31\r
-#define RK30_RGA_PHYS  0x10114000\r
-#define RK30_RGA_SIZE  SZ_8K\r
-#define RGA_RESET_TIMEOUT      1000\r
-#endif\r
+#if defined(CONFIG_ARCH_RK2928)\r
+#define RK30_RGA_PHYS          RK2928_RGA_PHYS\r
+#define RK30_RGA_SIZE          RK2928_RGA_SIZE\r
 #endif\r
+#define RGA_RESET_TIMEOUT      1000\r
 \r
 /* Driver information */\r
 #define DRIVER_DESC            "RGA Device Driver"\r
@@ -136,7 +126,6 @@ static inline u32 rga_read(u32 r)
        return __raw_readl(drvdata->rga_base + r);\r
 }\r
 \r
-#if 1//defined(CONFIG_ARCH_RK30) || defined(CONFIG_ARCH_RK31)\r
 static void rga_soft_reset(void)\r
 {\r
        u32 i;\r
@@ -157,7 +146,6 @@ static void rga_soft_reset(void)
        if(i == RGA_RESET_TIMEOUT)\r
                ERR("soft reset timeout.\n");\r
 }\r
-#endif\r
 \r
 static void rga_dump(void)\r
 {\r
@@ -580,7 +568,7 @@ static void rga_try_set_reg(void)
             udelay(1);\r
 \r
             rga_copy_reg(reg, 0);\r
-            rga_reg_from_wait_to_run(reg);            \r
+            rga_reg_from_wait_to_run(reg);\r
 \r
             dmac_flush_range(&rga_service.cmd_buff[0], &rga_service.cmd_buff[28]);\r
             outer_flush_range(virt_to_phys(&rga_service.cmd_buff[0]),virt_to_phys(&rga_service.cmd_buff[28]));\r
@@ -606,6 +594,7 @@ static void rga_try_set_reg(void)
                     printk("%.8x %.8x %.8x %.8x\n", p[0 + i*4], p[1+i*4], p[2 + i*4], p[3 + i*4]);\r
             }\r
 #endif\r
+\r
             /* master mode */\r
             rga_write((0x1<<2)|(0x1<<3), RGA_SYS_CTRL);\r
 \r
@@ -1039,7 +1028,6 @@ static irqreturn_t rga_irq_thread(int irq, void *dev_id)
                rga_del_running_list();\r
                rga_try_set_reg();\r
        }\r
-    //printk("****** rga irq prc avil ******\n");\r
        mutex_unlock(&rga_service.lock);\r
 \r
        return IRQ_HANDLED;\r
@@ -1096,27 +1084,14 @@ static int __devinit rga_drv_probe(struct platform_device *pdev)
        data->aclk_rga = clk_get(NULL, "aclk_rga");\r
        data->hclk_rga = clk_get(NULL, "hclk_rga");\r
 \r
-    \r
        /* map the memory */\r
-    #if defined(CONFIG_ARCH_RK2928)\r
-       if (!request_mem_region(RK2928_RGA_PHYS, RK2928_RGA_SIZE, "rga_io"))\r
-    #elif defined(CONFIG_ARCH_RK30)\r
-    if (!request_mem_region(RK30_RGA_PHYS, RK30_RGA_SIZE, "rga_io"))\r
-    #elif defined(CONFIG_ARCH_RK31)\r
-    if (!request_mem_region(RK30_RGA_PHYS, RK30_RGA_SIZE, "rga_io"))\r
-    #endif    \r
+       if (!request_mem_region(RK30_RGA_PHYS, RK30_RGA_SIZE, "rga_io"))\r
        {\r
                pr_info("failed to reserve rga HW regs\n");\r
                return -EBUSY;\r
        }\r
     \r
-    #if defined(CONFIG_ARCH_RK2928)\r
-       data->rga_base = (void*)ioremap_nocache(RK2928_RGA_PHYS, RK2928_RGA_SIZE);\r
-    #elif defined(CONFIG_ARCH_RK30)\r
-    data->rga_base = (void*)ioremap_nocache(RK30_RGA_PHYS, RK30_RGA_SIZE);\r
-    #elif defined(CONFIG_ARCH_RK31)\r
-    data->rga_base = (void*)ioremap_nocache(RK30_RGA_PHYS, RK30_RGA_SIZE);\r
-    #endif\r
+       data->rga_base = (void*)ioremap_nocache(RK30_RGA_PHYS, RK30_RGA_SIZE);\r
        if (data->rga_base == NULL)\r
        {\r
                ERR("rga ioremap failed\n");\r