[Intel-gfx] [PATCH 2/2] drm/i915: do not setup backlight if not available according to VBT
Daniel Vetter
daniel at ffwll.ch
Wed Apr 9 15:45:26 CEST 2014
On Wed, Apr 09, 2014 at 01:35:35PM +0300, Jani Nikula wrote:
> 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
> commit bc0bb9fd1c7810407ab810d204bbaecb255fddde
> Author: Jani Nikula <jani.nikula at intel.com>
> 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.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76276
> Reference: https://bugzilla.kernel.org/show_bug.cgi?id=47941
> CC: Aaron Lu <aaron.lu at intel.com>
> CC: Kamal Mostafa <kamal at canonical.com>
> CC: Eric Griffith <EGriffith92 at gmail.com>
> CC: Kent Baxley <kent.baxley at canonical.com>
> CC: stable at vger.kernel.org [v3.14+]
Imo this part is a bit frisky - if we get positive testing on the xps13
machines I'd shovel this into 3.15-fixes and then resurrect the old hack
for stable kernels. Imo this is risky enough that we should attempt to
backport it before 3.15 is actually released.
-Daniel
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
> drivers/gpu/drm/i915/intel_panel.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index cb058408c70e..0eead16aeda7 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -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);
> --
> 1.7.9.5
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list