From 7b2a1c8a6bea45fffca3f307f8bbf70ab4005d36 Mon Sep 17 00:00:00 2001 From: Damon Ding Date: Mon, 13 Nov 2023 20:11:50 +0800 Subject: [PATCH] drm/rockchip: vop: init mcu_frame_st as 0 in vop_mcu_mode() If mcu_hold_mode is 1, set 1 to mcu_frame_st will refresh one frame from ddr. So mcu_frame_st is needed to be initialized as 0. Signed-off-by: Damon Ding Change-Id: I75d755826dbbdd229da3c3db15d4682dc2bd13a0 --- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index 014f35e77e62..cd20cbaa7482 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -3262,6 +3262,12 @@ static void vop_mcu_mode(struct drm_crtc *crtc) { struct vop *vop = to_vop(crtc); + /* + * If mcu_hold_mode is 1, set 1 to mcu_frame_st will + * refresh one frame from ddr. So mcu_frame_st is needed + * to be initialized as 0. + */ + VOP_CTRL_SET(vop, mcu_frame_st, 0); VOP_CTRL_SET(vop, mcu_clk_sel, 1); VOP_CTRL_SET(vop, mcu_type, 1);