drm/i915/hdcp: Disable the QSES check for HDCP 1.4 over MST
authorSean Paul <seanpaul@chromium.org>
Thu, 21 Jan 2021 17:26:09 +0000 (12:26 -0500)
committerAnshuman Gupta <anshuman.gupta@intel.com>
Thu, 28 Jan 2021 07:05:06 +0000 (12:35 +0530)
The HDCP 1.4 spec does not require the QUERY_STREAM_ENCRYPTION_STATUS
check, it was always a nice-to-have. After deploying this across various
devices, we've determined that some MST bridge chips do not properly
support this call for HDCP 1.4 (namely Synaptics and Realtek).

I had considered creating a quirk for this, but I think it's more
prudent to just disable the check entirely since I don't have an idea
how widespread support is.

Changes in v2:
-Rebased on -tip

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Anshuman Gupta <anshuman.gupta@intel.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210106223909.34476-1-sean@poorly.run
Link: https://patchwork.freedesktop.org/patch/msgid/20210121172620.33066-1-sean@poorly.run
drivers/gpu/drm/i915/display/intel_dp_hdcp.c

index f372e25..4dba5bb 100644 (file)
@@ -722,16 +722,6 @@ static bool intel_dp_mst_get_qses_status(struct intel_digital_port *dig_port,
        return reply.auth_completed && reply.encryption_enabled;
 }
 
-static
-bool intel_dp_mst_hdcp_check_link(struct intel_digital_port *dig_port,
-                                 struct intel_connector *connector)
-{
-       if (!intel_dp_hdcp_check_link(dig_port, connector))
-               return false;
-
-       return intel_dp_mst_get_qses_status(dig_port, connector);
-}
-
 static int
 intel_dp_mst_hdcp2_stream_encryption(struct intel_connector *connector,
                                     bool enable)
@@ -805,7 +795,7 @@ static const struct intel_hdcp_shim intel_dp_mst_hdcp_shim = {
        .read_v_prime_part = intel_dp_hdcp_read_v_prime_part,
        .toggle_signalling = intel_dp_hdcp_toggle_signalling,
        .stream_encryption = intel_dp_mst_hdcp_stream_encryption,
-       .check_link = intel_dp_mst_hdcp_check_link,
+       .check_link = intel_dp_hdcp_check_link,
        .hdcp_capable = intel_dp_hdcp_capable,
        .write_2_2_msg = intel_dp_hdcp2_write_msg,
        .read_2_2_msg = intel_dp_hdcp2_read_msg,