On Wed, 23 Mar 2022, Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Despite the name intel_panel_edid_fixed_mode() doesn't actually > look in the EDID. All it does is dig out the preferred mode from > the connector's probed_modes list. That is also what the SDVO > LVDS code is doing by hand. Let's just call > intel_panel_edid_fixed_mode(). > > The slight difference in behaviour is that the SDVO code currently > bails if it can't find the preferred mode, whereas > intel_panel_edid_fixed_mode() will fall back to just returning > the first mode from the probed_modes list. Can't imagine why > such an LVDS panel would even exist, and also why would you have > a panel and be expected to not use it? So I'm going to assume > this is a total non-issue. > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_sdvo.c | 13 +++---------- > 1 file changed, 3 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_sdvo.c b/drivers/gpu/drm/i915/display/intel_sdvo.c > index 27b3d3a79989..62e2e8b4358c 100644 > --- a/drivers/gpu/drm/i915/display/intel_sdvo.c > +++ b/drivers/gpu/drm/i915/display/intel_sdvo.c > @@ -2886,7 +2886,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device) > struct drm_connector *connector; > struct intel_connector *intel_connector; > struct intel_sdvo_connector *intel_sdvo_connector; > - struct drm_display_mode *mode; > + struct drm_display_mode *fixed_mode; > > DRM_DEBUG_KMS("initialising LVDS device %d\n", device); > > @@ -2917,16 +2917,9 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device) > > intel_sdvo_get_lvds_modes(connector); > > - list_for_each_entry(mode, &connector->probed_modes, head) { > - if (mode->type & DRM_MODE_TYPE_PREFERRED) { > - struct drm_display_mode *fixed_mode = > - drm_mode_duplicate(connector->dev, mode); > + fixed_mode = intel_panel_edid_fixed_mode(intel_connector); > > - intel_panel_init(intel_connector, > - fixed_mode, NULL); > - break; > - } > - } > + intel_panel_init(intel_connector, fixed_mode, NULL); > > if (!intel_panel_preferred_fixed_mode(intel_connector)) > goto err; -- Jani Nikula, Intel Open Source Graphics Center