From 575487d67ea6441e83d6233ee19f4ec6c74cc2cd Mon Sep 17 00:00:00 2001 From: Zhang Yubing Date: Wed, 12 Apr 2023 17:28:28 +0800 Subject: [PATCH] drm/bridge: analogix_dp: clear output if when disable edp Signed-off-by: Zhang Yubing Change-Id: I131a94190bf74bcd85f1008ebb13e0442bb16fe9 --- drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c index 2c2d1aea7460..236b0ddc0242 100644 --- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c +++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c @@ -381,9 +381,15 @@ static void rockchip_dp_drm_encoder_disable(struct drm_encoder *encoder, { struct rockchip_dp_device *dp = to_dp(encoder); struct drm_crtc *crtc; + struct drm_crtc *old_crtc = encoder->crtc; struct drm_crtc_state *new_crtc_state = NULL; + struct rockchip_crtc_state *s = to_rockchip_crtc_state(old_crtc->state); int ret; + if (dp->plat_data.split_mode) + s->output_if &= ~(VOP_OUTPUT_IF_eDP1 | VOP_OUTPUT_IF_eDP0); + else + s->output_if &= ~(dp->id ? VOP_OUTPUT_IF_eDP1 : VOP_OUTPUT_IF_eDP0); crtc = rockchip_dp_drm_get_new_crtc(encoder, state); /* No crtc means we're doing a full shutdown */ if (!crtc)