drm/i915: Parsing LFP brightness control from VBT
LFP brighness control from the VBT block 43 indicates which controller is used for brightness. LFP1 brightness control method: Bit 7-4 = This field controller number of the brightnes controller. 0 = Controller 0 1 = Controller 1 2 = Controller 2 3 = Controller 3 Others = Reserved Bits 3-0 = This field specifies the brightness control pin to be used on the platform. 0 = PMIC pin is used for brightness control 1 = LPSS PWM is used for brightness control 2 = Display DDI is used for brightness control 3 = CABC method to control brightness Others = Reserved Adding the above fields in dev_priv->vbt and corresponding changes in parse_backlight() v2: Jani's review comments addressed - Move PWM definitions to intel_bios.h - Moving vbt_version to intel_vbt_data - Rename brightness to bl_ctrl_data - Logging just control_pin instead of string - Avoid adding vbt_version in dev_priv - Since only DDI option is available as of now, let control pin DDI affect dev_priv->vbt.backlight.present v3: Jani's review comments addressed - Drop control_pin - Use bdb->version - set controller to 0 instead of using control pin define - check controller bounds - remove superfluous changes in intel_parse_bios Signed-off-by: Deepak M <m.deepak@intel.com> Signed-off-by: Vandana Kannan <vandana.kannan@intel.com> Reviewed-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cette révision appartient à :
@@ -402,10 +402,21 @@ struct bdb_lfp_backlight_data_entry {
|
||||
u8 obsolete3;
|
||||
} __packed;
|
||||
|
||||
#define BLC_CONTROL_PIN_PMIC 0
|
||||
#define BLC_CONTROL_PIN_LPSS_PWM 1
|
||||
#define BLC_CONTROL_PIN_DDI 2
|
||||
#define BLC_CONTROL_PIN_CABC 3
|
||||
|
||||
struct bdb_lfp_backlight_control_data {
|
||||
u8 controller:4;
|
||||
u8 pin: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_data blc_ctl[16];
|
||||
} __packed;
|
||||
|
||||
struct aimdb_header {
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur