rk30: vpu_service: final solution of vpu hardware bug
author陈恒明 <chm@rock-chips.com>
Tue, 10 Apr 2012 10:11:28 +0000 (18:11 +0800)
committer陈恒明 <chm@rock-chips.com>
Tue, 10 Apr 2012 10:11:28 +0000 (18:11 +0800)
arch/arm/plat-rk/vpu_service.c

index 4ee63b967f3e73a075b25ed72892bd0c76df5ad8..d59e8819b05cb21f9a0f6f57e596eb7a6e2dae1a 100644 (file)
@@ -449,9 +449,10 @@ void reg_copy_to_hw(vpu_reg *reg)
        case VPU_ENC : {
                u32 *dst = (u32 *)enc_dev.hwregs;
 #if defined(CONFIG_ARCH_RK30)
-               writel_relaxed(0, dec_dev.hwregs + DEC_INTERRUPT_REGISTER);
+               cru_set_soft_reset(SOFT_RST_CPU_VCODEC, true);
                cru_set_soft_reset(SOFT_RST_VCODEC_AHB, true);
                cru_set_soft_reset(SOFT_RST_VCODEC_AHB, false);
+               cru_set_soft_reset(SOFT_RST_CPU_VCODEC, false);
 #endif
                service.reg_codec = reg;