diff --git a/drivers/video/rockchip/mpp/mpp_rkvdec.c b/drivers/video/rockchip/mpp/mpp_rkvdec.c index 57694df86365..c29cb672cc01 100644 --- a/drivers/video/rockchip/mpp/mpp_rkvdec.c +++ b/drivers/video/rockchip/mpp/mpp_rkvdec.c @@ -1669,18 +1669,18 @@ static int rkvdec_reset(struct mpp_dev *mpp) static int rkvdec_sip_reset(struct mpp_dev *mpp) { - struct rkvdec_dev *dec = to_rkvdec_dev(mpp); + if (IS_REACHABLE(CONFIG_ROCKCHIP_SIP)) { + /* The reset flow in arm trustzone firmware */ + struct rkvdec_dev *dec = to_rkvdec_dev(mpp); -/* The reset flow in arm trustzone firmware */ -#if IS_ENABLED(CONFIG_ROCKCHIP_SIP) - mutex_lock(&dec->sip_reset_lock); - sip_smc_vpu_reset(0, 0, 0); - mutex_unlock(&dec->sip_reset_lock); + mutex_lock(&dec->sip_reset_lock); + sip_smc_vpu_reset(0, 0, 0); + mutex_unlock(&dec->sip_reset_lock); - return 0; -#else - return rkvdec_reset(mpp); -#endif + return 0; + } else { + return rkvdec_reset(mpp); + } } static struct mpp_hw_ops rkvdec_v1_hw_ops = { diff --git a/drivers/video/rockchip/mpp/mpp_rkvdec2_link.c b/drivers/video/rockchip/mpp/mpp_rkvdec2_link.c index 8b40ac341b9f..717a91d1e84b 100644 --- a/drivers/video/rockchip/mpp/mpp_rkvdec2_link.c +++ b/drivers/video/rockchip/mpp/mpp_rkvdec2_link.c @@ -1752,14 +1752,14 @@ static int rkvdec2_soft_ccu_reset(struct mpp_taskqueue *queue, if (!(val & RKVDEC_BIT_BUS_IDLE)) mpp_err("bus busy\n"); -#if IS_ENABLED(CONFIG_ROCKCHIP_SIP) - /* sip reset */ - rockchip_dmcfreq_lock(); - sip_smc_vpu_reset(i, 0, 0); - rockchip_dmcfreq_unlock(); -#else - rkvdec2_reset(mpp); -#endif + if (IS_REACHABLE(CONFIG_ROCKCHIP_SIP)) { + /* sip reset */ + rockchip_dmcfreq_lock(); + sip_smc_vpu_reset(i, 0, 0); + rockchip_dmcfreq_unlock(); + } else { + rkvdec2_reset(mpp); + } /* clear error mask */ writel(dec->core_mask & RKVDEC_CCU_CORE_RW_MASK, ccu->reg_base + RKVDEC_CCU_CORE_ERR_BASE);