From 06e9fae8a6db8f8da83fc13849ab65ddfaa7496b Mon Sep 17 00:00:00 2001 From: Johnson Ding Date: Wed, 24 Mar 2021 20:43:16 +0800 Subject: [PATCH] video: rockchip: mpp: fix rk3328 h265d timeout issue Power save optimization may cause rkvdec timeout when decoding some HEVC bitstream. Change-Id: I60c9e578e53a37dbe610b03912fc0007a782f960 Signed-off-by: Johnson Ding --- drivers/video/rockchip/mpp/mpp_rkvdec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/rockchip/mpp/mpp_rkvdec.c b/drivers/video/rockchip/mpp/mpp_rkvdec.c index d357bcb4bfa8..89ec8a929b9f 100644 --- a/drivers/video/rockchip/mpp/mpp_rkvdec.c +++ b/drivers/video/rockchip/mpp/mpp_rkvdec.c @@ -944,11 +944,11 @@ static int rkvdec_3328_run(struct mpp_dev *mpp, task = to_rkvdec_task(mpp_task); /* - * HW defeat workaround: VP9 power save optimization cause decoding + * HW defeat workaround: VP9 and H.265 power save optimization cause decoding * corruption, disable optimization here. */ fmt = RKVDEC_GET_FORMAT(task->reg[RKVDEC_REG_SYS_CTRL_INDEX]); - if (fmt == RKVDEC_FMT_VP9D) { + if (fmt == RKVDEC_FMT_VP9D || fmt == RKVDEC_FMT_H265D) { cfg = task->reg[RKVDEC_POWER_CTL_INDEX] | 0xFFFF; task->reg[RKVDEC_POWER_CTL_INDEX] = cfg & (~(1 << 12)); mpp_write_relaxed(mpp, RKVDEC_POWER_CTL_BASE,