Re: [RESEND. PATCH] nvme/pci: Add APST quirk for Lenovo N60z laptop
From: Keith Busch
Date: Mon Jun 24 2024 - 17:49:40 EST
On Sat, Jun 22, 2024 at 12:21:08PM +0800, WangYuli wrote:
> There is a hardware power-saving problem with the Lenovo N60z
> board. When turn it on and leave it for 30 minutes, there is a
> 20% chance that a nvme disk will not wake up until reboot.
>
> Signed-off-by: hmy <huanglin@xxxxxxxxxxxxx>
> Signed-off-by: Wentao Guan <guanwentao@xxxxxxxxxxxxx>
> Signed-off-by: WangYuli <wangyuli@xxxxxxxxxxxxx>
> ---
> drivers/nvme/host/pci.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index 282d808400c5..1e0991667453 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -2903,6 +2903,13 @@ static unsigned long check_vendor_combination_bug(struct pci_dev *pdev)
> return NVME_QUIRK_SIMPLE_SUSPEND;
> }
>
> + /*
> + * NVMe SSD drops off the PCIe bus after system idle
> + * for 30 minuites on a Lenovo N60z board.
> + */
> + if (dmi_match(DMI_BOARD_NAME, "LXKT-ZXEG-N6"))
> + return NVME_QUIRK_NO_APST;
Based on your commit message, it sounds like the platform works the
majority of the time. Is it possible that NVME_QUIRK_NO_DEEPEST_PS is
sufficient for this? Or do you really need to disable it entirely? The
power usage differences can be meaningful.
Also, 30 minutes of idle is an eternity for APST to kick in, so I'm
curious if there's something else going on here or if the breakage
occurs earlier than that.