[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