[PATCH 1/2] drm/amd/display: skip receiver power control without AUX

From: NepNep7601

Date: Wed Aug 26 2026 - 15:37:39 EST


Passive DP to TMDS dongles do not provide a DP receiver and use native
GPIO I2C rather than AUX. dpcd_write_rx_power_ctrl() nevertheless tries
to write DP_SET_POWER, causing the DP helpers to retry a transaction
that cannot succeed 32 times before giving up.

Skip receiver power control when the link is not using AUX mode.

On an Oland GPU with a passive DP to HDMI to DVI chain, this reduced
boot-time "DP AUX transfer fail" messages from 32 to 0. The EDID
remained 256 bytes and the display continued to use its native
1600x900 mode.

Assisted-by: Claude:claude-opus-5
Signed-off-by: NepNep7601 <neptune@xxxxxxxxxxxxxxxxxxxx>
---
.../gpu/drm/amd/display/dc/link/protocols/link_dp_phy.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_phy.c b/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_phy.c
index 49521ac4b0e8..7991531f6ef4 100644
--- a/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_phy.c
+++ b/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_phy.c
@@ -50,6 +50,15 @@ void dpcd_write_rx_power_ctrl(struct dc_link *link, bool on)
if (link->sync_lt_in_progress)
return;

+ /*
+ * A passive DP to TMDS dongle presents no DP receiver, so there is
+ * nothing to power up or down. The write can only fail, and the DP
+ * helpers retry it 32 times before giving up, which adds tens of
+ * milliseconds to link bring up.
+ */
+ if (!link->aux_mode)
+ return;
+
core_link_write_dpcd(link, DP_SET_POWER, &state,
sizeof(state));

--
2.47.3