On Tue, 05 Apr 2022, Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Extract the seamless DRRS min refresh rate from the VBT. > > v2: Do a version check > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_bios.c | 9 ++++++++- > drivers/gpu/drm/i915/i915_drv.h | 1 + > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c > index cfdfe91d4ccf..d561551d6324 100644 > --- a/drivers/gpu/drm/i915/display/intel_bios.c > +++ b/drivers/gpu/drm/i915/display/intel_bios.c > @@ -802,6 +802,7 @@ parse_lfp_data(struct drm_i915_private *i915) > const struct bdb_lvds_lfp_data *data; > const struct bdb_lvds_lfp_data_tail *tail; > const struct bdb_lvds_lfp_data_ptrs *ptrs; > + int panel_type = i915->vbt.panel_type; > > ptrs = find_section(i915, BDB_LVDS_LFP_DATA_PTRS); > if (!ptrs) > @@ -818,7 +819,13 @@ parse_lfp_data(struct drm_i915_private *i915) > if (!tail) > return; > > - (void)tail; > + if (i915->vbt.version >= 188) { > + i915->vbt.seamless_drrs_min_refresh_rate = > + tail->seamless_drrs_min_refresh_rate[panel_type]; > + drm_dbg_kms(&i915->drm, > + "Seamless DRRS min refresh rate: %d Hz\n", > + i915->vbt.seamless_drrs_min_refresh_rate); > + } > } > > static void > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index 9274417cd87a..7b6858651420 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -327,6 +327,7 @@ struct intel_vbt_data { > bool override_afc_startup; > u8 override_afc_startup_val; > > + u8 seamless_drrs_min_refresh_rate; > enum drrs_type drrs_type; > > struct { -- Jani Nikula, Intel Open Source Graphics Center