Re: [PATCH] drm/i915: do not disable backlight on vgaswitcheroo switch off

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 25 Jul 2013, Jani Nikula <jani.nikula@xxxxxxxxx> wrote:
> On muxed systems, the other vgaswitcheroo client may depend on i915 to
> handle the backlight. We began switching off the backlight since
>
> commit a261b246ebd552fd5d5a8ed84cc931bb821c427f
> Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
> Date:   Thu Jul 26 19:21:47 2012 +0200
>
>     drm/i915: disable all crtcs at suspend time
>
> breaking backlight on discreet graphics in (some) muxed systems.
>
> Keep the backlight on when the state is changed through vgaswitcheroo.
>
> Note: The alternative would be to add a quirk table to achieve the same
> based on system identifiers, but AFAICS it would asymptotically approach
> effectively the same as this patch as more IDs are added, but with the
> maintenance burden of the quirk table.
>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=55311

Tested-by: Fede <fedevx@xxxxxxxxx>
Tested-by: Aximab <laurent.debian@xxxxxxxxx>

> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59785

Tested-by: sfievet <sebastien.fievet@xxxxxxx>

> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/intel_panel.c |   11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index 67e2c1f..1062154 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -515,6 +515,17 @@ void intel_panel_disable_backlight(struct drm_device *dev)
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  	unsigned long flags;
>  
> +	/*
> +	 * Do not disable backlight on the vgaswitcheroo path. When switching
> +	 * away from i915, the other client may depend on i915 to handle the
> +	 * backlight. This will leave the backlight on unnecessarily when
> +	 * another client is not activated.
> +	 */
> +	if (dev->switch_power_state == DRM_SWITCH_POWER_CHANGING) {
> +		DRM_DEBUG_DRIVER("Skipping backlight disable on vga switch\n");
> +		return;
> +	}
> +
>  	spin_lock_irqsave(&dev_priv->backlight.lock, flags);
>  
>  	dev_priv->backlight.enabled = false;
> -- 
> 1.7.9.5
>

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux