[PATCH] drm/i915: Add HDCP capability info to i915_display_info.

Ramalingam C ramalingam.c at intel.com
Wed Jul 17 00:22:59 UTC 2019


On 2019-07-16 at 19:37:38 +0530, Anshuman Gupta wrote:
> There are few CI igt at kms_content_protection tests skip due
> to "No connector found with HDCP capability".
> 
> CI https://intel-gfx-ci.01.org/hardware/ logs doesn't
> contain i915_hdcp_sink_capability debugfs attributes.
> By adding hdcp capability to i915_display_info, it will
> make it easy to close such IGT tests skips bugs, where
> display is not capable of HDCP.
I would prefer something like this.

"To identify the HDCP capability of the display connected we need to add
the hdcp capability probing in i915_display_info.

This will also help to populate the HDCP capability of the test systems
listed at https://intel-gfx-ci.01.org/hardware/, facilidating to
determine the kms_content_protection behavior on a particular system."

> 
> Cc: daniel.vetter at intel.com
> Cc: ramalingam.c at intel.com
> Signed-off-by: Anshuman Gupta <anshuman.gupta at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 6b84d04a6a28..3ce79f536a8e 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2569,6 +2569,30 @@ static void intel_panel_info(struct seq_file *m, struct intel_panel *panel)
>  	intel_seq_print_mode(m, 2, mode);
>  }
>  
> +static void intel_hdcp_info(struct seq_file *m,
> +			    struct intel_connector *intel_connector)
> +{
> +	bool hdcp_cap, hdcp2_cap;
> +
> +	/* HDCP is supported by connector */
> +	if (!intel_connector->hdcp.shim)
> +		return;
> +
> +	seq_printf(m, "\tHDCP version: ");
> +	hdcp_cap = intel_hdcp_capable(intel_connector);
> +	hdcp2_cap = intel_hdcp2_capable(intel_connector);
> +
> +	if (hdcp_cap)
> +		seq_puts(m, "HDCP1.4 ");
> +	if (hdcp2_cap)
> +		seq_puts(m, "HDCP2.2 ");
> +
> +	if (!hdcp_cap && !hdcp2_cap)
> +		seq_puts(m, "None");
> +
> +	seq_puts(m, "\n");
> +}
This is duplicating the i915_hdcp_sink_capability_show.
We can call the above function from i915_hdcp_sink_capability_show()

-Ram
> +
>  static void intel_dp_info(struct seq_file *m,
>  			  struct intel_connector *intel_connector)
>  {
> @@ -2577,6 +2601,7 @@ static void intel_dp_info(struct seq_file *m,
>  
>  	seq_printf(m, "\tDPCD rev: %x\n", intel_dp->dpcd[DP_DPCD_REV]);
>  	seq_printf(m, "\taudio support: %s\n", yesno(intel_dp->has_audio));
> +	intel_hdcp_info(m, intel_connector);
>  	if (intel_connector->base.connector_type == DRM_MODE_CONNECTOR_eDP)
>  		intel_panel_info(m, &intel_connector->panel);
>  
> @@ -2605,6 +2630,7 @@ static void intel_hdmi_info(struct seq_file *m,
>  	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&intel_encoder->base);
>  
>  	seq_printf(m, "\taudio support: %s\n", yesno(intel_hdmi->has_audio));
> +	intel_hdcp_info(m, intel_connector);
>  }
>  
>  static void intel_lvds_info(struct seq_file *m,
> -- 
> 2.21.0
> 


More information about the Intel-gfx-trybot mailing list