From aabe565c15ac241dad2b493a6301d6a29237e050 Mon Sep 17 00:00:00 2001 From: Wyon Bi Date: Tue, 14 Feb 2023 10:45:09 +0000 Subject: [PATCH] drm/rockchip: vop2: Fix dual channel setup Signed-off-by: Wyon Bi Change-Id: Ica99e16464d414535d151b80cbc1fc5cba0c2a1a --- drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c index 48b5d76eeb14..39bf9c62a8f5 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c @@ -7207,28 +7207,19 @@ static void vop2_setup_dual_channel_if(struct drm_crtc *crtc) struct vop2_video_port *vp = to_vop2_video_port(crtc); struct rockchip_crtc_state *vcstate = to_rockchip_crtc_state(crtc->state); struct vop2 *vop2 = vp->vop2; - int output_type = vcstate->output_type; VOP_MODULE_SET(vop2, vp, dual_channel_en, 1); if (vcstate->output_flags & ROCKCHIP_OUTPUT_DATA_SWAP) VOP_MODULE_SET(vop2, vp, dual_channel_swap, 1); - switch (output_type) { - case DRM_MODE_CONNECTOR_DisplayPort: + if (vcstate->output_if & VOP_OUTPUT_IF_DP1) VOP_CTRL_SET(vop2, dp_dual_en, 1); - break; - case DRM_MODE_CONNECTOR_eDP: + else if (vcstate->output_if & VOP_OUTPUT_IF_eDP1) VOP_CTRL_SET(vop2, edp_dual_en, 1); - break; - case DRM_MODE_CONNECTOR_HDMIA: + else if (vcstate->output_if & VOP_OUTPUT_IF_HDMI1) VOP_CTRL_SET(vop2, hdmi_dual_en, 1); - break; - case DRM_MODE_CONNECTOR_DSI: + else if (vcstate->output_if & VOP_OUTPUT_IF_MIPI1) VOP_CTRL_SET(vop2, mipi_dual_en, 1); - break; - default: - break; - } } /*