mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
drm/i915: do not setup backlight if not available according to VBT
Some machines use an external EC for controlling the backlight. Info about this is present in the VBT. Do not setup native backlight control if no PWM backlight is available or supported according to VBT. The acpi_backlight interface appears to work for the EC control. In most cases there has been no harm done, but it looks like there are machines out there that have both an EC and our PWM line connected to the same wire. This, obviously, does not end well. This should fix the regression caused by commitbc0bb9fd1cAuthor: Jani Nikula <[email protected]> Date: Thu Nov 14 12:14:29 2013 +0200 drm/i915: remove QUIRK_NO_PCH_PWM_ENABLE AFAICT the quirk removed by the above commit effectively resulted in i915 not driving the backlight PWM output, thus not messing things up. Additionally this should fix the regression caused by commitfbc9fe1b4fAuthor: Aaron Lu <[email protected]> Date: Fri Oct 11 21:27:45 2013 +0800 ACPI / video: Do not register backlight if win8 and native interface exists which left some machines without a functioning backlight interface. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76276 Reference: https://bugzilla.kernel.org/show_bug.cgi?id=47941 Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=62281 CC: Aaron Lu <[email protected]> CC: Eric Griffith <[email protected]> CC: Kent Baxley <[email protected]> Tested-by: Kamal Mostafa <[email protected]> Tested-by: Martin <[email protected]> Tested-by: [email protected] Reviewed-by: Ville Syrjälä <[email protected]> Signed-off-by: Jani Nikula <[email protected]>
This commit is contained in:
parent
39fbc9c8f6
commit
c675949ec5
1 changed files with 5 additions and 0 deletions
|
|
@ -1065,6 +1065,11 @@ int intel_panel_setup_backlight(struct drm_connector *connector)
|
|||
unsigned long flags;
|
||||
int ret;
|
||||
|
||||
if (!dev_priv->vbt.backlight.present) {
|
||||
DRM_DEBUG_KMS("native backlight control not available per VBT\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* set level and max in panel struct */
|
||||
spin_lock_irqsave(&dev_priv->backlight_lock, flags);
|
||||
ret = dev_priv->display.setup_backlight(intel_connector);
|
||||
|
|
|
|||
Loading…
Reference in a new issue