Commit 7a36980c authored by Ville Syrjälä's avatar Ville Syrjälä

drm/i915: Use intel_panel_edid_fixed_mode() for sdvo

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: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220323182935.4701-9-ville.syrjala@linux.intel.comReviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
parent 5248cc78
...@@ -2886,7 +2886,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device) ...@@ -2886,7 +2886,7 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device)
struct drm_connector *connector; struct drm_connector *connector;
struct intel_connector *intel_connector; struct intel_connector *intel_connector;
struct intel_sdvo_connector *intel_sdvo_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); DRM_DEBUG_KMS("initialising LVDS device %d\n", device);
...@@ -2917,16 +2917,9 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device) ...@@ -2917,16 +2917,9 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device)
intel_sdvo_get_lvds_modes(connector); intel_sdvo_get_lvds_modes(connector);
list_for_each_entry(mode, &connector->probed_modes, head) { fixed_mode = intel_panel_edid_fixed_mode(intel_connector);
if (mode->type & DRM_MODE_TYPE_PREFERRED) {
struct drm_display_mode *fixed_mode =
drm_mode_duplicate(connector->dev, mode);
intel_panel_init(intel_connector, intel_panel_init(intel_connector, fixed_mode, NULL);
fixed_mode, NULL);
break;
}
}
if (!intel_panel_preferred_fixed_mode(intel_connector)) if (!intel_panel_preferred_fixed_mode(intel_connector))
goto err; goto err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment