diff --git a/arch/arm/plat-rk/vpu_service.c b/arch/arm/plat-rk/vpu_service.c index 1c03b106593e..4ee63b967f3e 100644 --- a/arch/arm/plat-rk/vpu_service.c +++ b/arch/arm/plat-rk/vpu_service.c @@ -449,7 +449,9 @@ void reg_copy_to_hw(vpu_reg *reg) case VPU_ENC : { u32 *dst = (u32 *)enc_dev.hwregs; #if defined(CONFIG_ARCH_RK30) - vpu_reset(); + writel_relaxed(0, dec_dev.hwregs + DEC_INTERRUPT_REGISTER); + cru_set_soft_reset(SOFT_RST_VCODEC_AHB, true); + cru_set_soft_reset(SOFT_RST_VCODEC_AHB, false); #endif service.reg_codec = reg;