Re: [PATCH v3] PCI: Prevent power state transition of erroneous device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx

I'm not sure though if that will help with the issue at hand.

Thanks,

Lukas




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux