Re: [PATCH v2 1/2] PCI/ASPM: Override the ASPM and Clock PM states set by BIOS for devicetree platforms
From: Jon Hunter
Date: Fri Mar 06 2026 - 11:05:58 EST
On 03/03/2026 16:17, Manivannan Sadhasivam wrote:
...
For Tegra, we enter a deep low power state known as SC7 on suspend which
does involve firmware. Nonetheless I tried for fun, but this breaks suspend
completely.
Ah, this explains the problem. We also have a similar problem on our Qcom Auto
boards where the firmware completely shuts down the SoC and puts the DRAM in
self refresh mode. So NVMe driver never resumes properly. We tried multiple ways
to address this issue in the NVMe driver, but the NVMe maintainers rejected
every single one of them and asking for some API in the PCI or PM core to tell
the NVMe driver when to shutdown the device during suspend. But this turned out
to be not so trivial.
Another way to workaround this issue would be by calling
pm_set_suspend_via_firmware() from the driver that controls the entity doing
power management of the SoC (firmware). In your case, it is
drivers/soc/tegra/pmc.c?
Actually for newer devices it is PSCI and so ...
In that case, you can use this patch as a reference:
https://lore.kernel.org/all/20251231162126.7728-1-manivannan.sadhasivam@xxxxxxxxxxxxxxxx
This change fixes the problem as implemented. What is the status of the above? Any plans to get this merged?
Jon
--
nvpublic