From: Ville Syrjälä <[email protected]>

Parsing the panel_type is a bit special and should be done
before we parse anything else potentially panel-specific from
the VBT. So move it out from parse_panel_options(). It doesn't
neet to be there anyway since it'll do its own LVDS options
block lookup.

Signed-off-by: Ville Syrjälä <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_bios.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c 
b/drivers/gpu/drm/i915/display/intel_bios.c
index fb5f8a9f5ab5..df52f406e1ae 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -746,11 +746,10 @@ static int get_panel_type(struct drm_i915_private *i915,
 /* Parse general panel options */
 static void
 parse_panel_options(struct drm_i915_private *i915,
-                   struct intel_panel *panel,
-                   const struct edid *edid)
+                   struct intel_panel *panel)
 {
        const struct bdb_lvds_options *lvds_options;
-       int panel_type;
+       int panel_type = panel->vbt.panel_type;
        int drrs_mode;
 
        lvds_options = find_section(i915, BDB_LVDS_OPTIONS);
@@ -759,10 +758,6 @@ parse_panel_options(struct drm_i915_private *i915,
 
        panel->vbt.lvds_dither = lvds_options->pixel_dither;
 
-       panel_type = get_panel_type(i915, edid);
-
-       panel->vbt.panel_type = panel_type;
-
        drrs_mode = (lvds_options->dps_panel_type_bits
                                >> (panel_type * 2)) & MODE_MASK;
        /*
@@ -3117,7 +3112,9 @@ void intel_bios_init_panel(struct drm_i915_private *i915,
 {
        init_vbt_panel_defaults(panel);
 
-       parse_panel_options(i915, panel, edid);
+       panel->vbt.panel_type = get_panel_type(i915, edid);
+
+       parse_panel_options(i915, panel);
        parse_generic_dtd(i915, panel);
        parse_lfp_data(i915, panel);
        parse_lfp_backlight(i915, panel);
-- 
2.35.1

Reply via email to