From a7edc06ea29ffe39876b58b7ceb24d95c57f7ff9 Mon Sep 17 00:00:00 2001 From: Chandler Chen Date: Mon, 3 Apr 2023 10:09:51 +0800 Subject: [PATCH] video: rockchip: mpp: rkvdec2: use mmu reset instead of soft reset Signed-off-by: Chandler Chen Change-Id: Ic163aa78422122030b4e608879bed2c4a223429d --- drivers/video/rockchip/mpp/mpp_rkvdec2.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/video/rockchip/mpp/mpp_rkvdec2.c b/drivers/video/rockchip/mpp/mpp_rkvdec2.c index 990561f1c0d5..8bce83b9b16a 100644 --- a/drivers/video/rockchip/mpp/mpp_rkvdec2.c +++ b/drivers/video/rockchip/mpp/mpp_rkvdec2.c @@ -22,6 +22,7 @@ #include #include #include +#include #ifdef CONFIG_PM_DEVFREQ #include "../drivers/devfreq/governor.h" @@ -1146,17 +1147,16 @@ static int rkvdec2_set_freq(struct mpp_dev *mpp, static int rkvdec2_soft_reset(struct mpp_dev *mpp) { - u32 rst_status = 0; int ret = 0; - /* soft reset */ - mpp_write(mpp, RKVDEC_REG_IMPORTANT_BASE, RKVDEC_SOFTREST_EN); - ret = readl_relaxed_poll_timeout(mpp->reg_base + RKVDEC_REG_INT_EN, - rst_status, - rst_status & RKVDEC_SOFT_RESET_READY, - 5, 500); + /* + * for rk3528 and rk3562 + * use mmu reset instead of rkvdec soft reset + * rkvdec will reset together when rkvdec_mmu force reset + */ + ret = rockchip_iommu_force_reset(mpp->dev); if (ret) - mpp_err("soft reset fail, int %08x\n", rst_status); + mpp_err("soft mmu reset fail, ret %d\n", ret); mpp_write(mpp, RKVDEC_REG_INT_EN, 0); return ret;