DisplayPort connectors can expose the subconnector property, describing the attached dongle. While i915 and amdgpu drivers already provide this property, bridge-based DisplayPort connectors don't expose it.
Attach the DP subconnector property from drm_bridge_connector_init() whenever the resolved connector type is DisplayPort, and drop the open-coded attachment from the msm code, pushing other DP drivers towards adding support for the property. Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Dmitry Baryshkov <[email protected]> --- drivers/gpu/drm/display/drm_bridge_connector.c | 4 ++++ drivers/gpu/drm/msm/msm_kms.c | 5 ----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/display/drm_bridge_connector.c b/drivers/gpu/drm/display/drm_bridge_connector.c index 8b54069fa53a..f83d5f52ab14 100644 --- a/drivers/gpu/drm/display/drm_bridge_connector.c +++ b/drivers/gpu/drm/display/drm_bridge_connector.c @@ -1089,6 +1089,10 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm, IS_ENABLED(CONFIG_DRM_DISPLAY_HDCP_HELPER)) drm_connector_attach_content_protection_property(connector, true); + /* The DP subconnector property applies to DisplayPort only. */ + if (connector_type == DRM_MODE_CONNECTOR_DisplayPort) + drm_connector_attach_dp_subconnector_property(connector); + ret = drm_connector_attach_encoder(connector, encoder); if (ret) return ERR_PTR(ret); diff --git a/drivers/gpu/drm/msm/msm_kms.c b/drivers/gpu/drm/msm/msm_kms.c index 71af3780b7b1..cf602be09ff8 100644 --- a/drivers/gpu/drm/msm/msm_kms.c +++ b/drivers/gpu/drm/msm/msm_kms.c @@ -320,7 +320,6 @@ static int msm_kms_init_connectors(struct drm_device *ddev) drm_for_each_encoder(encoder, ddev) { struct drm_connector *connector; - int ret; /* the virtual writeback encoder brings its own connector */ if (encoder->encoder_type == DRM_MODE_ENCODER_VIRTUAL) @@ -333,10 +332,6 @@ static int msm_kms_init_connectors(struct drm_device *ddev) encoder->name, PTR_ERR(connector)); return PTR_ERR(connector); } - - /* The DP subconnector property applies to DisplayPort only. */ - if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) - drm_connector_attach_dp_subconnector_property(connector); } return 0; -- 2.47.3
