drm/i915/bios: Move panel_type stuff out of parse_panel_options()
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ä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220615151445.8531-1-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
bf9719f8c8
commit
0256ea13d1
@ -745,11 +745,10 @@ static int get_panel_type(struct drm_i915_private *i915,
|
|||||||
/* Parse general panel options */
|
/* Parse general panel options */
|
||||||
static void
|
static void
|
||||||
parse_panel_options(struct drm_i915_private *i915,
|
parse_panel_options(struct drm_i915_private *i915,
|
||||||
struct intel_panel *panel,
|
struct intel_panel *panel)
|
||||||
const struct edid *edid)
|
|
||||||
{
|
{
|
||||||
const struct bdb_lvds_options *lvds_options;
|
const struct bdb_lvds_options *lvds_options;
|
||||||
int panel_type;
|
int panel_type = panel->vbt.panel_type;
|
||||||
int drrs_mode;
|
int drrs_mode;
|
||||||
|
|
||||||
lvds_options = find_section(i915, BDB_LVDS_OPTIONS);
|
lvds_options = find_section(i915, BDB_LVDS_OPTIONS);
|
||||||
@ -758,10 +757,6 @@ parse_panel_options(struct drm_i915_private *i915,
|
|||||||
|
|
||||||
panel->vbt.lvds_dither = lvds_options->pixel_dither;
|
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
|
drrs_mode = (lvds_options->dps_panel_type_bits
|
||||||
>> (panel_type * 2)) & MODE_MASK;
|
>> (panel_type * 2)) & MODE_MASK;
|
||||||
/*
|
/*
|
||||||
@ -3116,7 +3111,9 @@ void intel_bios_init_panel(struct drm_i915_private *i915,
|
|||||||
{
|
{
|
||||||
init_vbt_panel_defaults(panel);
|
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_generic_dtd(i915, panel);
|
||||||
parse_lfp_data(i915, panel);
|
parse_lfp_data(i915, panel);
|
||||||
parse_lfp_backlight(i915, panel);
|
parse_lfp_backlight(i915, panel);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user