All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: kbusch@kernel.org, axboe@kernel.dk, hch@lst.de, sagi@grimberg.me,
	linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org,
	andersson@kernel.org, konradybcio@kernel.org, rafael@kernel.org,
	ulf.hansson@linaro.org
Subject: Re: [PATCH] nvme-pci: Use NVME_QUIRK_SIMPLE_SUSPEND for Qualcomm Snapdragon 8cx Gen 3 platforms
Date: Sat, 8 Feb 2025 12:51:24 -0600	[thread overview]
Message-ID: <20250208185124.GA1120888@bhelgaas> (raw)
In-Reply-To: <20250126050309.7243-1-manivannan.sadhasivam@linaro.org>

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?

> +++ 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.


  parent reply	other threads:[~2025-02-08 18:51 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-26  5:03 [PATCH] nvme-pci: Use NVME_QUIRK_SIMPLE_SUSPEND for Qualcomm Snapdragon 8cx Gen 3 platforms Manivannan Sadhasivam
2025-02-04 16:03 ` Ulf Hansson
2025-02-07 18:06   ` Manivannan Sadhasivam
2025-02-08 18:51 ` Bjorn Helgaas [this message]
2025-02-10  4:04   ` Christoph Hellwig
2025-02-10  6:36     ` Manivannan Sadhasivam
2025-02-13  7:10       ` Christoph Hellwig
2025-02-10  6:39   ` Manivannan Sadhasivam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250208185124.GA1120888@bhelgaas \
    --to=helgaas@kernel.org \
    --cc=andersson@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=hch@lst.de \
    --cc=kbusch@kernel.org \
    --cc=konradybcio@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=manivannan.sadhasivam@linaro.org \
    --cc=rafael@kernel.org \
    --cc=sagi@grimberg.me \
    --cc=ulf.hansson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.