[PATCH 11/12] drm/client: Streamline mode selection debugs
Ville Syrjälä
ville.syrjala at linux.intel.com
Fri Apr 5 19:58:51 UTC 2024
On Fri, Apr 05, 2024 at 09:57:07AM +0200, Thomas Zimmermann wrote:
> Hi
>
> Am 04.04.24 um 22:33 schrieb Ville Syrjala:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >
> > Get rid of all the redundant debugs and just wait until the end
> > to print which mode (and of which type) we picked.
> >
> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > ---
> > drivers/gpu/drm/drm_client_modeset.c | 65 +++++++++++++---------------
> > 1 file changed, 31 insertions(+), 34 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
> > index 415d1799337b..ad88c11037d8 100644
> > --- a/drivers/gpu/drm/drm_client_modeset.c
> > +++ b/drivers/gpu/drm/drm_client_modeset.c
> > @@ -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))
> > @@ -440,20 +442,20 @@ static bool drm_client_target_preferred(struct drm_device *dev,
> > drm_client_get_tile_offsets(dev, connectors, connector_count, modes, offsets, i,
> > connector->tile_h_loc, connector->tile_v_loc);
> > }
> > - drm_dbg_kms(dev, "looking for cmdline mode on [CONNECTOR:%d:%s]\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, "looking for preferred mode on [CONNECTOR:%d:%s] (tile group: %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.
> > @@ -468,16 +470,20 @@ 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, "Falling back to non tiled mode on [CONNECTOR:%d:%s]\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, "found mode %s\n",
> > - modes[i] ? modes[i]->name : "none");
> > + if (!modes[i])
> > + mode_type = "no";
> > +
> > + drm_dbg_kms(dev, "[CONNECTOR:%d:%s] found %s mode: %s\n",
> > + connector->base.id, connector->name,
> > + mode_type, modes[i] ? modes[i]->name : "none");
>
> Instead of tracking the whole mode_type thing, maybe just do
>
> if (!modes[i])
> drm_dbg_kms(dev, "[CONNECTOR:%d:%s] found mode: " DRM_MODE_FMT,
> DRM_MODE_ARG(modes[i]) );
>
> to print the full mode.
The point of the mode_type is to indicate how we derived
that mode. Printing the full modeline doesn't help with that.
--
Ville Syrjälä
Intel
More information about the dri-devel
mailing list