diff mbox series

[v2,4/4] drm/i915/hdcp: disable the QSES check for HDCP2.2 over MST

Message ID 20210127065034.2501119-4-juston.li@intel.com (mailing list archive)
State New, archived
Headers show
Series [v2,1/4] drm/i915/hdcp: Disable the QSES check for HDCP 1.4 over MST | expand

Commit Message

Juston Li Jan. 27, 2021, 6:50 a.m. UTC
Like the patch to disable QSES for HDCP 1.4 over MST
https://patchwork.freedesktop.org/patch/415297/ the HDCP2.2 spec
doesn't require QSES as well and we've seen QSES not supported on a
couple HDCP2.2 docks so far (Dell WD19 and Lenovo LDC-G2)

Remove it for now until we get a better idea of how widely supported
QSES is and how to support it optionally.

Signed-off-by: Juston Li <juston.li@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 31 +-------------------
 1 file changed, 1 insertion(+), 30 deletions(-)

Comments

Gupta, Anshuman Jan. 27, 2021, 7:28 a.m. UTC | #1
Looks Good to me.
Reviewed-by: Anshuman Gupta <anshuman.gupta@intel.com>

> -----Original Message-----
> From: Li, Juston <juston.li@intel.com>
> Sent: Wednesday, January 27, 2021 12:21 PM
> To: intel-gfx@lists.freedesktop.org
> Cc: seanpaul@chromium.org; Gupta, Anshuman
> <anshuman.gupta@intel.com>; C, Ramalingam <ramalingam.c@intel.com>;
> Li, Juston <juston.li@intel.com>
> Subject: [PATCH v2 4/4] drm/i915/hdcp: disable the QSES check for
> HDCP2.2 over MST
> 
> Like the patch to disable QSES for HDCP 1.4 over MST
> https://patchwork.freedesktop.org/patch/415297/ the HDCP2.2 spec
> doesn't require QSES as well and we've seen QSES not supported on a
> couple HDCP2.2 docks so far (Dell WD19 and Lenovo LDC-G2)
> 
> Remove it for now until we get a better idea of how widely supported QSES
> is and how to support it optionally.
> 
> Signed-off-by: Juston Li <juston.li@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 31 +-------------------
>  1 file changed, 1 insertion(+), 30 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> index cd183944bc5a..5e9d0d8f7f84 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
> @@ -699,30 +699,6 @@ intel_dp_mst_hdcp_stream_encryption(struct
> intel_connector *connector,
>  	return 0;
>  }
> 
> -static bool intel_dp_mst_get_qses_status(struct intel_digital_port
> *dig_port,
> -					 struct intel_connector *connector)
> -{
> -	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
> -	struct drm_dp_query_stream_enc_status_ack_reply reply;
> -	struct intel_dp *intel_dp = &dig_port->dp;
> -	int ret;
> -
> -	ret = drm_dp_send_query_stream_enc_status(&intel_dp-
> >mst_mgr,
> -						  connector->port, &reply);
> -	if (ret) {
> -		drm_dbg_kms(&i915->drm,
> -			    "[%s:%d] failed QSES ret=%d\n",
> -			    connector->base.name, connector->base.base.id,
> ret);
> -		return false;
> -	}
> -
> -	drm_dbg_kms(&i915->drm, "[%s:%d] QSES stream auth: %d stream
> enc: %d\n",
> -		    connector->base.name, connector->base.base.id,
> -		    reply.auth_completed, reply.encryption_enabled);
> -
> -	return reply.auth_completed && reply.encryption_enabled;
> -}
> -
>  static int
>  intel_dp_mst_hdcp2_stream_encryption(struct intel_connector
> *connector,
>  				     bool enable)
> @@ -758,11 +734,6 @@ intel_dp_mst_hdcp2_stream_encryption(struct
> intel_connector *connector,
>  	return 0;
>  }
> 
> -/*
> - * DP v2.0 I.3.3 ignore the stream signature L' in QSES reply msg reply.
> - * I.3.5 MST source device may use a QSES msg to query downstream
> status
> - * for a particular stream.
> - */
>  static
>  int intel_dp_mst_hdcp2_check_link(struct intel_digital_port *dig_port,
>  				  struct intel_connector *connector) @@ -
> 782,7 +753,7 @@ int intel_dp_mst_hdcp2_check_link(struct
> intel_digital_port *dig_port,
>  			return ret;
>  	}
> 
> -	return intel_dp_mst_get_qses_status(dig_port, connector) ? 0 : -
> EINVAL;
> +	return 0;
>  }
> 
>  static const struct intel_hdcp_shim intel_dp_mst_hdcp_shim = {
> --
> 2.29.2
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
index cd183944bc5a..5e9d0d8f7f84 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c
@@ -699,30 +699,6 @@  intel_dp_mst_hdcp_stream_encryption(struct intel_connector *connector,
 	return 0;
 }
 
-static bool intel_dp_mst_get_qses_status(struct intel_digital_port *dig_port,
-					 struct intel_connector *connector)
-{
-	struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
-	struct drm_dp_query_stream_enc_status_ack_reply reply;
-	struct intel_dp *intel_dp = &dig_port->dp;
-	int ret;
-
-	ret = drm_dp_send_query_stream_enc_status(&intel_dp->mst_mgr,
-						  connector->port, &reply);
-	if (ret) {
-		drm_dbg_kms(&i915->drm,
-			    "[%s:%d] failed QSES ret=%d\n",
-			    connector->base.name, connector->base.base.id, ret);
-		return false;
-	}
-
-	drm_dbg_kms(&i915->drm, "[%s:%d] QSES stream auth: %d stream enc: %d\n",
-		    connector->base.name, connector->base.base.id,
-		    reply.auth_completed, reply.encryption_enabled);
-
-	return reply.auth_completed && reply.encryption_enabled;
-}
-
 static int
 intel_dp_mst_hdcp2_stream_encryption(struct intel_connector *connector,
 				     bool enable)
@@ -758,11 +734,6 @@  intel_dp_mst_hdcp2_stream_encryption(struct intel_connector *connector,
 	return 0;
 }
 
-/*
- * DP v2.0 I.3.3 ignore the stream signature L' in QSES reply msg reply.
- * I.3.5 MST source device may use a QSES msg to query downstream status
- * for a particular stream.
- */
 static
 int intel_dp_mst_hdcp2_check_link(struct intel_digital_port *dig_port,
 				  struct intel_connector *connector)
@@ -782,7 +753,7 @@  int intel_dp_mst_hdcp2_check_link(struct intel_digital_port *dig_port,
 			return ret;
 	}
 
-	return intel_dp_mst_get_qses_status(dig_port, connector) ? 0 : -EINVAL;
+	return 0;
 }
 
 static const struct intel_hdcp_shim intel_dp_mst_hdcp_shim = {