[PATCH] drm/i915/display: Read DP_ADAPTER_CAP to pass LinkLayer DPCD&EDID tests

Khaled Almahallawy khaled.almahallawy at intel.com
Tue Jul 1 19:26:31 UTC 2025


4.2.2.1 LinkLayer test states:
"Verify that Source DUT does the following within 5 seconds after HPD
being asserted:
Reads the DPCD Receiver Capability field (DPCD: 00000h:0000Fh)"
...

Fail1:
Source DUT failed to read the DPCD Receiver Capability field (DPCD:
00000h:0000Fh) through AUX_CH before link training."

Fix this by reading DP_ADAPTER_CAP(0x000F & 0x220F)

Cc: Uma Shankar <uma.shankar at intel.com>
Cc: Jani Nikula <jani.nikula at intel.com>
Signed-off-by: Khaled Almahallawy <khaled.almahallawy at intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp_link_training.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
index a479b63112ea..762dc073b824 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
@@ -252,6 +252,7 @@ int intel_dp_init_lttpr_and_dprx_caps(struct intel_dp *intel_dp)
 {
 	struct intel_display *display = to_intel_display(intel_dp);
 	int lttpr_count = 0;
+	u8 adapter_cap = 0;
 
 	/*
 	 * Detecting LTTPRs must be avoided on platforms with an AUX timeout
@@ -277,6 +278,12 @@ int intel_dp_init_lttpr_and_dprx_caps(struct intel_dp *intel_dp)
 		return -EIO;
 	}
 
+	/* Read DP_ADAPTET_CAP to pass LinkLayer CTS */
+	drm_dp_dpcd_readb(&intel_dp->aux, DP_ADAPTER_CAP,
+				   &adapter_cap);
+	drm_dp_dpcd_readb(&intel_dp->aux, 0x220f,
+				   &adapter_cap);
+
 	return lttpr_count;
 }
 
-- 
2.43.0



More information about the Intel-gfx mailing list