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

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
...@@ -379,7 +379,8 @@ struct intel_hdcp_shim { ...@@ -379,7 +379,8 @@ struct intel_hdcp_shim {
bool is_repeater, u8 type); bool is_repeater, u8 type);
/* HDCP2.2 Link Integrity Check */ /* 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 { struct intel_hdcp {
......
...@@ -585,7 +585,8 @@ int intel_dp_hdcp2_config_stream_type(struct intel_digital_port *dig_port, ...@@ -585,7 +585,8 @@ int intel_dp_hdcp2_config_stream_type(struct intel_digital_port *dig_port,
} }
static 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; u8 rx_status;
int ret; int ret;
......
...@@ -1947,7 +1947,7 @@ static int intel_hdcp2_check_link(struct intel_connector *connector) ...@@ -1947,7 +1947,7 @@ static int intel_hdcp2_check_link(struct intel_connector *connector)
goto out; 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 (ret == HDCP_LINK_PROTECTED) {
if (hdcp->value != DRM_MODE_CONTENT_PROTECTION_UNDESIRED) { if (hdcp->value != DRM_MODE_CONTENT_PROTECTION_UNDESIRED) {
intel_hdcp_update_value(connector, intel_hdcp_update_value(connector,
......
...@@ -1733,7 +1733,8 @@ int intel_hdmi_hdcp2_read_msg(struct intel_digital_port *dig_port, ...@@ -1733,7 +1733,8 @@ int intel_hdmi_hdcp2_read_msg(struct intel_digital_port *dig_port,
} }
static 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]; u8 rx_status[HDCP_2_2_HDMI_RXSTATUS_LEN];
int ret; int ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment