[Intel-gfx] [PATCH] drm/i915: Backlight control via VESA eDP aux interface

Lee, Shawn C shawn.c.lee at intel.com
Mon Jun 10 08:40:55 UTC 2019


The latest VBT support backlight control via aux. We have to
check VBT's setting before doing backlight initialization.
Then Driver will assign correct callback function for eDP
backlight control.

Cc: Jani Nikula <jani.nikula at intel.com>
Cc: Jose Roberto de Souza <jose.souza at intel.com>
Cc: Cooper Chiou <cooper.chiou at intel.com>

Signed-off-by: Lee, Shawn C <shawn.c.lee at intel.com>
---
 drivers/gpu/drm/i915/intel_bios.c     | 3 ++-
 drivers/gpu/drm/i915/intel_vbt_defs.h | 6 ++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index 1c037dfa83f5..27bda45520ec 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -317,7 +317,8 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
 
 	entry = &backlight_data->data[panel_type];
 
-	dev_priv->vbt.backlight.present = entry->type == BDB_BACKLIGHT_TYPE_PWM;
+	dev_priv->vbt.backlight.present = (entry->type == BDB_BACKLIGHT_TYPE_PWM_SOC ||
+					   entry->type == BDB_BACKLIGHT_TYPE_PWM_VESA_EDP_AUX);
 	if (!dev_priv->vbt.backlight.present) {
 		DRM_DEBUG_KMS("PWM backlight not present in VBT (type %u)\n",
 			      entry->type);
diff --git a/drivers/gpu/drm/i915/intel_vbt_defs.h b/drivers/gpu/drm/i915/intel_vbt_defs.h
index 89ef14cafb6b..710f539f17de 100644
--- a/drivers/gpu/drm/i915/intel_vbt_defs.h
+++ b/drivers/gpu/drm/i915/intel_vbt_defs.h
@@ -760,8 +760,10 @@ struct bdb_lvds_lfp_data {
  * Block 43 - LFP Backlight Control Data Block
  */
 
-#define BDB_BACKLIGHT_TYPE_NONE	0
-#define BDB_BACKLIGHT_TYPE_PWM	2
+#define BDB_BACKLIGHT_TYPE_NONE				0
+#define BDB_BACKLIGHT_TYPE_PWM_SOC			2
+#define BDB_BACKLIGHT_TYPE_PWM_PANEL_DRIVER_OLED	4
+#define BDB_BACKLIGHT_TYPE_PWM_VESA_EDP_AUX		5
 
 struct lfp_backlight_data_entry {
 	u8 type:2;
-- 
2.7.4



More information about the Intel-gfx mailing list