From a22026c960eb2f2c0348c78420adbb1edc7f8deb Mon Sep 17 00:00:00 2001 From: Johnson Ding Date: Thu, 13 Jul 2023 18:33:08 +0800 Subject: [PATCH] video: rockchip: mpp: fix rk3328 h265d timeout issue Power save optimization may cause rkvdec timeout when decoding some HEVC bitstream. Signed-off-by: Johnson Ding Change-Id: I60c9e578e53a37dbe610b03912fc0007a782f960 --- 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 cad51ddc562b..1fcdbdc52902 100644 --- a/drivers/video/rockchip/mpp/mpp_rkvdec.c +++ b/drivers/video/rockchip/mpp/mpp_rkvdec.c @@ -953,11 +953,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,