mbox series

[SRU,Bionic/Cosmic/Unstable,0/1] Fix unusable NVIDIA GPU after S3

Message ID 20180919152916.17460-1-kai.heng.feng@canonical.com
Headers show
Series Fix unusable NVIDIA GPU after S3 | expand

Message

Kai-Heng Feng Sept. 19, 2018, 3:29 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1793338

[Impact]
NVIDIA GPU on a new system we have becomes unusable after S3.

[Test]
The NVIDIA GPU in question works well after applying this patch.

[Fix]
Rewrite 0 to Intel PCI bridge 'Prefetchable Base Upper 32 Bits'.
This should be done by BIOS S3 code [1], but now the issue reappears, let's
do the same in Linux PCI subsystem.

[Regression Potential]
Low.
After applying this patch I haven't noticed any change on already
working PCI devices.
Also this patch is acked by PCI and ACPI maintainers, so we can be more
confident.

[1] https://bugzilla.kernel.org/show_bug.cgi?id=116851#c23

Daniel Drake (1):
  PCI: Reprogram bridge prefetch registers on resume

 drivers/pci/pci.c | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

Comments

Seth Forshee Sept. 20, 2018, 7:20 a.m. UTC | #1
On Wed, Sep 19, 2018 at 11:29:15PM +0800, Kai-Heng Feng wrote:
> BugLink: https://bugs.launchpad.net/bugs/1793338
> 
> [Impact]
> NVIDIA GPU on a new system we have becomes unusable after S3.
> 
> [Test]
> The NVIDIA GPU in question works well after applying this patch.
> 
> [Fix]
> Rewrite 0 to Intel PCI bridge 'Prefetchable Base Upper 32 Bits'.
> This should be done by BIOS S3 code [1], but now the issue reappears, let's
> do the same in Linux PCI subsystem.
> 
> [Regression Potential]
> Low.
> After applying this patch I haven't noticed any change on already
> working PCI devices.
> Also this patch is acked by PCI and ACPI maintainers, so we can be more
> confident.
> 
> [1] https://bugzilla.kernel.org/show_bug.cgi?id=116851#c23

I think this looks safe enough, though based on the branch it's been
committed to and the discussion it's not entirely clear to me whether
this patch will go upstream or something a little different. So I think
we can apply it, but I'd ask that you keep an eye on the upstream
discussions and send an update if upstream goes a different way.

Based on the above I think this should be committed as SAUCE. With that
done:

Acked-by: Seth Forshee <seth.forshee@canonical.com>

Applied to cosmic/master-next and unstable/master. Thanks!
Kai-Heng Feng Sept. 20, 2018, 7:42 a.m. UTC | #2
at 15:20, Seth Forshee <seth.forshee@canonical.com> wrote:

> On Wed, Sep 19, 2018 at 11:29:15PM +0800, Kai-Heng Feng wrote:
>> BugLink: https://bugs.launchpad.net/bugs/1793338
>>
>> [Impact]
>> NVIDIA GPU on a new system we have becomes unusable after S3.
>>
>> [Test]
>> The NVIDIA GPU in question works well after applying this patch.
>>
>> [Fix]
>> Rewrite 0 to Intel PCI bridge 'Prefetchable Base Upper 32 Bits'.
>> This should be done by BIOS S3 code [1], but now the issue reappears,  
>> let's
>> do the same in Linux PCI subsystem.
>>
>> [Regression Potential]
>> Low.
>> After applying this patch I haven't noticed any change on already
>> working PCI devices.
>> Also this patch is acked by PCI and ACPI maintainers, so we can be more
>> confident.
>>
>> [1] https://bugzilla.kernel.org/show_bug.cgi?id=116851#c23
>
> I think this looks safe enough, though based on the branch it's been
> committed to and the discussion it's not entirely clear to me whether
> this patch will go upstream or something a little different. So I think
> we can apply it, but I'd ask that you keep an eye on the upstream
> discussions and send an update if upstream goes a different way.

 From what I can understand, this patch is meant to be non-intrusive, so it  
can easily be backported to older kernel releases.

This patch should land at v4.20. An more intrusive approach will land in  
later release.

For Cosmic I think we can backport the intrusive version, but for Bionic I  
think we should keep using this one.

Kai-Heng

