diff mbox series

drm/i915: Fix i915_display_info output when connectors are not active

Message ID 20240329012331.29281-1-ville.syrjala@linux.intel.com (mailing list archive)
State New
Headers show
Series drm/i915: Fix i915_display_info output when connectors are not active | expand

Commit Message

Ville Syrjälä March 29, 2024, 1:23 a.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Currently intel_connector_info(), which prints the per-connector
output for i915_display_info, just bails out early if the connector
doesn't have a current encoder. That leads to very confusing output
where some of your connected (and properly detected) outputs appear
to have no enumerated modes.

Get rid of the encoder stuff and just rely on the connector itself
so that the output is always consistent.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 .../gpu/drm/i915/display/intel_display_debugfs.c   | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

Comments

Kandpal, Suraj April 1, 2024, 3:33 a.m. UTC | #1
> Subject: [PATCH] drm/i915: Fix i915_display_info output when connectors are
> not active
> 
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Currently intel_connector_info(), which prints the per-connector output for
> i915_display_info, just bails out early if the connector doesn't have a current
> encoder. That leads to very confusing output where some of your connected
> (and properly detected) outputs appear to have no enumerated modes.
> 
> Get rid of the encoder stuff and just rely on the connector itself so that the
> output is always consistent.
> 
LGTM,
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>

> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  .../gpu/drm/i915/display/intel_display_debugfs.c   | 14 +++-----------
>  1 file changed, 3 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index b99c024b0934..72efd92e5737 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -252,9 +252,6 @@ static void intel_connector_info(struct seq_file *m,
>  				 struct drm_connector *connector)
>  {
>  	struct intel_connector *intel_connector =
> to_intel_connector(connector);
> -	const struct drm_connector_state *conn_state = connector->state;
> -	struct intel_encoder *encoder =
> -		to_intel_encoder(conn_state->best_encoder);
>  	const struct drm_display_mode *mode;
> 
>  	seq_printf(m, "[CONNECTOR:%d:%s]: status: %s\n", @@ -271,28
> +268,23 @@ static void intel_connector_info(struct seq_file *m,
>  		   drm_get_subpixel_order_name(connector-
> >display_info.subpixel_order));
>  	seq_printf(m, "\tCEA rev: %d\n", connector->display_info.cea_rev);
> 
> -	if (!encoder)
> -		return;
> -
>  	switch (connector->connector_type) {
>  	case DRM_MODE_CONNECTOR_DisplayPort:
>  	case DRM_MODE_CONNECTOR_eDP:
> -		if (encoder->type == INTEL_OUTPUT_DP_MST)
> +		if (intel_connector->mst_port)
>  			intel_dp_mst_info(m, intel_connector);
>  		else
>  			intel_dp_info(m, intel_connector);
>  		break;
>  	case DRM_MODE_CONNECTOR_HDMIA:
> -		if (encoder->type == INTEL_OUTPUT_HDMI ||
> -		    encoder->type == INTEL_OUTPUT_DDI)
> -			intel_hdmi_info(m, intel_connector);
> +		intel_hdmi_info(m, intel_connector);
>  		break;
>  	default:
>  		break;
>  	}
> 
>  	seq_puts(m, "\tHDCP version: ");
> -	if (intel_encoder_is_mst(encoder)) {
> +	if (intel_connector->mst_port) {
>  		intel_hdcp_info(m, intel_connector, true);
>  		seq_puts(m, "\tMST Hub HDCP version: ");
>  	}
> --
> 2.43.2
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index b99c024b0934..72efd92e5737 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -252,9 +252,6 @@  static void intel_connector_info(struct seq_file *m,
 				 struct drm_connector *connector)
 {
 	struct intel_connector *intel_connector = to_intel_connector(connector);
-	const struct drm_connector_state *conn_state = connector->state;
-	struct intel_encoder *encoder =
-		to_intel_encoder(conn_state->best_encoder);
 	const struct drm_display_mode *mode;
 
 	seq_printf(m, "[CONNECTOR:%d:%s]: status: %s\n",
@@ -271,28 +268,23 @@  static void intel_connector_info(struct seq_file *m,
 		   drm_get_subpixel_order_name(connector->display_info.subpixel_order));
 	seq_printf(m, "\tCEA rev: %d\n", connector->display_info.cea_rev);
 
-	if (!encoder)
-		return;
-
 	switch (connector->connector_type) {
 	case DRM_MODE_CONNECTOR_DisplayPort:
 	case DRM_MODE_CONNECTOR_eDP:
-		if (encoder->type == INTEL_OUTPUT_DP_MST)
+		if (intel_connector->mst_port)
 			intel_dp_mst_info(m, intel_connector);
 		else
 			intel_dp_info(m, intel_connector);
 		break;
 	case DRM_MODE_CONNECTOR_HDMIA:
-		if (encoder->type == INTEL_OUTPUT_HDMI ||
-		    encoder->type == INTEL_OUTPUT_DDI)
-			intel_hdmi_info(m, intel_connector);
+		intel_hdmi_info(m, intel_connector);
 		break;
 	default:
 		break;
 	}
 
 	seq_puts(m, "\tHDCP version: ");
-	if (intel_encoder_is_mst(encoder)) {
+	if (intel_connector->mst_port) {
 		intel_hdcp_info(m, intel_connector, true);
 		seq_puts(m, "\tMST Hub HDCP version: ");
 	}