[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250210063948.xjf5rupebhljujgd@thinkpad>
Date: Mon, 10 Feb 2025 12:09:48 +0530
From: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
To: Bjorn Helgaas <helgaas@...nel.org>
Cc: kbusch@...nel.org, axboe@...nel.dk, hch@....de, sagi@...mberg.me,
linux-nvme@...ts.infradead.org, linux-kernel@...r.kernel.org,
andersson@...nel.org, konradybcio@...nel.org, rafael@...nel.org,
ulf.hansson@...aro.org
Subject: Re: [PATCH] nvme-pci: Use NVME_QUIRK_SIMPLE_SUSPEND for Qualcomm
Snapdragon 8cx Gen 3 platforms
On Sat, Feb 08, 2025 at 12:51:24PM -0600, Bjorn Helgaas wrote:
> On Sun, Jan 26, 2025 at 10:33:09AM +0530, Manivannan Sadhasivam wrote:
> > On these platforms, power to the PCIe bus is not retained if the SoC enters
> > its own deep low power state called, CX power collapse state during system
> > suspend. Once the SoC resumes after going through CX power collapse, all
> > the PCIe bus state will be lost. So the NVMe devices on these platforms
> > won't resume properly, rendering the machines useless until forcefully
> > restarted by the users.
>
> I guess "forcefully restarted" means a power cycle?
>
Yes!
> > +++ b/drivers/nvme/host/pci.c
> > @@ -3162,6 +3162,16 @@ static unsigned long check_vendor_combination_bug(struct pci_dev *pdev)
> > if (dmi_match(DMI_BOARD_NAME, "LXKT-ZXEG-N6"))
> > return NVME_QUIRK_NO_APST;
> >
> > + /*
> > + * Qualcomm Snapdragon 8cx Gen 3 (SC8280XP) platforms doesn't retain
> > + * power to the PCIe bus after entering low power CX power collapse
> > + * state during system suspend. So shutdown the NVMe devices to have a
> > + * working system suspend on these platforms.
> > + */
> > + if (dmi_match(DMI_PRODUCT_FAMILY, "SCP_MAKENA") ||
> > + dmi_match(DMI_PRODUCT_FAMILY, "ThinkPad X13s Gen 1"))
> > + return NVME_QUIRK_SIMPLE_SUSPEND;
>
> I certainly acknowledge that this is a big problem for users. At the
> same time, this seems like a maintenance nightmare of
> platform-specific hacks scattered through endpoint drivers.
This chipset is only used in Laptop form factors where there are no open PCIe
slots. And we have seen the issue with only the NVMe driver as the rest of the
endpoint drivers (WLAN, Modem) are all behaving fine.
But as I mentioned comments section, this is only an interim solution.
Obviously, we would like to have a generic solution available in PCI/PM core and
we'd certainly work towards that. Once that happens, this quirk can be reverted.
- Mani
--
மணிவண்ணன் சதாசிவம்
Powered by blists - more mailing lists