diff options
| author | Xiao Lu <xiaolu.xie@intel.com> | 2026-09-20 10:21:44 +0800 |
|---|---|---|
| committer | Lyude Paul <lyude@redhat.com> | 2026-09-29 15:21:23 -0400 |
| commit | 744f262401cc2e1f3827496c72a47e072d31a852 (patch) | |
| tree | 3c1e0a81964620e2cabea699fbb6f55183be6629 /tools/perf/scripts/python/stackcollapse.py | |
| parent | 63e91c1997898f32f68a5dbf68195d68b8e58443 (diff) | |
| download | linux-744f262401cc2e1f3827496c72a47e072d31a852.tar.gz linux-744f262401cc2e1f3827496c72a47e072d31a852.zip | |
drm/dp/mst: reject DPCD read/write on ports with ddps=0
DP v2.1b specifies that REMOTE_DPCD_READ and REMOTE_DPCD_WRITE
transactions should only be issued to downstream ports where ddps=1
(device plug status indicates a device is connected). Issuing these
transactions to empty ports (ddps=0) is non-compliant and causes
problems in practice: some MST hubs NAK the request, and all hubs
introduce a delay waiting for the transaction to complete or fail
before the driver can proceed, increasing link training latency.
Guard drm_dp_mst_dpcd_read() and drm_dp_mst_dpcd_write() with a
ddps check and return -EIO immediately for unoccupied ports. This
avoids the spurious sideband transactions without changing connector
lifetime semantics — connectors for all output ports are still
created at enumeration time, regardless of ddps.
Signed-off-by: Xiao Lu <xiaolu.xie@intel.com>
Changes in v2:
- Instead of skipping connector creation for ddps=0 ports (v1),
keep connectors around and guard DPCD transactions at the
drm_dp_mst_dpcd_read/write level. This avoids changing connector
lifetime semantics visible to userspace, per Lyude's review.
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patch.msgid.link/20260920022144.2209244-1-xiaolu.xie@intel.com
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
