diff mbox series

drm/i915/hdcp: Fix Repeater authentication during topology change

Message ID 20241217083723.2883317-1-suraj.kandpal@intel.com (mailing list archive)
State New
Headers show
Series drm/i915/hdcp: Fix Repeater authentication during topology change | expand

Commit Message

Kandpal, Suraj Dec. 17, 2024, 8:37 a.m. UTC
When topology changes before beginning a new HDCP authentication by
sending AKE_init message we need to first authenticate only the
repeater if that fails only then makes sense to enable a new HDCP
authentication. Even though it made sense to not enable HDCP directly
from check_link and schedule it repeater authentication needs to be
done immidieatly

Fixes: 47ef55a8b784 ("drm/i915/hdcp: Don't enable HDCP2.2 directly from check_link")
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
 drivers/gpu/drm/i915/display/intel_hdcp.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index f6e68a0e3b6d..9ff2274ed7e7 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -2182,6 +2182,19 @@  static int intel_hdcp2_check_link(struct intel_connector *connector)
 
 		drm_dbg_kms(display->drm,
 			    "HDCP2.2 Downstream topology change\n");
+
+		ret = hdcp2_authenticate_repeater_topology(connector);
+		if (!ret) {
+			intel_hdcp_update_value(connector,
+						DRM_MODE_CONTENT_PROTECTION_ENABLED,
+						true);
+			goto out;
+		}
+
+		drm_dbg_kms(display->drm,
+			    "[CONNECTOR:%d:%s] Repeater topology auth failed.(%d)\n",
+			    connector->base.base.id, connector->base.name,
+			    ret);
 	} else {
 		drm_dbg_kms(display->drm,
 			    "[CONNECTOR:%d:%s] HDCP2.2 link failed, retrying auth\n",