Commit 790b45f1 authored by Ville Syrjälä's avatar Ville Syrjälä

drm/i915/bios: Parse the seamless DRRS min refresh rate

Extract the seamless DRRS min refresh rate from the VBT.

v2: Do a version check
Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220504150440.13748-9-ville.syrjala@linux.intel.com
parent cc589f2d
...@@ -761,6 +761,7 @@ parse_lfp_data(struct drm_i915_private *i915) ...@@ -761,6 +761,7 @@ parse_lfp_data(struct drm_i915_private *i915)
const struct bdb_lvds_lfp_data *data; const struct bdb_lvds_lfp_data *data;
const struct bdb_lvds_lfp_data_tail *tail; const struct bdb_lvds_lfp_data_tail *tail;
const struct bdb_lvds_lfp_data_ptrs *ptrs; const struct bdb_lvds_lfp_data_ptrs *ptrs;
int panel_type = i915->vbt.panel_type;
ptrs = find_section(i915, BDB_LVDS_LFP_DATA_PTRS); ptrs = find_section(i915, BDB_LVDS_LFP_DATA_PTRS);
if (!ptrs) if (!ptrs)
...@@ -777,7 +778,13 @@ parse_lfp_data(struct drm_i915_private *i915) ...@@ -777,7 +778,13 @@ parse_lfp_data(struct drm_i915_private *i915)
if (!tail) if (!tail)
return; 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 static void
......
...@@ -326,6 +326,7 @@ struct intel_vbt_data { ...@@ -326,6 +326,7 @@ struct intel_vbt_data {
bool override_afc_startup; bool override_afc_startup;
u8 override_afc_startup_val; u8 override_afc_startup_val;
u8 seamless_drrs_min_refresh_rate;
enum drrs_type drrs_type; enum drrs_type drrs_type;
struct { struct {
......
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