From 969569b827defd7ead615d0f4e7a8afcdee8b52a Mon Sep 17 00:00:00 2001 From: Zhang Yubing Date: Wed, 28 Feb 2024 21:31:14 +0800 Subject: [PATCH] drm/rockchip: dw-dp: register mst encoder when port node enabled Change-Id: Ie242c1a0425a3b01dea1378661a0c18daf3e5d32 Signed-off-by: Zhang Yubing --- drivers/gpu/drm/rockchip/dw-dp.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/rockchip/dw-dp.c b/drivers/gpu/drm/rockchip/dw-dp.c index ff49d77a1439..313792213bb5 100644 --- a/drivers/gpu/drm/rockchip/dw-dp.c +++ b/drivers/gpu/drm/rockchip/dw-dp.c @@ -3730,6 +3730,8 @@ dw_dp_add_mst_connector(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_p drm_connector_helper_add(&mst_conn->connector, &dw_dp_mst_connector_helper_funcs); mst_conn->connector.funcs->reset(&mst_conn->connector); for (i = 0; i < dp->mst_port_num; i++) { + if (!of_device_is_available(dp->mst_enc[i].port_node)) + continue; ret = drm_connector_attach_encoder(&mst_conn->connector, &dp->mst_enc[i].encoder); if (ret) goto err; @@ -3769,6 +3771,8 @@ dw_dp_create_fake_mst_encoders(struct dw_dp *dp) int i; for (i = 0; i < dp->mst_port_num; i++) { + if (!of_device_is_available(dp->mst_enc[i].port_node)) + continue; drm_encoder_init(dp->encoder.dev, &dp->mst_enc[i].encoder, &dw_dp_mst_encoder_funcs, DRM_MODE_ENCODER_DPMST, "DP-MST %d", i);