All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lukas Wunner <lukas@wunner.de>
To: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
	linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] PCI: pciehp: Fix hotplug on Catlow Lake with unreliable PME status
Date: Tue, 17 Feb 2026 19:22:20 +0100	[thread overview]
Message-ID: <aZSx3NF5gZ0rLIVU@wunner.de> (raw)
In-Reply-To: <70533ce4-265e-449c-bd63-06f2d7f5bdf1@linux.intel.com>

On Tue, Feb 17, 2026 at 09:01:25AM -0800, Kuppuswamy Sathyanarayanan wrote:
> On 2/14/2026 7:11 AM, Lukas Wunner wrote:
> > I've just realized that pcie_disable_interrupt() isn't called from
> > pciehp_suspend() if pme_is_native() is true.  Should disabling
                                           ^^^^
Sorry, I meant "if pme_is_native() is *false*".
My brain was apparently half asleep when I wrote this.

> > runtime PM cause a power regression, an alternative solution may be
> > to make pcie_disable_interrupt() conditional on a new pme_is_broken()
> > which checks for affected Catlow Lake PCH Root Ports.
> > 
> > The pm_runtime_disable() approach is slightly preferred because
> > it keeps pciehp code clean.
> 
> I think pcie_disable_interrupt() is called from pciehp_suspend() when
> pme_is_native() is true. Looking at the code:
> 
> static void pciehp_disable_interrupt(struct pcie_device *dev)
> {
>         /*
>          * Disable hotplug interrupt so that it does not trigger
>          * immediately when the downstream link goes down.
>          */
>         if (pme_is_native(dev->port))
>                 pcie_disable_interrupt(get_service_data(dev));
> }

What I had in mind is something like:

-	if (pme_is_native(dev))
+	if (pme_is_native(dev) && !pme_is_broken(dev))
		pcie_disable_interrupt(get_service_data(dev));

Again, the pm_runtime_disable() (or pm_runtime_get_sync()) approach
is slightly preferred because it keeps pciehp code clean and confines
the issue to a quirk that only needs to be compiled in on x86.

Thanks,

Lukas

  reply	other threads:[~2026-02-17 18:22 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-13 23:14 [PATCH v2] PCI: pciehp: Fix hotplug on Catlow Lake with unreliable PME status Kuppuswamy Sathyanarayanan
2026-02-14  6:01 ` Lukas Wunner
2026-02-14 15:11   ` Lukas Wunner
2026-02-17 17:01     ` Kuppuswamy Sathyanarayanan
2026-02-17 18:22       ` Lukas Wunner [this message]
2026-02-18 16:28         ` Kuppuswamy Sathyanarayanan
2026-02-17 16:54 ` Kuppuswamy Sathyanarayanan
2026-02-17 18:08   ` Rafael J. Wysocki
2026-02-18 16:27     ` Kuppuswamy Sathyanarayanan
2026-02-18 17:33       ` Rafael J. Wysocki
2026-02-19  8:04         ` Lukas Wunner
2026-02-19 11:09           ` Rafael J. Wysocki
2026-02-19 21:54             ` Kuppuswamy Sathyanarayanan
2026-03-09 18:04               ` Kuppuswamy Sathyanarayanan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aZSx3NF5gZ0rLIVU@wunner.de \
    --to=lukas@wunner.de \
    --cc=bhelgaas@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=sathyanarayanan.kuppuswamy@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.