Commit 47ef55a8 authored by Suraj Kandpal's avatar Suraj Kandpal Committed by Ankit Nautiyal
Browse files

drm/i915/hdcp: Don't enable HDCP2.2 directly from check_link



Whenever LIC fails instead of moving from ENABLED to DESIRED
CP property we directly enable HDCP2.2 without informing the userspace
of this failure in link integrity check.
Now we will just update the value to DESIRED send the event to
userspace and then continue with the normal flow of HDCP enablement.

--v2
-Don't change the function prototype in this function [Ankit]

Signed-off-by: default avatarSuraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: default avatarAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: default avatarAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240226063051.1685326-4-suraj.kandpal@intel.com
parent 909fff3e
Loading
Loading
Loading
Loading
+2 −23
Original line number Diff line number Diff line
@@ -2068,17 +2068,6 @@ static int intel_hdcp2_check_link(struct intel_connector *connector)

		drm_dbg_kms(&i915->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(&i915->drm,
			    "[CONNECTOR:%d:%s] Repeater topology auth failed.(%d)\n",
			    connector->base.base.id, connector->base.name,
			    ret);
	} else {
		drm_dbg_kms(&i915->drm,
			    "[CONNECTOR:%d:%s] HDCP2.2 link failed, retrying auth\n",
@@ -2095,18 +2084,8 @@ static int intel_hdcp2_check_link(struct intel_connector *connector)
		goto out;
	}

	ret = _intel_hdcp2_enable(connector);
	if (ret) {
		drm_dbg_kms(&i915->drm,
			    "[CONNECTOR:%d:%s] Failed to enable hdcp2.2 (%d)\n",
			    connector->base.base.id, connector->base.name,
			    ret);
	intel_hdcp_update_value(connector,
					DRM_MODE_CONTENT_PROTECTION_DESIRED,
					true);
		goto out;
	}

				DRM_MODE_CONTENT_PROTECTION_DESIRED, true);
out:
	mutex_unlock(&dig_port->hdcp_mutex);
	mutex_unlock(&hdcp->mutex);