[3.19.y-ckt stable] Patch "drm/i915: apply the PCI_D0/D3 hibernation workaround everywhere on pre GEN6" has been added to staging queue

Pavel Machek pavel at ucw.cz
Tue Oct 20 05:31:17 UTC 2015


On Mon 2015-10-19 15:39:48, Kamal Mostafa wrote:
> This is a note to let you know that I have just added a patch titled
> 
>     drm/i915: apply the PCI_D0/D3 hibernation workaround everywhere on pre GEN6
> 
> to the linux-3.19.y-queue branch of the 3.19.y-ckt extended stable tree 
> which can be found at:
> 
>     http://kernel.ubuntu.com/git/ubuntu/linux.git/log/?h=linux-3.19.y-queue
> 
> This patch is scheduled to be released in version 3.19.8-ckt8.
> 
> If you, or anyone else, feels it should not be added to this tree, please 
> reply to this email.

As this says:

> commit da2bc1b9db3351addd293e5b82757efe1f77ed1d
> Author: Imre Deak <imre.deak at intel.com>
> Date:   Thu Oct 23 19:23:26 2014 +0300
> 
>     drm/i915: add poweroff_late handler
> 
> introduced a regression on old platforms during hibernation. A workaround was
> added in

commit da2bc introduced a regression, and it should be simply
reverted, attempts to "fix" it may be suitable for -mainline, but not
for stable.

Just revert it. It does not provide any real benefit, anyway.

								Pavel


> index 34d0e58..902bd64 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -637,15 +637,18 @@ static int i915_drm_suspend_late(struct drm_device *drm_dev, bool hibernation)
> 
>  	pci_disable_device(drm_dev->pdev);
>  	/*
> -	 * During hibernation on some GEN4 platforms the BIOS may try to access
> +	 * During hibernation on some platforms the BIOS may try to access
>  	 * the device even though it's already in D3 and hang the machine. So
>  	 * leave the device in D0 on those platforms and hope the BIOS will
> -	 * power down the device properly. Platforms where this was seen:
> -	 * Lenovo Thinkpad X301, X61s
> +	 * power down the device properly. The issue was seen on multiple old
> +	 * GENs with different BIOS vendors, so having an explicit blacklist
> +	 * is inpractical; apply the workaround on everything pre GEN6. The
> +	 * platforms where the issue was seen:
> +	 * Lenovo Thinkpad X301, X61s, X60, T60, X41
> +	 * Fujitsu FSC S7110
> +	 * Acer Aspire 1830T
>  	 */
> -	if (!(hibernation &&
> -	      drm_dev->pdev->subsystem_vendor == PCI_VENDOR_ID_LENOVO &&
> -	      INTEL_INFO(dev_priv)->gen == 4))
> +	if (!(hibernation && INTEL_INFO(dev_priv)->gen < 6))
>  		pci_set_power_state(drm_dev->pdev, PCI_D3hot);
> 
>  	return 0;
> --
> 1.9.1

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html




More information about the kernel-team mailing list