>
> Based on the above I think this should be committed as SAUCE. With that
> done:
>
> Acked-by: Seth Forshee <seth.forshee@canonical.com>
>
> Applied to cosmic/master-next and unstable/master. Thanks!
Timo Aaltonen Sept. 21, 2018, 7:23 a.m. UTC | #3
On 19.09.2018 18:29, Kai-Heng Feng wrote:
> BugLink: https://bugs.launchpad.net/bugs/1793338
> 
> [Impact]
> NVIDIA GPU on a new system we have becomes unusable after S3.
> 
> [Test]
> The NVIDIA GPU in question works well after applying this patch.
> 
> [Fix]
> Rewrite 0 to Intel PCI bridge 'Prefetchable Base Upper 32 Bits'.
> This should be done by BIOS S3 code [1], but now the issue reappears, let's
> do the same in Linux PCI subsystem.
> 
> [Regression Potential]
> Low.
> After applying this patch I haven't noticed any change on already
> working PCI devices.
> Also this patch is acked by PCI and ACPI maintainers, so we can be more
> confident.
> 
> [1] https://bugzilla.kernel.org/show_bug.cgi?id=116851#c23
> 
> Daniel Drake (1):
>   PCI: Reprogram bridge prefetch registers on resume
> 
>  drivers/pci/pci.c | 27 +++++++++++++++++++--------
>  1 file changed, 19 insertions(+), 8 deletions(-)

applied to bionic linux-oem
Kleber Sacilotto de Souza Sept. 28, 2018, 11:36 a.m. UTC | #4
On 09/19/18 17:29, Kai-Heng Feng wrote:
> BugLink: https://bugs.launchpad.net/bugs/1793338
> 
> [Impact]
> NVIDIA GPU on a new system we have becomes unusable after S3.
> 
> [Test]
> The NVIDIA GPU in question works well after applying this patch.
> 
> [Fix]
> Rewrite 0 to Intel PCI bridge 'Prefetchable Base Upper 32 Bits'.
> This should be done by BIOS S3 code [1], but now the issue reappears, let's
> do the same in Linux PCI subsystem.
> 
> [Regression Potential]
> Low.
> After applying this patch I haven't noticed any change on already
> working PCI devices.
> Also this patch is acked by PCI and ACPI maintainers, so we can be more
> confident.
> 
> [1] https://bugzilla.kernel.org/show_bug.cgi?id=116851#c23
> 
> Daniel Drake (1):
>   PCI: Reprogram bridge prefetch registers on resume
> 
>  drivers/pci/pci.c | 27 +++++++++++++++++++--------
>  1 file changed, 19 insertions(+), 8 deletions(-)
> 

The patch has been queued for v4.19 (instead of v4.20) by the PCI
maintainer:
https://www.spinics.net/lists/netdev/msg525724.html

So I think it's safe to include this in Bionic, even without a SAUCE tag.

Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Stefan Bader Oct. 1, 2018, 3:59 p.m. UTC | #5
On 19.09.2018 17:29, Kai-Heng Feng wrote:
> BugLink: https://bugs.launchpad.net/bugs/1793338
> 
> [Impact]
> NVIDIA GPU on a new system we have becomes unusable after S3.
> 
> [Test]
> The NVIDIA GPU in question works well after applying this patch.
> 
> [Fix]
> Rewrite 0 to Intel PCI bridge 'Prefetchable Base Upper 32 Bits'.
> This should be done by BIOS S3 code [1], but now the issue reappears, let's
> do the same in Linux PCI subsystem.
> 
> [Regression Potential]
> Low.
> After applying this patch I haven't noticed any change on already
> working PCI devices.
> Also this patch is acked by PCI and ACPI maintainers, so we can be more
> confident.
> 
> [1] https://bugzilla.kernel.org/show_bug.cgi?id=116851#c23
> 
> Daniel Drake (1):
>   PCI: Reprogram bridge prefetch registers on resume
> 
>  drivers/pci/pci.c | 27 +++++++++++++++++++--------
>  1 file changed, 19 insertions(+), 8 deletions(-)
> 

As Kleber mentioned this was queued for 4.19 and is already on linux-next. So I
replaced the pick by the one from linux-next (it appeared to be identical).

Applied to bionic/master-next. Thanks.

-Stefan