[PATCH] drm/i915/hdcp: Use HDCP2_STREAM_STATUS to verify content type status

Suraj Kandpal suraj.kandpal at intel.com
Thu Jun 19 04:05:20 UTC 2025


>From PTL we need to move to using HDCP2_STREAM_STATUS to check if
the written content type info is the same as we expect since
HDCP2_AUTH_STREAM is inaccessible to us now.

Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
index 7bd775fb65a0..131fc0cae13b 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
@@ -806,9 +806,11 @@ intel_dp_mst_hdcp2_stream_encryption(struct intel_connector *connector,
 	enum port port = dig_port->base.port;
 	int ret;
 
-	drm_WARN_ON(display->drm, enable &&
-		    !!(intel_de_read(display, HDCP2_AUTH_STREAM(display, cpu_transcoder, port))
-		    & AUTH_STREAM_TYPE) != data->streams[0].stream_type);
+	if (DISPLAY_VER(display) < 30)
+		drm_WARN_ON(display->drm, enable &&
+			    !!(intel_de_read(display,
+			    HDCP2_AUTH_STREAM(display, cpu_transcoder, port))
+			    & AUTH_STREAM_TYPE) != data->streams[0].stream_type);
 
 	ret = intel_dp_mst_toggle_hdcp_stream_select(connector, enable);
 	if (ret)
@@ -824,6 +826,11 @@ intel_dp_mst_hdcp2_stream_encryption(struct intel_connector *connector,
 		return -ETIMEDOUT;
 	}
 
+	if (DISPLAY_VER(display) >= 30)
+		drm_WARN_ON(display->drm, enable &&
+			    !!(intel_de_read(display,
+			    HDCP2_STREAM_STATUS(display, cpu_transcoder, port))
+			    & STREAM_TYPE_STATUS) != data->streams[0].stream_type);
 	return 0;
 }
 
-- 
2.34.1



More information about the Intel-gfx mailing list