You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
displayport: skip unnecessary DSC for MST modes within link bandwidth
The MST mode validation path in compoundQueryAttachMST() unconditionally
tries DSC when the device supports it, even when the link has sufficient
bandwidth for the uncompressed mode. This can cause instability through
MST hubs and USB-C docks that don't handle DSC negotiation well,
manifesting as spurious HPD short pulses and DPCD AUX channel failures.
Add a PBN pre-check before entering the DSC path: if the uncompressed
mode fits within the available local link PBN, skip DSC and proceed
directly to compoundQueryAttachMSTGeneric() for full validation. This
mirrors the SST behavior in compoundQueryAttachSST() which only enables
DSC when willLinkSupportModeSST() fails.
The pre-check preserves all existing behavior for forced DSC, DSC_DUAL
mode requests, and bandwidth-insufficient cases.
Signed-off-by: Cole Leavitt <cole@unwrap.rs>
// compoundQueryAttachMST Generic might fail due to the insufficient bandwidth ,
1410
-
// We only check whether bpp can be fit in the available bandwidth based on the tranied link config in compoundQueryAttachMSTDsc function.
1411
-
// There might be cases where the default 10 bpp might fit in the available bandwidth based on the trained link config,
1412
-
// however, the bandwidth might be insufficient at the actual bottleneck link between source and sink to drive the mode, causing CompoundQueryAttachMSTGeneric to fail.
1413
-
// Incase of CompoundQueryAttachMSTGeneric failure, instead of returning false, check whether the mode can be supported with the max dsc compression bpp
1414
-
// and return true if it can be supported.
1415
-
1452
+
// compoundQueryAttachMSTGeneric might fail due to insufficient bandwidth
1453
+
// at a bottleneck link between source and sink. The default 10 bpp might
1454
+
// fit based on the trained link config, but the actual available bandwidth
1455
+
// at intermediate MST branches may be lower. If so, retry with max DSC
1456
+
// compression (8 bpp) to check if that can support the mode.
1457
+
//
1416
1458
if (!compoundQueryResult && forceDscBitsPerPixelX16 == 0U)
0 commit comments