vpu_service: set freq to 400M on rk2928g
authorchm <chm@rock-chips.com>
Mon, 25 Mar 2013 01:48:42 +0000 (09:48 +0800)
committerchm <chm@rock-chips.com>
Mon, 25 Mar 2013 01:48:42 +0000 (09:48 +0800)
arch/arm/plat-rk/vpu_service.c

index c2c30a4ea2447dee33fe83a75a920944d278b1ea..e663d016f85c6ec4fc796b799ff461dd8ca80c45 100644 (file)
@@ -250,11 +250,11 @@ static void vpu_get_clk(void)
        }
        aclk_ddr_vepu   = clk_get(NULL, "aclk_ddr_vepu");
        if (IS_ERR(aclk_ddr_vepu)) {
-               pr_err("failed on clk_get aclk_ddr_vepu\n");
+               ;//pr_err("failed on clk_get aclk_ddr_vepu\n");
        }
        hclk_cpu_vcodec = clk_get(NULL, "hclk_cpu_vcodec");
        if (IS_ERR(hclk_cpu_vcodec)) {
-               pr_err("failed on clk_get hclk_cpu_vcodec\n");
+               ;//pr_err("failed on clk_get hclk_cpu_vcodec\n");
        }
 }
 
@@ -459,17 +459,19 @@ static vpu_reg *reg_init(vpu_session *session, void __user *src, unsigned long s
        mutex_unlock(&service.lock);
 
        if (service.auto_freq) {
-               if (reg->type == VPU_DEC || reg->type == VPU_DEC_PP) {
-                       if (reg_check_rmvb_wmv(reg)) {
-                               reg->freq = VPU_FREQ_200M;
-                       } else {
-                               if (reg_check_interlace(reg)) {
-                                       reg->freq = VPU_FREQ_400M;
+               if (!soc_is_rk2928g()) {
+                       if (reg->type == VPU_DEC || reg->type == VPU_DEC_PP) {
+                               if (reg_check_rmvb_wmv(reg)) {
+                                       reg->freq = VPU_FREQ_200M;
+                               } else {
+                                       if (reg_check_interlace(reg)) {
+                                               reg->freq = VPU_FREQ_400M;
+                                       }
                                }
                        }
-               }
-               if (reg->type == VPU_PP) {
-                       reg->freq = VPU_FREQ_400M;
+                       if (reg->type == VPU_PP) {
+                               reg->freq = VPU_FREQ_400M;
+                       }
                }
        }
 
@@ -569,7 +571,11 @@ static void vpu_service_set_freq(vpu_reg *reg)
                //printk("default: 400M\n");
        } break;
        default : {
-               clk_set_rate(aclk_vepu, 300*MHZ);
+               if (soc_is_rk2928g()) {
+                       clk_set_rate(aclk_vepu, 400*MHZ);
+               } else {
+                       clk_set_rate(aclk_vepu, 300*MHZ);
+               }
                //printk("default: 300M\n");
        } break;
        }