From 400987462f10dbadef625460ebec05dc11dd38fe Mon Sep 17 00:00:00 2001 From: Lei Chen Date: Wed, 4 Aug 2021 09:22:43 +0800 Subject: [PATCH] drm/rockchip: analogix_dp: clear the eDP flag in output_if To dynamically configure eDP to different VP ports, clear flags. Signed-off-by: Lei Chen Change-Id: I68a9eb32f860e791e68d73fa2c083d0ce5bafb8d --- drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c index 84a6c3068371..47d10d4626c3 100644 --- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c +++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c @@ -299,9 +299,12 @@ static void rockchip_dp_drm_encoder_enable(struct drm_encoder *encoder) DRM_DEV_ERROR(dp->dev, "Could not write to GRF: %d\n", ret); } -static void rockchip_dp_drm_encoder_nop(struct drm_encoder *encoder) +static void rockchip_dp_drm_encoder_disable(struct drm_encoder *encoder) { - /* do nothing */ + struct drm_crtc *crtc = encoder->crtc; + struct rockchip_crtc_state *s = to_rockchip_crtc_state(crtc->state); + + s->output_if &= ~VOP_OUTPUT_IF_eDP0; } static int @@ -400,7 +403,7 @@ static struct drm_encoder_helper_funcs rockchip_dp_encoder_helper_funcs = { .mode_fixup = rockchip_dp_drm_encoder_mode_fixup, .mode_set = rockchip_dp_drm_encoder_mode_set, .enable = rockchip_dp_drm_encoder_enable, - .disable = rockchip_dp_drm_encoder_nop, + .disable = rockchip_dp_drm_encoder_disable, .atomic_check = rockchip_dp_drm_encoder_atomic_check, .loader_protect = rockchip_dp_drm_encoder_loader_protect, };