Commit 7640a1c2 authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

drm/client: Streamline mode selection debugs



Get rid of all the redundant debugs and just wait until the end
to print which mode (and of which type) we picked.

Reviewed-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250228211454.8138-4-ville.syrjala@linux.intel.com
parent b218e72b
Loading
Loading
Loading
Loading
+33 −37
Original line number Diff line number Diff line
@@ -408,6 +408,8 @@ static bool drm_client_target_preferred(struct drm_device *dev,

retry:
	for (i = 0; i < connector_count; i++) {
		const char *mode_type;

		connector = connectors[i];

		if (conn_configured & BIT_ULL(i))
@@ -441,20 +443,20 @@ static bool drm_client_target_preferred(struct drm_device *dev,
						    modes, offsets, i,
						    connector->tile_h_loc, connector->tile_v_loc);
		}
		drm_dbg_kms(dev, "[CONNECTOR:%d:%s] looking for cmdline mode\n",
			    connector->base.id, connector->name);

		/* got for command line mode first */
		mode_type = "cmdline";
		modes[i] = drm_connector_pick_cmdline_mode(connector);

		if (!modes[i]) {
			drm_dbg_kms(dev, "[CONNECTOR:%d:%s] looking for preferred mode, tile %d\n",
				    connector->base.id, connector->name,
				    connector->tile_group ? connector->tile_group->id : 0);
			mode_type = "preferred";
			modes[i] = drm_connector_preferred_mode(connector, width, height);
		}
		/* No preferred modes, pick one off the list */
		if (!modes[i])

		if (!modes[i]) {
			mode_type = "first";
			modes[i] = drm_connector_first_mode(connector);
		}

		/*
		 * In case of tiled mode if all tiles not present fallback to
		 * first available non tiled mode.
@@ -469,18 +471,22 @@ static bool drm_client_target_preferred(struct drm_device *dev,
			    (connector->tile_h_loc == 0 &&
			     connector->tile_v_loc == 0 &&
			     !drm_connector_get_tiled_mode(connector))) {
				drm_dbg_kms(dev,
					    "[CONNECTOR:%d:%s] Falling back to non-tiled mode\n",
					    connector->base.id, connector->name);
				mode_type = "non tiled";
				modes[i] = drm_connector_fallback_non_tiled_mode(connector);
			} else {
				mode_type = "tiled";
				modes[i] = drm_connector_get_tiled_mode(connector);
			}
		}

		drm_dbg_kms(dev, "[CONNECTOR:%d:%s] Found mode %s\n",
		if (modes[i])
			drm_dbg_kms(dev, "[CONNECTOR:%d:%s] found %s mode: %s\n",
				    connector->base.id, connector->name,
			    modes[i] ? modes[i]->name : "none");
				    mode_type, modes[i]->name);
		else
			drm_dbg_kms(dev, "[CONNECTOR:%d:%s] no mode found\n",
				    connector->base.id, connector->name);

		conn_configured |= BIT_ULL(i);
	}

@@ -627,6 +633,7 @@ static bool drm_client_firmware_config(struct drm_client_dev *client,
		struct drm_connector *connector;
		struct drm_encoder *encoder;
		struct drm_crtc *new_crtc;
		const char *mode_type;

		connector = connectors[i];

@@ -676,30 +683,22 @@ static bool drm_client_firmware_config(struct drm_client_dev *client,
		 */
		for (j = 0; j < count; j++) {
			if (crtcs[j] == new_crtc) {
				drm_dbg_kms(dev, "fallback: cloned configuration\n");
				drm_dbg_kms(dev, "[CONNECTOR:%d:%s] fallback: cloned configuration\n",
					    connector->base.id, connector->name);
				goto bail;
			}
		}

		drm_dbg_kms(dev, "[CONNECTOR:%d:%s] looking for cmdline mode\n",
			    connector->base.id, connector->name);

		/* go for command line mode first */
		mode_type = "cmdline";
		modes[i] = drm_connector_pick_cmdline_mode(connector);

		/* try for preferred next */
		if (!modes[i]) {
			drm_dbg_kms(dev,
				    "[CONNECTOR:%d:%s] looking for preferred mode, has tile: %s\n",
				    connector->base.id, connector->name,
				    str_yes_no(connector->has_tile));
			mode_type = "preferred";
			modes[i] = drm_connector_preferred_mode(connector, width, height);
		}

		/* No preferred mode marked by the EDID? Are there any modes? */
		if (!modes[i] && !list_empty(&connector->modes)) {
			drm_dbg_kms(dev, "[CONNECTOR:%d:%s] using first listed mode\n",
				    connector->base.id, connector->name);
		if (!modes[i]) {
			mode_type = "first";
			modes[i] = drm_connector_first_mode(connector);
		}

@@ -716,28 +715,25 @@ 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_dbg_kms(dev, "[CONNECTOR:%d:%s] looking for current mode\n",
				    connector->base.id, connector->name);
			mode_type = "current";
			modes[i] = &connector->state->crtc->mode;
		}

		/*
		 * In case of tiled modes, if all tiles are not present
		 * then fallback to a non tiled mode.
		 */
		if (connector->has_tile &&
		    num_tiled_conns < connector->num_h_tile * connector->num_v_tile) {
			drm_dbg_kms(dev, "[CONNECTOR:%d:%s] Falling back to non-tiled mode\n",
				    connector->base.id, connector->name);
			mode_type = "non tiled";
			modes[i] = drm_connector_fallback_non_tiled_mode(connector);
		}
		crtcs[i] = new_crtc;

		drm_dbg_kms(dev, "[CONNECTOR:%d:%s] on [CRTC:%d:%s]: %dx%d%s\n",
		drm_dbg_kms(dev, "[CONNECTOR::%d:%s] on [CRTC:%d:%s] using %s mode: %s\n",
			    connector->base.id, connector->name,
			    connector->state->crtc->base.id,
			    connector->state->crtc->name,
			    modes[i]->hdisplay, modes[i]->vdisplay,
			    modes[i]->flags & DRM_MODE_FLAG_INTERLACE ? "i" : "");
			    new_crtc->base.id, new_crtc->name,
			    mode_type, modes[i]->name);

		fallback = false;
		conn_configured |= BIT(i);