drm/rockchip: rgb: clear output_if of rockchip_crtc_state if crtc active change

Clear output_if of rockchip_crtc_state in rockchip_rgb_encoder_disable()
only if active_changed flag of drm_crtc_state is true,
otherwise the output_if related checks may be affected
in .atomic_enable() of crtc.

Change-Id: Id15873feebd420a77c8949ea6601b9f33c18188c
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
This commit is contained in:
Damon Ding
2024-06-28 20:54:42 +08:00
committed by Tao Huang
parent abe99ba212
commit 09f85f2be6

View File

@@ -263,7 +263,9 @@ static void rockchip_rgb_encoder_disable(struct drm_encoder *encoder)
rgb->funcs->disable(rgb);
pinctrl_pm_select_sleep_state(rgb->dev);
s->output_if &= ~(VOP_OUTPUT_IF_RGB | VOP_OUTPUT_IF_BT656 | VOP_OUTPUT_IF_BT1120);
if (crtc->state->active_changed)
s->output_if &= ~(VOP_OUTPUT_IF_RGB | VOP_OUTPUT_IF_BT656 | VOP_OUTPUT_IF_BT1120);
}
static int