Re: [PATCH 6/7] ACPI video: introduce module parameter video.use_bios_initial_backlight

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

 



On Tue, 2010-12-14 at 13:10 +0800, Len Brown wrote:
> On Mon, 6 Dec 2010, Zhang Rui wrote:
> 
> > 
> > Introduce module parameter video.use_bios_initial_backlight.
> 
> there must be a more concise way to say that...
> 
> > Some BIOSes claim they use the minimum backlight at boot,
> > and this may bring dimming screen after boot.
> > https://bugzilla.kernel.org/show_bug.cgi?id=21212
> > 
> > use video.use_bios_initl_backlight=0 to use
> > the maximum backlight level after boot.
> 
> this looks like a BIOS workaround.

yes.

> should there be a way to invoke this workaround automatically?
> 
no.
because it's hard for software to detect if the screen is dark.
maybe we need another dmi list for this issue.

thanks,
rui

> thanks,
> -Len
> 
> > 
> > Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
> > ---
> >  drivers/acpi/video.c |   15 ++++++++++++---
> >  1 file changed, 12 insertions(+), 3 deletions(-)
> > 
> > Index: linux-2.6/drivers/acpi/video.c
> > ===================================================================
> > --- linux-2.6.orig/drivers/acpi/video.c
> > +++ linux-2.6/drivers/acpi/video.c
> > @@ -80,6 +80,13 @@ module_param(brightness_switch_enabled, 
> >  static int allow_duplicates;
> >  module_param(allow_duplicates, bool, 0644);
> >  
> > +/*
> > + * Some BIOSes claim they use minimum backlight at boot,
> > + * and this may bring dimming screen after boot
> > + */
> > +static int use_bios_initial_backlight = 1;
> > +module_param(use_bios_initial_backlight, bool, 0644);
> > +
> >  static int register_count = 0;
> >  static int acpi_video_bus_add(struct acpi_device *device);
> >  static int acpi_video_bus_remove(struct acpi_device *device, int type);
> > @@ -705,9 +712,11 @@ acpi_video_init_brightness(struct acpi_v
> >  		 * when invoked for the first time, i.e. level_old is invalid.
> >  		 * set the backlight to max_level in this case
> >  		 */
> > -		for (i = 2; i < br->count; i++)
> > -			if (level_old == br->levels[i])
> > -				level = level_old;
> > +		if (use_bios_initial_backlight) {
> > +			for (i = 2; i < br->count; i++)
> > +				if (level_old == br->levels[i])
> > +					level = level_old;
> > +		}
> >  		goto set_level;
> >  	}
> >  
> > 
> > 


--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux