Message ID | 20190717142018.29857-1-anshuman.gupta@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: Add HDCP capability info to i915_display_info. | expand |
On 2019-07-17 at 19:50:18 +0530, Anshuman Gupta wrote: > To identify the HDCP capability of the display connected to CI > systems, we need to add the hdcp capability probing in i915_display_info. > > This will also help to populate the HDCP capability of the CI systems > to CI H/W logs maintained at https://intel-gfx-ci.01.org/hardware/. > It will facilitate to determine the kms_content_protection behavior on > a particular CI system. > > Cc: daniel.vetter@intel.com > Cc: ramalingam.c@intel.com > Signed-off-by: Anshuman Gupta <anshuman.gupta@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 duplication of i915_hdcp_sink_capability_show. Hence reuse the same above function for i915_hdcp_sink_capability_show also. > + > 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); We could add this hdcp_info call at the end of this function. As eDP and hdcp are mutually exclusive, both will result with same output. -Ram > 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 >
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"); +} + 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,
To identify the HDCP capability of the display connected to CI systems, we need to add the hdcp capability probing in i915_display_info. This will also help to populate the HDCP capability of the CI systems to CI H/W logs maintained at https://intel-gfx-ci.01.org/hardware/. It will facilitate to determine the kms_content_protection behavior on a particular CI system. Cc: daniel.vetter@intel.com Cc: ramalingam.c@intel.com Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com> --- drivers/gpu/drm/i915/i915_debugfs.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)