Re: Query related to shutting down NVMe during system suspend

From: nitirawa
Date: Wed Feb 09 2022 - 16:17:53 EST


On 2022-02-10 01:56, Keith Busch wrote:
On Tue, Feb 01, 2022 at 09:52:28PM +0530, Vidya Sagar wrote:
Hi Rafael & Christoph,
My query is regarding the comment and the code that follows after it at
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/nvme/host/pci.c?h=v5.17-rc2#n3243
What I understood from it is that, there is an underlying assumption
that the power to the devices is not removed during the suspend call.
In the case of device-tree based platforms like Tegra194, power is
indeed removed to the devices during suspend-resume process. Hence, the
NVMe devices need to be taken through the shutdown path irrespective of
whether the ASPM states are enabled or not.
I would like to hear from you the best method to follow to achieve this.

Christoph prefers to append quirks for platforms that need full device
shutdown on s2idle instead of changing the driver default.

We use dmi matching for our current platform quirk list. I do not know
what the equivalent is for device-tree based platforms. Do you know?

Hi Keith,

IMO, the NVME driver is not associated with any device tree, Instead PCI driver is associated with device tree.
So unlike ACPI based platform where we have platform specific DMI matching, we don't have equivalent check for DT based platform.

Do we see any concern if we introduce a module param with default not set to quick suspend.
For platform that need full shutdown durring resume , they can set it to quick suspend.