dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Claudio Suarez <cssk@net-c.es>, dri-devel@lists.freedesktop.org
Cc: David Airlie <airlied@linux.ie>, Sam Ravnborg <sam@ravnborg.org>
Subject: Re: [PATCH] drm: change logs to print connectors in the form CONNECTOR:id:name
Date: Mon, 15 Nov 2021 12:22:08 +0200	[thread overview]
Message-ID: <87ilwt3ei7.fsf@intel.com> (raw)
In-Reply-To: <YZARol5A5hS+5a5m@gineta.localdomain>

On Sat, 13 Nov 2021, Claudio Suarez <cssk@net-c.es> wrote:
> The prefered way to log connectors is [CONNECTOR:id:name]. Change it in
> drm core programs.
>
> Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Claudio Suarez <cssk@net-c.es>
> ---
>  drivers/gpu/drm/drm_client_modeset.c | 51 ++++++++++++++--------------
>  drivers/gpu/drm/drm_connector.c      | 12 ++++---
>  drivers/gpu/drm/drm_edid.c           | 36 ++++++++++----------
>  drivers/gpu/drm/drm_edid_load.c      | 11 +++---
>  drivers/gpu/drm/drm_mode_config.c    |  3 +-
>  5 files changed, 59 insertions(+), 54 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
> index ced09c7c06f9..4f35dc375bdd 100644
> --- a/drivers/gpu/drm/drm_client_modeset.c
> +++ b/drivers/gpu/drm/drm_client_modeset.c
> @@ -240,7 +240,7 @@ static void drm_client_connectors_enabled(struct drm_connector **connectors,
>  	for (i = 0; i < connector_count; i++) {
>  		connector = connectors[i];
>  		enabled[i] = drm_connector_enabled(connector, true);
> -		DRM_DEBUG_KMS("connector %d enabled? %s\n", connector->base.id,
> +		DRM_DEBUG_KMS("[CONNECTOR:%d;%s] enabled? %s\n", connector->base.id, connector->name,
>  			      connector->display_info.non_desktop ? "non desktop" : enabled[i] ? "yes" : "no");

You have a semicolon instead of a colon there.

Not to block this patch, but I've wondered about bigger changes such as:

- Adding "debug_name" member or similar in drm_connector, which would be
  an allocated string with "[CONNECTOR:id:name]" that you could use with
  just %s while debug logging.

- Adding drm_dbg_connector() which would take drm_connector as context,
  and do drm_dbg_kms() with the above prefix.

>  
>  		any_enabled |= enabled[i];
> @@ -350,8 +350,8 @@ static int drm_client_get_tile_offsets(struct drm_connector **connectors,
>  			continue;
>  
>  		if (!modes[i] && (h_idx || v_idx)) {
> -			DRM_DEBUG_KMS("no modes for connector tiled %d %d\n", i,
> -				      connector->base.id);
> +			DRM_DEBUG_KMS("no modes for [CONNECTOR:%d:%s] tiled %d\n",
> +				      connector->base.id, connector->name, i);

Personally I'd prefer adding [CONNECTOR:id:name] as a prefix in the
beginning, throughout, not in the middle.

BR,
Jani.

>  			continue;
>  		}
>  		if (connector->tile_h_loc < h_idx)
> @@ -419,14 +419,15 @@ static bool drm_client_target_preferred(struct drm_connector **connectors,
>  			drm_client_get_tile_offsets(connectors, connector_count, modes, offsets, i,
>  						    connector->tile_h_loc, connector->tile_v_loc);
>  		}
> -		DRM_DEBUG_KMS("looking for cmdline mode on connector %d\n",
> -			      connector->base.id);
> +		DRM_DEBUG_KMS("looking for cmdline mode on [CONNECTOR:%d:%s]\n",
> +			      connector->base.id, connector->name);
>  
>  		/* got for command line mode first */
>  		modes[i] = drm_connector_pick_cmdline_mode(connector);
>  		if (!modes[i]) {
> -			DRM_DEBUG_KMS("looking for preferred mode on connector %d %d\n",
> -				      connector->base.id, connector->tile_group ? connector->tile_group->id : 0);
> +			DRM_DEBUG_KMS("looking for preferred mode on [CONNECTOR:%d:%s] %d\n",
> +				      connector->base.id, connector->name,
> +				      connector->tile_group ? connector->tile_group->id : 0);
>  			modes[i] = drm_connector_has_preferred_mode(connector, width, height);
>  		}
>  		/* No preferred modes, pick one off the list */
> @@ -448,8 +449,8 @@ static bool drm_client_target_preferred(struct drm_connector **connectors,
>  			    (connector->tile_h_loc == 0 &&
>  			     connector->tile_v_loc == 0 &&
>  			     !drm_connector_get_tiled_mode(connector))) {
> -				DRM_DEBUG_KMS("Falling back to non tiled mode on Connector %d\n",
> -					      connector->base.id);
> +				DRM_DEBUG_KMS("Falling back to non tiled mode on [CONNECTOR:%d:%s]\n",
> +					      connector->base.id, connector->name);
>  				modes[i] = drm_connector_fallback_non_tiled_mode(connector);
>  			} else {
>  				modes[i] = drm_connector_get_tiled_mode(connector);
> @@ -617,15 +618,15 @@ static bool drm_client_firmware_config(struct drm_client_dev *client,
>  			num_connectors_detected++;
>  
>  		if (!enabled[i]) {
> -			DRM_DEBUG_KMS("connector %s not enabled, skipping\n",
> -				      connector->name);
> +			DRM_DEBUG_KMS("[CONNECTOR:%d:%s] not enabled, skipping\n",
> +				      connector->base.id, connector->name);
>  			conn_configured |= BIT(i);
>  			continue;
>  		}
>  
>  		if (connector->force == DRM_FORCE_OFF) {
> -			DRM_DEBUG_KMS("connector %s is disabled by user, skipping\n",
> -				      connector->name);
> +			DRM_DEBUG_KMS("[CONNECTOR:%d:%s] is disabled by user, skipping\n",
> +				      connector->base.id, connector->name);
>  			enabled[i] = false;
>  			continue;
>  		}
> @@ -635,8 +636,8 @@ static bool drm_client_firmware_config(struct drm_client_dev *client,
>  			if (connector->force > DRM_FORCE_OFF)
>  				goto bail;
>  
> -			DRM_DEBUG_KMS("connector %s has no encoder or crtc, skipping\n",
> -				      connector->name);
> +			DRM_DEBUG_KMS("[CONNECTOR:%d:%s] has no encoder or crtc, skipping\n",
> +				      connector->base.id, connector->name);
>  			enabled[i] = false;
>  			conn_configured |= BIT(i);
>  			continue;
> @@ -658,23 +659,23 @@ static bool drm_client_firmware_config(struct drm_client_dev *client,
>  			}
>  		}
>  
> -		DRM_DEBUG_KMS("looking for cmdline mode on connector %s\n",
> -			      connector->name);
> +		DRM_DEBUG_KMS("looking for cmdline mode on [CONNECTOR:%d:%s]\n",
> +			      connector->base.id, connector->name);
>  
>  		/* go for command line mode first */
>  		modes[i] = drm_connector_pick_cmdline_mode(connector);
>  
>  		/* try for preferred next */
>  		if (!modes[i]) {
> -			DRM_DEBUG_KMS("looking for preferred mode on connector %s %d\n",
> -				      connector->name, connector->has_tile);
> +			DRM_DEBUG_KMS("looking for preferred mode on [CONNECTOR:%d:%s] %d\n",
> +				      connector->base.id, connector->name, connector->has_tile);
>  			modes[i] = drm_connector_has_preferred_mode(connector, width, height);
>  		}
>  
>  		/* No preferred mode marked by the EDID? Are there any modes? */
>  		if (!modes[i] && !list_empty(&connector->modes)) {
> -			DRM_DEBUG_KMS("using first mode listed on connector %s\n",
> -				      connector->name);
> +			DRM_DEBUG_KMS("using first mode listed on [CONNECTOR:%d:%s]\n",
> +				      connector->base.id, connector->name);
>  			modes[i] = list_first_entry(&connector->modes,
>  						    struct drm_display_mode,
>  						    head);
> @@ -693,8 +694,8 @@ static bool drm_client_firmware_config(struct drm_client_dev *client,
>  			 * This is crtc->mode and not crtc->state->mode for the
>  			 * fastboot check to work correctly.
>  			 */
> -			DRM_DEBUG_KMS("looking for current mode on connector %s\n",
> -				      connector->name);
> +			DRM_DEBUG_KMS("looking for current mode on [CONNECTOR:%d:%s]\n",
> +				      connector->base.id, connector->name);
>  			modes[i] = &connector->state->crtc->mode;
>  		}
>  		/*
> @@ -703,8 +704,8 @@ static bool drm_client_firmware_config(struct drm_client_dev *client,
>  		 */
>  		if (connector->has_tile &&
>  		    num_tiled_conns < connector->num_h_tile * connector->num_v_tile) {
> -			DRM_DEBUG_KMS("Falling back to non tiled mode on Connector %d\n",
> -				      connector->base.id);
> +			DRM_DEBUG_KMS("Falling back to non tiled mode on [CONNECTOR:%d:%s]\n",
> +				      connector->base.id, connector->name);
>  			modes[i] = drm_connector_fallback_non_tiled_mode(connector);
>  		}
>  		crtcs[i] = new_crtc;
> diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
> index 3bc782b630b9..a7085f65865f 100644
> --- a/drivers/gpu/drm/drm_connector.c
> +++ b/drivers/gpu/drm/drm_connector.c
> @@ -161,20 +161,22 @@ static void drm_connector_get_cmdline_mode(struct drm_connector *connector)
>  		return;
>  
>  	if (mode->force) {
> -		DRM_INFO("forcing %s connector %s\n", connector->name,
> +		DRM_INFO("forcing [CONNECTOR:%d:%s]: %s\n",
> +			 connector->base.id, connector->name,
>  			 drm_get_connector_force_name(mode->force));
>  		connector->force = mode->force;
>  	}
>  
>  	if (mode->panel_orientation != DRM_MODE_PANEL_ORIENTATION_UNKNOWN) {
> -		DRM_INFO("cmdline forces connector %s panel_orientation to %d\n",
> -			 connector->name, mode->panel_orientation);
> +		DRM_INFO("cmdline forces [CONNECTOR:%d:%s] panel_orientation to %d\n",
> +			 connector->base.id, connector->name,
> +			 mode->panel_orientation);
>  		drm_connector_set_panel_orientation(connector,
>  						    mode->panel_orientation);
>  	}
>  
> -	DRM_DEBUG_KMS("cmdline mode for connector %s %s %dx%d@%dHz%s%s%s\n",
> -		      connector->name, mode->name,
> +	DRM_DEBUG_KMS("cmdline mode for [CONNECTOR:%d:%s] %s %dx%d@%dHz%s%s%s\n",
> +		      connector->base.id, connector->name, mode->name,
>  		      mode->xres, mode->yres,
>  		      mode->refresh_specified ? mode->refresh : 60,
>  		      mode->rb ? " reduced blanking" : "",
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 12893e7be89b..242dfcdb7ecb 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -5076,32 +5076,32 @@ static void drm_parse_hdmi_deep_color_info(struct drm_connector *connector,
>  	if (hdmi[6] & DRM_EDID_HDMI_DC_30) {
>  		dc_bpc = 10;
>  		info->edid_hdmi_dc_modes |= DRM_EDID_HDMI_DC_30;
> -		DRM_DEBUG("%s: HDMI sink does deep color 30.\n",
> -			  connector->name);
> +		DRM_DEBUG("[CONNECTOR:%d:%s]: HDMI sink does deep color 30.\n",
> +			  connector->base.id, connector->name);
>  	}
>  
>  	if (hdmi[6] & DRM_EDID_HDMI_DC_36) {
>  		dc_bpc = 12;
>  		info->edid_hdmi_dc_modes |= DRM_EDID_HDMI_DC_36;
> -		DRM_DEBUG("%s: HDMI sink does deep color 36.\n",
> -			  connector->name);
> +		DRM_DEBUG("[CONNECTOR:%d:%s]: HDMI sink does deep color 36.\n",
> +			  connector->base.id, connector->name);
>  	}
>  
>  	if (hdmi[6] & DRM_EDID_HDMI_DC_48) {
>  		dc_bpc = 16;
>  		info->edid_hdmi_dc_modes |= DRM_EDID_HDMI_DC_48;
> -		DRM_DEBUG("%s: HDMI sink does deep color 48.\n",
> -			  connector->name);
> +		DRM_DEBUG("[CONNECTOR:%d:%s]: HDMI sink does deep color 48.\n",
> +			  connector->base.id, connector->name);
>  	}
>  
>  	if (dc_bpc == 0) {
> -		DRM_DEBUG("%s: No deep color support on this HDMI sink.\n",
> -			  connector->name);
> +		DRM_DEBUG("[CONNECTOR:%d:%s]: No deep color support on this HDMI sink.\n",
> +			  connector->base.id, connector->name);
>  		return;
>  	}
>  
> -	DRM_DEBUG("%s: Assigning HDMI sink color depth as %d bpc.\n",
> -		  connector->name, dc_bpc);
> +	DRM_DEBUG("[CONNECTOR:%d:%s]: Assigning HDMI sink color depth as %d bpc.\n",
> +		  connector->base.id, connector->name, dc_bpc);
>  	info->bpc = dc_bpc;
>  
>  	/*
> @@ -5114,8 +5114,8 @@ static void drm_parse_hdmi_deep_color_info(struct drm_connector *connector,
>  	/* YCRCB444 is optional according to spec. */
>  	if (hdmi[6] & DRM_EDID_HDMI_DC_Y444) {
>  		info->color_formats |= DRM_COLOR_FORMAT_YCRCB444;
> -		DRM_DEBUG("%s: HDMI sink does YCRCB444 in deep color.\n",
> -			  connector->name);
> +		DRM_DEBUG("[CONNECTOR:%d:%s]: HDMI sink does YCRCB444 in deep color.\n",
> +			  connector->base.id, connector->name);
>  	}
>  
>  	/*
> @@ -5123,8 +5123,8 @@ static void drm_parse_hdmi_deep_color_info(struct drm_connector *connector,
>  	 * then deep color 36 bit must be supported.
>  	 */
>  	if (!(hdmi[6] & DRM_EDID_HDMI_DC_36)) {
> -		DRM_DEBUG("%s: HDMI sink should do DC_36, but does not!\n",
> -			  connector->name);
> +		DRM_DEBUG("[CONNECTOR:%d:%s]: HDMI sink should do DC_36, but does not!\n",
> +			  connector->base.id, connector->name);
>  	}
>  }
>  
> @@ -5357,8 +5357,8 @@ u32 drm_add_display_info(struct drm_connector *connector, const struct edid *edi
>  	if (info->bpc == 0 && edid->revision == 3 &&
>  	    edid->input & DRM_EDID_DIGITAL_DFP_1_X) {
>  		info->bpc = 8;
> -		DRM_DEBUG("%s: Assigning DFP sink color depth as %d bpc.\n",
> -			  connector->name, info->bpc);
> +		DRM_DEBUG("[CONNECTOR:%d:%s]: Assigning DFP sink color depth as %d bpc.\n",
> +			  connector->base.id, connector->name, info->bpc);
>  	}
>  
>  	/* Only defined for 1.4 with digital displays */
> @@ -5390,8 +5390,8 @@ u32 drm_add_display_info(struct drm_connector *connector, const struct edid *edi
>  		break;
>  	}
>  
> -	DRM_DEBUG("%s: Assigning EDID-1.4 digital sink color depth as %d bpc.\n",
> -			  connector->name, info->bpc);
> +	DRM_DEBUG("[CONNECTOR:%d:%s]: Assigning EDID-1.4 digital sink color depth as %d bpc.\n",
> +			  connector->base.id, connector->name, info->bpc);
>  
>  	info->color_formats |= DRM_COLOR_FORMAT_RGB444;
>  	if (edid->features & DRM_EDID_FEATURE_RGB_YCRCB444)
> diff --git a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c
> index 37d8ba3ddb46..f3f6801927f1 100644
> --- a/drivers/gpu/drm/drm_edid_load.c
> +++ b/drivers/gpu/drm/drm_edid_load.c
> @@ -188,7 +188,8 @@ static void *edid_load(struct drm_connector *connector, const char *name,
>  		pdev = platform_device_register_simple(connector_name, -1, NULL, 0);
>  		if (IS_ERR(pdev)) {
>  			DRM_ERROR("Failed to register EDID firmware platform device "
> -				  "for connector \"%s\"\n", connector_name);
> +				  "for [CONNECTOR:%d:%s]\n",
> +				  connector->base.id, connector_name);
>  			return ERR_CAST(pdev);
>  		}
>  
> @@ -243,8 +244,8 @@ static void *edid_load(struct drm_connector *connector, const char *name,
>  
>  		edid[EDID_LENGTH-1] += edid[0x7e] - valid_extensions;
>  		DRM_INFO("Found %d valid extensions instead of %d in EDID data "
> -		    "\"%s\" for connector \"%s\"\n", valid_extensions,
> -		    edid[0x7e], name, connector_name);
> +		    "\"%s\" for [CONNECTOR:%d:%s]\n", valid_extensions,
> +		    edid[0x7e], name, connector->base.id, connector_name);
>  		edid[0x7e] = valid_extensions;
>  
>  		new_edid = krealloc(edid, (valid_extensions + 1) * EDID_LENGTH,
> @@ -254,9 +255,9 @@ static void *edid_load(struct drm_connector *connector, const char *name,
>  	}
>  
>  	DRM_INFO("Got %s EDID base block and %d extension%s from "
> -	    "\"%s\" for connector \"%s\"\n", (builtin >= 0) ? "built-in" :
> +	    "\"%s\" for [CONNECTOR:%d:%s]\n", (builtin >= 0) ? "built-in" :
>  	    "external", valid_extensions, valid_extensions == 1 ? "" : "s",
> -	    name, connector_name);
> +	    name, connector->base.id, connector_name);
>  
>  out:
>  	release_firmware(fw);
> diff --git a/drivers/gpu/drm/drm_mode_config.c b/drivers/gpu/drm/drm_mode_config.c
> index 37b4b9f0e468..e46dcd31faa3 100644
> --- a/drivers/gpu/drm/drm_mode_config.c
> +++ b/drivers/gpu/drm/drm_mode_config.c
> @@ -504,7 +504,8 @@ void drm_mode_config_cleanup(struct drm_device *dev)
>  	if (WARN_ON(!list_empty(&dev->mode_config.connector_list))) {
>  		drm_connector_list_iter_begin(dev, &conn_iter);
>  		drm_for_each_connector_iter(connector, &conn_iter)
> -			DRM_ERROR("connector %s leaked!\n", connector->name);
> +			DRM_ERROR("[CONNECTOR:%d:%s] leaked!\n",
> +				  connector->base.id, connector->name);
>  		drm_connector_list_iter_end(&conn_iter);
>  	}

-- 
Jani Nikula, Intel Open Source Graphics Center

  parent reply	other threads:[~2021-11-15 10:22 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-13 19:27 [PATCH] drm: change logs to print connectors in the form CONNECTOR:id:name Claudio Suarez
2021-11-13 20:39 ` Sam Ravnborg
2021-11-14 17:34   ` Claudio Suarez
2021-11-15 10:24     ` Jani Nikula
2021-11-15 19:40       ` Claudio Suarez
2021-11-15 20:17         ` Jani Nikula
2021-11-16 16:55           ` Claudio Suarez
2021-11-18  3:41         ` jim.cromie
2021-11-14 17:22 ` Claudio Suarez
2021-11-14 17:25 ` Claudio Suarez
2021-11-15 10:22 ` Jani Nikula [this message]
2021-11-15 10:24   ` Simon Ser
2021-11-15 10:38     ` Jani Nikula
2021-11-15 19:02   ` Claudio Suarez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ilwt3ei7.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=airlied@linux.ie \
    --cc=cssk@net-c.es \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox