Synaptics VMM7100 based DP-to-HDMI 2.1 protocol converters with branch
firmware 7.1 (branch dev-ID "SYNAq") deterministically fail 8b/10b
channel equalization at the 4-lane RBR link configuration.
i915's link config optimization picks exactly that configuration for
low resolution modes (e.g. a 1080p boot greeter), and the resulting
training fallback permanently degrades the link to 2 lanes, since
these PCONs never raise a long HPD that would re-sync the link
parameters.
On the affected system this capped a 4k60 desktop mode at 6 bpc
dithered output.

The failure was isolated to the converter firmware by training the
full rate x lane matrix via debugfs and by comparing two dongles
based on the same VMM7100 chip (HW-rev 1.0): branch firmware 7.1
fails 4-lane RBR, firmware 7.2 trains it fine.
Only 4-lane RBR fails.
Clock recovery passes, channel equalization never converges with the
device toggling its requested vswing/pre-emphasis levels until the
attempt limit.
The Intel source PHY and the board's non-transparent LTTPR grant all
requests during the failing sequence.
Windows and macOS are unaffected as they don't train low resolution
modes at RBR.

Patch 1 adds a DPCD quirk entry for these devices.
The matching can't distinguish firmware revisions, so devices with
fixed firmware are matched as well, which is free since any mode
that fits RBR also fits HBR.
Patch 2 makes i915 skip RBR for quirked devices when computing the
sink rates, unless RBR is the only available rate, so a hypothetical
RBR-only device keeps its current behavior.
The quirk itself lives in the shared DPCD quirk table, so other
drivers can handle it as well if needed.
Link rate selection is driver specific, hence the handling is
implemented in i915 (the only current consumer of the table's link
rate quirks, cf. DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_3_24_GBPS).

Tested on PTL (xe) with the affected PCON: the boot greeter now
trains 2x270000, no training failure or fallback occurs, and the
4k60 desktop mode trains 4x810000 from boot.

This series is part of a set of independent fixes for the USB-C to
DP to HDMI 2.1 protocol converter (PCON) path on the same system,
see the first part [1] for an overview.
Each series/patch stands on its own and can be merged independently.

[1] 
https://lore.kernel.org/r/[email protected]

Alexander Kaplan (2):
  drm/dp: Add quirk for Synaptics PCONs failing channel EQ at RBR
  drm/i915/dp: Skip RBR for sinks with the NO_LINK_RATE_RBR quirk

 drivers/gpu/drm/display/drm_dp_helper.c |  3 +++
 drivers/gpu/drm/i915/display/intel_dp.c | 23 +++++++++++++++++------
 include/drm/display/drm_dp_helper.h     |  8 ++++++++
 3 files changed, 28 insertions(+), 6 deletions(-)

-- 
2.54.0


Reply via email to