@@ -1479,6 +1479,7 @@ struct intel_vbt_data {
unsigned int bios_lvds_val; /* initial [PCH_]LVDS reg val in VBIOS */
enum drrs_support_type drrs_type;
+ unsigned int drrs_min_vrefresh;
/* eDP */
int edp_rate;
@@ -251,6 +251,9 @@ parse_lfp_panel_data(struct drm_i915_private *dev_priv,
if (!lvds_lfp_data)
return;
+ dev_priv->vbt.drrs_min_vrefresh = (unsigned int)
+ lvds_lfp_data->seamless_drrs_min_vrefresh[panel_type];
+
lvds_lfp_data_ptrs = find_section(bdb, BDB_LVDS_LFP_DATA_PTRS);
if (!lvds_lfp_data_ptrs)
return;
@@ -338,8 +338,6 @@ struct lvds_fp_timing {
u32 pp_off_reg_val;
u32 pp_cycle_reg;
u32 pp_cycle_reg_val;
- u32 pfit_reg;
- u32 pfit_reg_val;
u16 terminator;
} __packed;
@@ -385,8 +383,15 @@ struct bdb_lvds_lfp_data_entry {
struct lvds_pnp_id pnp_id;
} __packed;
+struct lfp_panel_name {
+ u8 name[13];
+} __packed;
+
struct bdb_lvds_lfp_data {
struct bdb_lvds_lfp_data_entry data[16];
+ struct lfp_panel_name name[16];
+ u16 scaling_enabling_bits;
+ u8 seamless_drrs_min_vrefresh[16];
} __packed;
#define BDB_BACKLIGHT_TYPE_NONE 0
VBT structure's block 42 is updated as per the current VBT v188 specification and additonal member drrs_min_vrefresh is added. Corresponding logic for parsing drrs_min_vrefresh is added. drrs_min_vrefresh is nothing but lowest vrefresh supported by the panel. Signed-off-by: Ramalingam C <ramalingam.c@intel.com> --- drivers/gpu/drm/i915/i915_drv.h | 1 + drivers/gpu/drm/i915/intel_bios.c | 3 +++ drivers/gpu/drm/i915/intel_bios.h | 9 +++++++-- 3 files changed, 11 insertions(+), 2 deletions(-)