drm/i915/bios: Split parse_driver_features() into two parts
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 10 May 2022 10:42:37 +0000 (13:42 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 27 May 2022 17:29:16 +0000 (20:29 +0300)
We use the "driver features" block for two different kinds
of data: global data, and per panel data. Split the function
into two parts along that line so that we can start doing the
parsing in two different locations.

Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220510104242.6099-11-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_bios.c

index befd579f6006ec20df51732161377ebde6aa6e8c..3de20d18eae865437f7c57993ec9f79f306ef6ac 100644 (file)
@@ -1180,6 +1180,16 @@ parse_driver_features(struct drm_i915_private *i915)
                    driver->lvds_config != BDB_DRIVER_FEATURE_INT_SDVO_LVDS)
                        i915->vbt.int_lvds_support = 0;
        }
+}
+
+static void
+parse_panel_driver_features(struct drm_i915_private *i915)
+{
+       const struct bdb_driver_features *driver;
+
+       driver = find_section(i915, BDB_DRIVER_FEATURES);
+       if (!driver)
+               return;
 
        if (i915->vbt.version < 228) {
                drm_dbg_kms(&i915->drm, "DRRS State Enabled:%d\n",
@@ -2957,6 +2967,7 @@ void intel_bios_init(struct drm_i915_private *i915)
        parse_lfp_backlight(i915);
        parse_sdvo_panel_data(i915);
        parse_driver_features(i915);
+       parse_panel_driver_features(i915);
        parse_power_conservation_features(i915);
        parse_edp(i915);
        parse_psr(i915);