dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/dp/mst: skip connector creation for unplugged downstream ports
@ 2026-09-17  8:01 Xiao Lu
  2026-09-17  8:17 ` sashiko-bot
  2026-09-17 16:49 ` lyude
  0 siblings, 2 replies; 12+ messages in thread
From: Xiao Lu @ 2026-09-17  8:01 UTC (permalink / raw)
  To: dri-devel; +Cc: lyude, David.Francis, jani.nikula, Xiao Lu

When an MST branch device is enumerated, drm_dp_mst_port_add_connector()
is called for every output port regardless of whether a device is actually
connected (ddps=0). This causes the driver's add_connector callback to
probe DSC capabilities via REMOTE_DPCD_READ transactions on empty ports,
which the hub NAKs with DPCD_FAIL.

These spurious sideband messages are wasteful and generate unnecessary
error log noise. More importantly, they occur repeatedly on every topology
re-enumeration triggered by CSN handling.

Skip connector creation for output ports that have no device plugged in
(ddps=0). When a device is later connected, the hub sends a Connection
Status Notification (CSN) which updates ddps=1 and triggers connector
creation through the normal hot-plug path, ensuring correct behavior
for runtime plug events.

Tested with a Parade PS8650 MST hub having unplugged downstream ports:
REMOTE_DPCD_READ NAK messages are eliminated while hot-plug and
display functionality on active ports remain unaffected.

Signed-off-by: Xiao Lu <xiaolu.xie@intel.com>
---
 drivers/gpu/drm/display/drm_dp_mst_topology.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c
index 7ce9e2127..14a84a838 100644
--- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
@@ -2448,7 +2448,7 @@ drm_dp_mst_handle_link_address_port(struct drm_dp_mst_branch *mstb,
 
 	if (port->connector)
 		drm_modeset_unlock(&mgr->base.lock);
-	else if (!port->input)
+	else if (!port->input && port->ddps)
 		drm_dp_mst_port_add_connector(mstb, port);
 
 	if (send_link_addr && port->mstb) {
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2026-09-23  1:27 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-17  8:01 [PATCH] drm/dp/mst: skip connector creation for unplugged downstream ports Xiao Lu
2026-09-17  8:17 ` sashiko-bot
2026-09-17  8:26   ` Xie, Xiaolu
2026-09-17 16:49 ` lyude
2026-09-18  1:29   ` Xiao Lu
2026-09-18 18:19     ` lyude
2026-09-20  2:21       ` Xiao Lu
2026-09-20  2:21       ` [PATCH v2] drm/dp/mst: reject DPCD read/write on ports with ddps=0 Xiao Lu
2026-09-21 21:04         ` lyude
2026-09-22  3:26           ` Xiao Lu
2026-09-22 19:19             ` lyude
2026-09-23  1:24               ` Xiao Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox