[RFC 03/13] drm/dp: Read TPS3 capability from sink

Thierry Reding thierry.reding at gmail.com
Wed Aug 12 08:06:31 PDT 2015


From: Thierry Reding <treding at nvidia.com>

The TPS3 capability can be exposed by DP 1.2 and later sinks if they
support the alternative training pattern for channel equalization.

Signed-off-by: Thierry Reding <treding at nvidia.com>
---
 drivers/gpu/drm/drm_dp_helper.c | 4 ++++
 include/drm/drm_dp_helper.h     | 1 +
 2 files changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
index c48addaf4301..45701c650a5d 100644
--- a/drivers/gpu/drm/drm_dp_helper.c
+++ b/drivers/gpu/drm/drm_dp_helper.c
@@ -311,6 +311,10 @@ int drm_dp_link_probe(struct drm_dp_aux *aux, struct drm_dp_link *link)
 	if (values[2] & DP_ENHANCED_FRAME_CAP)
 		link->capabilities |= DP_LINK_CAP_ENHANCED_FRAMING;
 
+	if (link->revision >= 0x12)
+		if (values[2] & DP_TPS3_SUPPORTED)
+			link->capabilities |= DP_LINK_CAP_TPS3;
+
 	if (values[3] & DP_NO_AUX_HANDSHAKE_LINK_TRAINING)
 		link->capabilities |= DP_LINK_CAP_FAST_TRAINING;
 
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index 83be142395ff..9e70ea8b907d 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -745,6 +745,7 @@ int drm_dp_dpcd_read_link_status(struct drm_dp_aux *aux,
 #define DP_LINK_CAP_ENHANCED_FRAMING (1 << 0)
 #define DP_LINK_CAP_FAST_TRAINING (1 << 1)
 #define DP_LINK_CAP_ANSI_8B10B (1 << 2)
+#define DP_LINK_CAP_TPS3 (1 << 3)
 
 struct drm_dp_link {
 	unsigned char revision;
-- 
2.4.5



More information about the dri-devel mailing list