drm/i915/bios: Parse HOBL parameter
authorJosé Roberto de Souza <jose.souza@intel.com>
Wed, 8 Jul 2020 20:55:10 +0000 (13:55 -0700)
committerJosé Roberto de Souza <jose.souza@intel.com>
Thu, 9 Jul 2020 19:33:24 +0000 (12:33 -0700)
HOBL means hours of battery life, it is a power-saving feature
were supported motherboards can use a special voltage swing table
that uses less power.

So here parsing the VBT to check if this feature is supported.

BSpec: 20150
Reviewed-by: Anusha Srivatsa <anusha.srivatsa@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200708205512.21625-3-jose.souza@intel.com
drivers/gpu/drm/i915/display/intel_bios.c
drivers/gpu/drm/i915/display/intel_vbt_defs.h
drivers/gpu/drm/i915/i915_drv.h

index 6593e2c..c53c85d 100644 (file)
@@ -722,6 +722,9 @@ parse_power_conservation_features(struct drm_i915_private *dev_priv,
         */
        if (!(power->drrs & BIT(panel_type)))
                dev_priv->vbt.drrs_type = DRRS_NOT_SUPPORTED;
+
+       if (bdb->version >= 232)
+               dev_priv->vbt.edp.hobl = power->hobl & BIT(panel_type);
 }
 
 static void
index aef7fe9..6faabd4 100644 (file)
@@ -820,6 +820,7 @@ struct bdb_lfp_power {
        u16 adb;
        u16 lace_enabled_status;
        struct agressiveness_profile_entry aggressivenes[16];
+       u16 hobl; /* 232+ */
 } __packed;
 
 /*
index 21bb9f7..87973de 100644 (file)
@@ -692,6 +692,7 @@ struct intel_vbt_data {
                bool initialized;
                int bpp;
                struct edp_power_seq pps;
+               bool hobl;
        } edp;
 
        struct {