From be8fe02a8dd971ff389aac73121aaa1595207e8e Mon Sep 17 00:00:00 2001 From: chm Date: Mon, 25 Mar 2013 09:48:42 +0800 Subject: [PATCH] vpu_service: set freq to 400M on rk2928g --- arch/arm/plat-rk/vpu_service.c | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/arch/arm/plat-rk/vpu_service.c b/arch/arm/plat-rk/vpu_service.c index c2c30a4ea244..e663d016f85c 100644 --- a/arch/arm/plat-rk/vpu_service.c +++ b/arch/arm/plat-rk/vpu_service.c @@ -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; } -- 2.34.1