Re: [PATCH 02/12] ACPI / PM: Move ACPI video resume to a PM notifier

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

 



patch refreshed -- i'll send a new pull request now.

thanks,
Len Brown, Intel Open Source Technology Center

On Tue, 6 Apr 2010, Rafael J. Wysocki wrote:

> On Tuesday 06 April 2010, Len Brown wrote:
> > From: Rafael Wysocki <rjw@xxxxxxx>
> > 
> > There is a problem with the ACPI video resume routine that it's
> > executed before the GPU that may be accessed by it.  To fix this
> > issue, move the ACPI video resume to a power management notifier,
> > so that it's executed after resuming all devices, including the GPU.
> > 
> > http://bugzilla.kernel.org/show_bug.cgi?id=15096
> > 
> > Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
> > Acked-by: Matthew Garrett <mjg@xxxxxxxxxx>
> > Tested-by: Rafał Miłecki <zajec5@xxxxxxxxx>
> > Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
> 
> Thanks, but this requires the appended patch on top.
> 
> I sent a replacement version yesterday,
> https://patchwork.kernel.org/patch/90593/, but you haven't received it,
> apparently.
> 
> Rafael
> 
> ---
> From: Rafael J. Wysocki <rjw@xxxxxxx>
> Subject: ACPI / video: Save initial backlight brightness in props
> 
> The initial backlight brightness has to be written to
> device->backlight->props in case it has to be restored before
> there's a chance to call acpi_video_device_lcd_set_level().
> 
> Something like this happens during boot, when the kernel checks if
> a hibernation image is present and executes power management
> notifiers (in either case).  One of these notifiers tries to restore
> the previous brightness level, but this won't work if the initial
> brightness is not saved by acpi_video_device_find_cap().
> 
> Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
> ---
>  drivers/acpi/video.c |    7 +++++++
>  1 file changed, 7 insertions(+)
> 
> Index: linux-2.6/drivers/acpi/video.c
> ===================================================================
> --- linux-2.6.orig/drivers/acpi/video.c
> +++ linux-2.6/drivers/acpi/video.c
> @@ -1020,6 +1020,13 @@ static void acpi_video_device_find_cap(s
>  		if (IS_ERR(device->backlight))
>  			return;
>  
> +		/*
> +		 * Save current brightness level in case we have to restore it
> +		 * before acpi_video_device_lcd_set_level() is called next time.
> +		 */
> +		device->backlight->props.brightness =
> +				acpi_video_get_brightness(device->backlight);
> +
>  		result = sysfs_create_link(&device->backlight->dev.kobj,
>  					   &device->dev->dev.kobj, "device");
>  		if (result)
> --
> 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