[RESEND. PATCH] nvme/pci: Add APST quirk for Lenovo N60z laptop

Keith Busch kbusch at kernel.org
Mon Jun 24 14:49:30 PDT 2024


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 at uniontech.com>
> Signed-off-by: Wentao Guan <guanwentao at uniontech.com>
> Signed-off-by: WangYuli <wangyuli at uniontech.com>
> ---
>  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.



More information about the Linux-nvme mailing list