Commit 5bd29e32 authored by Anshuman Gupta's avatar Anshuman Gupta
Browse files

drm/i915/hdcp: Pass connector to check_2_2_link



This requires for HDCP 2.2 MST check link.
As for DP/HDMI shims check_2_2_link retrieves the connector
from dig_port, this is not sufficient or DP MST connector,
there can be multiple DP MST topology connector associated
with same dig_port.

Cc: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: default avatarUma Shankar <uma.shankar@intel.com>
Reviewed-by: default avatarRamalingam C <ramalingam.c@intel.com>
Tested-by: default avatarKarthik B S <karthik.b.s@intel.com>
Signed-off-by: default avatarAnshuman Gupta <anshuman.gupta@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210111081120.28417-16-anshuman.gupta@intel.com
parent e03187e1
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -379,7 +379,8 @@ struct intel_hdcp_shim {
				  bool is_repeater, u8 type);

	/* HDCP2.2 Link Integrity Check */
	int (*check_2_2_link)(struct intel_digital_port *dig_port);
	int (*check_2_2_link)(struct intel_digital_port *dig_port,
			      struct intel_connector *connector);
};

struct intel_hdcp {
+2 −1
Original line number Diff line number Diff line
@@ -585,7 +585,8 @@ int intel_dp_hdcp2_config_stream_type(struct intel_digital_port *dig_port,
}

static
int intel_dp_hdcp2_check_link(struct intel_digital_port *dig_port)
int intel_dp_hdcp2_check_link(struct intel_digital_port *dig_port,
			      struct intel_connector *connector)
{
	u8 rx_status;
	int ret;
+1 −1
Original line number Diff line number Diff line
@@ -1947,7 +1947,7 @@ static int intel_hdcp2_check_link(struct intel_connector *connector)
		goto out;
	}

	ret = hdcp->shim->check_2_2_link(dig_port);
	ret = hdcp->shim->check_2_2_link(dig_port, connector);
	if (ret == HDCP_LINK_PROTECTED) {
		if (hdcp->value != DRM_MODE_CONTENT_PROTECTION_UNDESIRED) {
			intel_hdcp_update_value(connector,
+2 −1
Original line number Diff line number Diff line
@@ -1733,7 +1733,8 @@ int intel_hdmi_hdcp2_read_msg(struct intel_digital_port *dig_port,
}

static
int intel_hdmi_hdcp2_check_link(struct intel_digital_port *dig_port)
int intel_hdmi_hdcp2_check_link(struct intel_digital_port *dig_port,
				struct intel_connector *connector)
{
	u8 rx_status[HDCP_2_2_HDMI_RXSTATUS_LEN];
	int ret;