[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
Jani Nikula
jani.nikula at intel.com
Tue Oct 20 06:46:19 UTC 2015
On Tue, 20 Oct 2015, Pavel Machek <pavel at ucw.cz> wrote:
> 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.
This is not how stable works. If you have problems with current
upstream, please report them upstream.
BR,
Jani.
>
> 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
--
Jani Nikula, Intel Open Source Technology Center
More information about the kernel-team
mailing list