diff options
author | Suraj Kandpal <suraj.kandpal@intel.com> | 2023-12-15 06:09:16 +0100 |
---|---|---|
committer | Ankit Nautiyal <ankit.k.nautiyal@intel.com> | 2023-12-22 06:51:47 +0100 |
commit | da2d668480c37d43a423ff7822caba2e0c58c4ac (patch) | |
tree | 6c65d63b7bf59ee9c53b2b598ec3487785a2d1b8 | |
parent | drm/i915/cdclk: Remove divider field from tables (diff) | |
download | linux-da2d668480c37d43a423ff7822caba2e0c58c4ac.tar.xz linux-da2d668480c37d43a423ff7822caba2e0c58c4ac.zip |
drm/i915/hdcp: Fail Repeater authentication if Type1 device not present
Fail repeater authentication step in case RX_INFO indicates
HDCP1.x or HDCP2.0/2.1 device is present downstream in repeater
topology and content type set by userspace is Type1.
--v2
-Fix build error.
--v3
-remove mst encoder check as branch device also act as repeater
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231215050915.2070119-1-suraj.kandpal@intel.com
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_hdcp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c index ee29fcb860e4..c3e692e7f790 100644 --- a/drivers/gpu/drm/i915/display/intel_hdcp.c +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c @@ -1633,6 +1633,12 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector) !HDCP_2_2_HDCP1_DEVICE_CONNECTED(rx_info[1]) && !HDCP_2_2_HDCP_2_0_REP_CONNECTED(rx_info[1]); + if (!dig_port->hdcp_mst_type1_capable && hdcp->content_type) { + drm_dbg_kms(&i915->drm, + "HDCP1.x or 2.0 Legacy Device Downstream\n"); + return -EINVAL; + } + /* Converting and Storing the seq_num_v to local variable as DWORD */ seq_num_v = drm_hdcp_be24_to_cpu((const u8 *)msgs.recvid_list.seq_num_v); |