mbox series

[v2,0/2] PCI: Fix runtime PME generation from D3hot

Message ID 20190131170746.7604-1-mika.westerberg@linux.intel.com
Headers show
Series PCI: Fix runtime PME generation from D3hot | expand

Message

Mika Westerberg Jan. 31, 2019, 5:07 p.m. UTC
Hi all,

Heiner reported [1] that runtime PME generation of his network card does
not work after commit 0e157e528604 ("PCI/PME: Implement runtime PM
callbacks") that landed in v4.20. Reverting the commit helps but it has
another drawback, which I originally tried to solve with the commit, that
the PCIe hierarchy wakes up immediately after being put into D3cold.

This series of two patches tries to fix both issues so that PME wakes up
from D3hot and that the hierarchy does not wake up immediately from D3cold.

The previous version of the series can be found here:

  https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1892241.html

Changes from the previous version:

  * Add tags from Heiner and Rafael
  * Update changelog to mention relevent PCIe spec sections
  * Add comment to pcie_disable_interrupt() explaining why and what is
    masked

[1] https://www.spinics.net/lists/linux-pci/msg79051.html

Mika Westerberg (2):
  Revert "PCI/PME: Implement runtime PM callbacks"
  PCI: pciehp: Disable Data Link Layer State Changed event on suspend

 drivers/pci/hotplug/pciehp_hpc.c | 17 +++++++++++++++--
 drivers/pci/pcie/pme.c           | 27 ---------------------------
 2 files changed, 15 insertions(+), 29 deletions(-)

Comments

Bjorn Helgaas Feb. 14, 2019, 9:26 p.m. UTC | #1
On Thu, Jan 31, 2019 at 08:07:44PM +0300, Mika Westerberg wrote:
> Hi all,
> 
> Heiner reported [1] that runtime PME generation of his network card does
> not work after commit 0e157e528604 ("PCI/PME: Implement runtime PM
> callbacks") that landed in v4.20. Reverting the commit helps but it has
> another drawback, which I originally tried to solve with the commit, that
> the PCIe hierarchy wakes up immediately after being put into D3cold.
> 
> This series of two patches tries to fix both issues so that PME wakes up
> from D3hot and that the hierarchy does not wake up immediately from D3cold.
> 
> The previous version of the series can be found here:
> 
>   https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1892241.html
> 
> Changes from the previous version:
> 
>   * Add tags from Heiner and Rafael
>   * Update changelog to mention relevent PCIe spec sections
>   * Add comment to pcie_disable_interrupt() explaining why and what is
>     masked
> 
> [1] https://www.spinics.net/lists/linux-pci/msg79051.html
> 
> Mika Westerberg (2):
>   Revert "PCI/PME: Implement runtime PM callbacks"
>   PCI: pciehp: Disable Data Link Layer State Changed event on suspend

I tentatively applied these to pci/pm for v5.1.

I suspect these should be marked for stable (v4.20+)?

I don't think the bugzilla in the second patch is directly relevant to
that patch.  I'd like to update the patch with a more relevant
bugzilla if you have or can open one?

>  drivers/pci/hotplug/pciehp_hpc.c | 17 +++++++++++++++--
>  drivers/pci/pcie/pme.c           | 27 ---------------------------
>  2 files changed, 15 insertions(+), 29 deletions(-)
> 
> -- 
> 2.20.1
>
Mika Westerberg Feb. 15, 2019, 9:38 a.m. UTC | #2
On Thu, Feb 14, 2019 at 03:26:19PM -0600, Bjorn Helgaas wrote:
> On Thu, Jan 31, 2019 at 08:07:44PM +0300, Mika Westerberg wrote:
> > Hi all,
> > 
> > Heiner reported [1] that runtime PME generation of his network card does
> > not work after commit 0e157e528604 ("PCI/PME: Implement runtime PM
> > callbacks") that landed in v4.20. Reverting the commit helps but it has
> > another drawback, which I originally tried to solve with the commit, that
> > the PCIe hierarchy wakes up immediately after being put into D3cold.
> > 
> > This series of two patches tries to fix both issues so that PME wakes up
> > from D3hot and that the hierarchy does not wake up immediately from D3cold.
> > 
> > The previous version of the series can be found here:
> > 
> >   https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1892241.html
> > 
> > Changes from the previous version:
> > 
> >   * Add tags from Heiner and Rafael
> >   * Update changelog to mention relevent PCIe spec sections
> >   * Add comment to pcie_disable_interrupt() explaining why and what is
> >     masked
> > 
> > [1] https://www.spinics.net/lists/linux-pci/msg79051.html
> > 
> > Mika Westerberg (2):
> >   Revert "PCI/PME: Implement runtime PM callbacks"
> >   PCI: pciehp: Disable Data Link Layer State Changed event on suspend
> 
> I tentatively applied these to pci/pm for v5.1.

Thanks!

> I suspect these should be marked for stable (v4.20+)?

Yes, I think it makes sense.

> I don't think the bugzilla in the second patch is directly relevant to
> that patch.  I'd like to update the patch with a more relevant
> bugzilla if you have or can open one?

I created a new one and included the link in my reply to the other
patch.
Bjorn Helgaas Feb. 15, 2019, 8:20 p.m. UTC | #3
On Fri, Feb 15, 2019 at 11:38:20AM +0200, Mika Westerberg wrote:
> On Thu, Feb 14, 2019 at 03:26:19PM -0600, Bjorn Helgaas wrote:
> > On Thu, Jan 31, 2019 at 08:07:44PM +0300, Mika Westerberg wrote:
> > > Hi all,
> > > 
> > > Heiner reported [1] that runtime PME generation of his network card does
> > > not work after commit 0e157e528604 ("PCI/PME: Implement runtime PM
> > > callbacks") that landed in v4.20. Reverting the commit helps but it has
> > > another drawback, which I originally tried to solve with the commit, that
> > > the PCIe hierarchy wakes up immediately after being put into D3cold.
> > > 
> > > This series of two patches tries to fix both issues so that PME wakes up
> > > from D3hot and that the hierarchy does not wake up immediately from D3cold.
> > > 
> > > The previous version of the series can be found here:
> > > 
> > >   https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1892241.html
> > > 
> > > Changes from the previous version:
> > > 
> > >   * Add tags from Heiner and Rafael
> > >   * Update changelog to mention relevent PCIe spec sections
> > >   * Add comment to pcie_disable_interrupt() explaining why and what is
> > >     masked
> > > 
> > > [1] https://www.spinics.net/lists/linux-pci/msg79051.html
> > > 
> > > Mika Westerberg (2):
> > >   Revert "PCI/PME: Implement runtime PM callbacks"
> > >   PCI: pciehp: Disable Data Link Layer State Changed event on suspend
> > 
> > I tentatively applied these to pci/pm for v5.1.
> 
> Thanks!
> 
> > I suspect these should be marked for stable (v4.20+)?
> 
> Yes, I think it makes sense.
> 
> > I don't think the bugzilla in the second patch is directly relevant to
> > that patch.  I'd like to update the patch with a more relevant
> > bugzilla if you have or can open one?
> 
> I created a new one and included the link in my reply to the other
> patch.

I marked both for stable and updated the bugzilla link.  Thanks!

Bjorn