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 <ramalinga...@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(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 00982bb..677293d 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -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;
diff --git a/drivers/gpu/drm/i915/intel_bios.c 
b/drivers/gpu/drm/i915/intel_bios.c
index 198fc3c..5d6117a 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -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;
diff --git a/drivers/gpu/drm/i915/intel_bios.h 
b/drivers/gpu/drm/i915/intel_bios.h
index af0b476..b0cd827 100644
--- a/drivers/gpu/drm/i915/intel_bios.h
+++ b/drivers/gpu/drm/i915/intel_bios.h
@@ -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
-- 
1.7.9.5

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to