[Intel-gfx] [PATCH] drm/i915: Allow minimum brightness upon backlight enable

Jani Nikula jani.nikula at linux.intel.com
Fri Oct 2 00:50:50 PDT 2015


On Fri, 02 Oct 2015, clinton.a.taylor at intel.com wrote:
> From: Clint Taylor <clinton.a.taylor at intel.com>
>
> backlight minimum is a valid value so you don't need to set maximum.
>
> Signed-off-by: Clint Taylor <clinton.a.taylor at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_panel.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index 4d28c7b..d509904 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -1069,7 +1069,7 @@ void intel_panel_enable_backlight(struct intel_connector *connector)
>  
>  	WARN_ON(panel->backlight.max == 0);
>  
> -	if (panel->backlight.level <= panel->backlight.min) {
> +	if (panel->backlight.level < panel->backlight.min) {
>  		panel->backlight.level = panel->backlight.max;
>  		if (panel->backlight.device)
>  			panel->backlight.device->props.brightness =

This is policy in action in the kernel. We have this whole if block here
because some, uh, misguided userspace sets brightness to minimum before
switching the backlight off, and assumes enabling backlight cranks up
the brightness as well. (*)

The condition used to be (level == 0), but since the minimum can now
also be non-zero, we check (level <= min). If we changed this to (level
< min), we'd regress the misguided userspaces, especially if min == 0.

See

commit 13f3fbe827d09e3182023c8c54058cbf97aa146e
Author: Jeremiah Mahler <jmmahler at gmail.com>
Date:   Mon Jan 12 11:01:03 2015 -0800

    drm/i915: fix inconsistent brightness after resume

I'd really love to to just nuke the if block completely, but no
regressions and all.


BR,
Jani.



(*) Imagine an amplifier that would set the volume to max if it was
powered on with the volume knob turned to zero...



-- 
Jani Nikula, Intel Open Source Technology Center


More information about the Intel-gfx mailing list