[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180907150515.GA28739@al>
Date: Fri, 7 Sep 2018 17:05:15 +0200
From: Peter Wu <peter@...ensteyn.nl>
To: Daniel Drake <drake@...lessm.com>
Cc: bhelgaas@...gle.com, linux-pci@...r.kernel.org, linux@...lessm.com,
nouveau@...ts.freedesktop.org, linux-pm@...r.kernel.org,
kherbst@...hat.com, andriy.shevchenko@...ux.intel.com,
rafael.j.wysocki@...el.com, keith.busch@...el.com,
mika.westerberg@...ux.intel.com, jonathan.derrick@...el.com,
kugel@...kbox.org, davem@...emloft.net, hkallweit1@...il.com,
netdev@...r.kernel.org, nic_swsd@...ltek.com
Subject: Re: [PATCH] PCI: Reprogram bridge prefetch registers on resume
On Fri, Sep 07, 2018 at 01:36:14PM +0800, Daniel Drake wrote:
<..>
> Thomas Martitz reports that this workaround also solves an issue where
> the AMD Radeon Polaris 10 GPU on the HP Zbook 14u G5 is unresponsive
> after S3 suspend/resume.
Where was this claimed? It is not stated in the linked bug:
(https://bugs.freedesktop.org/show_bug.cgi?id=105760
> On resume, reprogram the PCI bridge prefetch registers, including the
> magic register mentioned above.
>
> This matches Win10 behaviour, which also rewrites these registers
> during S3 resume (checked with qemu tracing).
Windows 10 unconditionally rewrites these registers (BAR, I/O Base +
Limit, Memory Base + Limit, etc. from top to bottom), see annotations:
https://www.spinics.net/lists/linux-pci/msg75856.html
Linux has a generic "restore" operation that works backwards from the
end of the PCI config space to the beginning, see
pci_restore_config_space. Do you have a dmesg where you see the
"restoring config space at offset" messages?
Would it be reasonable to unconditionally write these registers in
pci_restore_config_dword, like Windows does?
Kind regards,
Peter
Powered by blists - more mailing lists