From: Xiao Lu <xiaolu.xie@intel.com>
To: lyude@redhat.com, dri-devel@lists.freedesktop.org
Cc: David.Francis@amd.com, jani.nikula@linux.intel.com,
Xiao Lu <xiaolu.xie@intel.com>
Subject: Re: [PATCH] drm/dp/mst: skip connector creation for unplugged downstream ports
Date: Fri, 18 Sep 2026 09:29:56 +0800 [thread overview]
Message-ID: <xiaolu-reply-ddps-20260918@intel.com> (raw)
In-Reply-To: <c992e5468e2118440ab1b9c37fc64c7ab79aaaea.camel@redhat.com>
On Thu, 2026-09-17 at 12:49 -0400, Lyude Paul wrote:
> Are we sure this is a good idea? This seems like it could be a problem
> for compositors and just make things more complicated in general for
> userspace because now instead of a connector that can be plugged or
> unplugged, we now only have connectors on MST that appear and
> disappear.
>
> Is there an actual bug being caused by the NAK transactions here?
Thanks for the review. Two points to address your concerns:
1. We tested hot-plug/unplug on MST DFP ports with this patch applied,
and the connectors appear and disappear correctly without any issues
observed on the compositor side. When a device is plugged in, the
hub sends a CSN which triggers a pdt change, causing mgr->work to
resend LINK_ADDRESS. drm_dp_mst_handle_link_address_port() then
creates the connector with ddps=1 at that point. The hot-plug
lifecycle works correctly in practice. That said, if you are aware
of a specific compositor path that relies on connectors being
pre-created for all ports regardless of ddps, we are happy to
investigate further.
2. The REMOTE_DPCD_READ to ports with ddps=0 is not just log noise.
It causes a measurable lighting delay at link training time, as the
transaction must time out or be NAK'd before the stack can proceed.
More importantly, not all MST hubs respond gracefully to REMOTE_DPCD
transactions on unoccupied ports. This behavior is also
non-compliant with DP v2.1b spec, which states that REMOTE_DPCD_READ
should only be issued to ports where ddps=1. Issuing reads to
ddps=0 ports is the driver-side bug here.
Best regards,
Xiao Lu
next prev parent reply other threads:[~2026-09-18 1:32 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xiaolu-reply-ddps-20260918@intel.com \
--to=xiaolu.xie@intel.com \
--cc=David.Francis@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=lyude@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).