mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-05 14:14:54 +00:00
drm/i915: Parse LFP brightness control field in VBT
These fields in VBT indicates the PWM source which is used and also the controller number. v2 by Jani: check for out of bounds access, some renames, change default type, etc. v3 by Jani: s/INTEL_BACKLIGHT_CABC/INTEL_BACKLIGHT_DSI_DCS/ Signed-off-by: Deepak M <m.deepak@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/eee2f7b683a081f006a7df1ddad9b20fbf53c48c.1461676337.git.jani.nikula@intel.com
This commit is contained in:
parent
ea9d9768a4
commit
9a41e17de3
4 changed files with 24 additions and 0 deletions
|
@ -1492,6 +1492,7 @@ struct intel_vbt_data {
|
|||
bool present;
|
||||
bool active_low_pwm;
|
||||
u8 min_brightness; /* min_brightness/255 of max */
|
||||
enum intel_backlight_type type;
|
||||
} backlight;
|
||||
|
||||
/* MIPI DSI */
|
||||
|
|
|
@ -318,6 +318,15 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
|
|||
return;
|
||||
}
|
||||
|
||||
dev_priv->vbt.backlight.type = INTEL_BACKLIGHT_DISPLAY_DDI;
|
||||
if (bdb->version >= 191 &&
|
||||
get_blocksize(backlight_data) >= sizeof(*backlight_data)) {
|
||||
const struct bdb_lfp_backlight_control_method *method;
|
||||
|
||||
method = &backlight_data->backlight_control[panel_type];
|
||||
dev_priv->vbt.backlight.type = method->type;
|
||||
}
|
||||
|
||||
dev_priv->vbt.backlight.pwm_freq_hz = entry->pwm_freq_hz;
|
||||
dev_priv->vbt.backlight.active_low_pwm = entry->active_low_pwm;
|
||||
dev_priv->vbt.backlight.min_brightness = entry->min_brightness;
|
||||
|
|
|
@ -30,6 +30,14 @@
|
|||
#ifndef _INTEL_BIOS_H_
|
||||
#define _INTEL_BIOS_H_
|
||||
|
||||
enum intel_backlight_type {
|
||||
INTEL_BACKLIGHT_PMIC,
|
||||
INTEL_BACKLIGHT_LPSS,
|
||||
INTEL_BACKLIGHT_DISPLAY_DDI,
|
||||
INTEL_BACKLIGHT_DSI_DCS,
|
||||
INTEL_BACKLIGHT_PANEL_DRIVER_INTERFACE,
|
||||
};
|
||||
|
||||
struct edp_power_seq {
|
||||
u16 t1_t3;
|
||||
u16 t8;
|
||||
|
|
|
@ -446,10 +446,16 @@ struct bdb_lfp_backlight_data_entry {
|
|||
u8 obsolete3;
|
||||
} __packed;
|
||||
|
||||
struct bdb_lfp_backlight_control_method {
|
||||
u8 type:4;
|
||||
u8 controller:4;
|
||||
} __packed;
|
||||
|
||||
struct bdb_lfp_backlight_data {
|
||||
u8 entry_size;
|
||||
struct bdb_lfp_backlight_data_entry data[16];
|
||||
u8 level[16];
|
||||
struct bdb_lfp_backlight_control_method backlight_control[16];
|
||||
} __packed;
|
||||
|
||||
struct aimdb_header {
|
||||
|
|
Loading…
Add table
Reference in a new issue