All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Bug 213873] New: Hotplug ethernet cable to runtime suspended Realtek NIC doesn't raise PCIe PME IRQ on Intel ADL
       [not found] <bug-213873-41252@https.bugzilla.kernel.org/>
@ 2021-07-27 15:55 ` Bjorn Helgaas
  2021-07-29 14:50   ` Kai-Heng Feng
  0 siblings, 1 reply; 2+ messages in thread
From: Bjorn Helgaas @ 2021-07-27 15:55 UTC (permalink / raw)
  To: linux-pci; +Cc: Kai-Heng Feng, Rafael J. Wysocki, linux-pm

On Tue, Jul 27, 2021 at 06:10:13AM +0000, bugzilla-daemon@bugzilla.kernel.org wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=213873
> 
>             Bug ID: 213873
>            Summary: Hotplug ethernet cable to runtime suspended Realtek
>                     NIC doesn't raise PCIe PME IRQ on Intel ADL
>            Product: Drivers
>            Version: 2.5
>     Kernel Version: mainline
>           Hardware: All
>                 OS: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: PCI
>           Assignee: drivers_pci@kernel-bugs.osdl.org
>           Reporter: kai.heng.feng@canonical.com
>         Regression: No
> 
> Both PCIe bridge and Realtek NIC are runtime suspended. When ethernet cable is
> plugged, PMEStatus and PMEPending are marked:
> RootSta: PME ReqID 0200, PMEStatus+ PMEPending+
> 
> But the IRQ isn't raised:
> $ cat /proc/interrupts  | grep PME
>  145:          0          0          0          0          0          0        
>  0          0          0          0          0          0   VMD-MSI  126  PCIe
> PME, aerdrv, pcie-dpc
> 
> So the hotplug event isn't detected.
> 
> -- 

From the lspci after cable hotplug (comment #3):

  0000:00:1c.0 PCI bridge ...
    RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
    RootSta: PME ReqID 0200, PMEStatus+ PMEPending+

So it looks like the root port is not enabled to generate a PME
interrupt.  pcie_pme_interrupt_enable() looks like it *could* enable
that.  From a quick look, my guess is that pme.c doesn't claim this
root port because the platform says it doesn't support it:

  acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug SHPCHotplug PME]
  acpi PNP0A08:00: _OSC: OS now controls [AER PCIeCapability LTR]

Does booting with "pcie_ports=native" make it work?  That's not a very
good solution, of course, because then both the firmware and Linux
think they own this functionality.

Is there a BIOS update that would fix this?

Bjorn

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Bug 213873] New: Hotplug ethernet cable to runtime suspended Realtek NIC doesn't raise PCIe PME IRQ on Intel ADL
  2021-07-27 15:55 ` [Bug 213873] New: Hotplug ethernet cable to runtime suspended Realtek NIC doesn't raise PCIe PME IRQ on Intel ADL Bjorn Helgaas
@ 2021-07-29 14:50   ` Kai-Heng Feng
  0 siblings, 0 replies; 2+ messages in thread
From: Kai-Heng Feng @ 2021-07-29 14:50 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Linux PCI, Rafael J. Wysocki, Linux PM

On Tue, Jul 27, 2021 at 11:55 PM Bjorn Helgaas <helgaas@kernel.org> wrote:
>
> On Tue, Jul 27, 2021 at 06:10:13AM +0000, bugzilla-daemon@bugzilla.kernel.org wrote:
> > https://bugzilla.kernel.org/show_bug.cgi?id=213873
> >
> >             Bug ID: 213873
> >            Summary: Hotplug ethernet cable to runtime suspended Realtek
> >                     NIC doesn't raise PCIe PME IRQ on Intel ADL
> >            Product: Drivers
> >            Version: 2.5
> >     Kernel Version: mainline
> >           Hardware: All
> >                 OS: Linux
> >               Tree: Mainline
> >             Status: NEW
> >           Severity: normal
> >           Priority: P1
> >          Component: PCI
> >           Assignee: drivers_pci@kernel-bugs.osdl.org
> >           Reporter: kai.heng.feng@canonical.com
> >         Regression: No
> >
> > Both PCIe bridge and Realtek NIC are runtime suspended. When ethernet cable is
> > plugged, PMEStatus and PMEPending are marked:
> > RootSta: PME ReqID 0200, PMEStatus+ PMEPending+
> >
> > But the IRQ isn't raised:
> > $ cat /proc/interrupts  | grep PME
> >  145:          0          0          0          0          0          0
> >  0          0          0          0          0          0   VMD-MSI  126  PCIe
> > PME, aerdrv, pcie-dpc
> >
> > So the hotplug event isn't detected.
> >
> > --
>
> From the lspci after cable hotplug (comment #3):
>
>   0000:00:1c.0 PCI bridge ...
>     RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
>     RootSta: PME ReqID 0200, PMEStatus+ PMEPending+
>
> So it looks like the root port is not enabled to generate a PME
> interrupt.  pcie_pme_interrupt_enable() looks like it *could* enable
> that.  From a quick look, my guess is that pme.c doesn't claim this
> root port because the platform says it doesn't support it:
>
>   acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug SHPCHotplug PME]
>   acpi PNP0A08:00: _OSC: OS now controls [AER PCIeCapability LTR]
>
> Does booting with "pcie_ports=native" make it work?  That's not a very
> good solution, of course, because then both the firmware and Linux
> think they own this functionality.

Yes, thanks for spotting this.

>
> Is there a BIOS update that would fix this?

This platform is still under enablement so we'll get a BIOS fix.

Kai-Heng

>
> Bjorn

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-07-29 14:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-213873-41252@https.bugzilla.kernel.org/>
2021-07-27 15:55 ` [Bug 213873] New: Hotplug ethernet cable to runtime suspended Realtek NIC doesn't raise PCIe PME IRQ on Intel ADL Bjorn Helgaas
2021-07-29 14:50   ` Kai-Heng Feng

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.