[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aCXdjWaKpHST79ZO@wunner.de>
Date: Thu, 15 May 2025 14:26:53 +0200
From: Lukas Wunner <lukas@...ner.de>
To: Raag Jadav <raag.jadav@...el.com>
Cc: Denis Benato <benato.denis96@...il.com>,
Mario Limonciello <superm1@...nel.org>, rafael@...nel.org,
mahesh@...ux.ibm.com, oohall@...il.com, bhelgaas@...gle.com,
linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
ilpo.jarvinen@...ux.intel.com, aravind.iddamsetty@...ux.intel.com
Subject: Re: [PATCH v3] PCI: Prevent power state transition of erroneous
device
On Thu, May 15, 2025 at 02:58:25PM +0300, Raag Jadav wrote:
> On Wed, May 14, 2025 at 11:25:36PM +0200, Denis Benato wrote:
> > I tested this patch on top of 6.14.6 and this patch comes with a nasty regression: s2idle resume breaks all my three GPUs, while for example the sound of a YT video resumes fine.
> >
> > You can see the dmesg here: https://pastebin.com/Um7bmdWi
>
> Thanks for the report. From logs it looks like a hotplug event is triggered
> for presence detect which is disabling the slot and in turn loosing the
> device on resume. The cause of it is unclear though (assuming it is not
> a manual intervention).
When an Endpoint transitions to D3cold, the link to the Endpoint goes
down. If the Downstream Port above the Endpoint is hotplug-capable,
it will see a Data Link Layer State Changed event as a side effect.
If it doesn't support out-of-band presence detect, it will also see
a Presence Detect Changed event as a side effect.
As a workaround, graphics drivers invoke pci_ignore_hotplug() and that
will cause pciehp and acpiphp to permanently ignore any hotplug events.
In v6.16 there will be a new pci_hp_ignore_link_change() and
pci_hp_unignore_link_change() API to tell PCI hotplug drivers that
DLLSC and PDC events shall be ignored temporarily:
https://git.kernel.org/pci/pci/c/2af781a9edc4
I intend to replace pci_ignore_hotplug() with this new approach,
as explained here:
https://lore.kernel.org/r/Z_nfuGrVh_CO7vbe@wunner.de
I'm not sure though if that will help with the issue at hand.
Thanks,
Lukas
Powered by blists - more mailing lists