2021-04-08 19:06:33

by Raphael Norwitz

[permalink] [raw]
Subject: [PATCH] PCI: Delay after FLR of Intel DC P4510 NVMe

Like the Intel DC P3700 NVMe, the Intel P4510 NVMe exhibits a timeout
failure when the driver tries to interact with the device to soon after
an FLR. The same reset quirk the P3700 uses also resolves the failure
for the P4510, so this change introduces the same reset quirk for the
P4510.

Reviewed-by: Alex Williamson <[email protected]>
Signed-off-by: Alay Shah <[email protected]>
Signed-off-by: Suresh Gumpula <[email protected]>
Signed-off-by: Raphael Norwitz <[email protected]>
---
drivers/pci/quirks.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 653660e3ba9e..5a8c059b848d 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -3922,6 +3922,7 @@ static const struct pci_dev_reset_methods pci_dev_reset_methods[] = {
reset_ivb_igd },
{ PCI_VENDOR_ID_SAMSUNG, 0xa804, nvme_disable_and_flr },
{ PCI_VENDOR_ID_INTEL, 0x0953, delay_250ms_after_flr },
+ { PCI_VENDOR_ID_INTEL, 0x0a54, delay_250ms_after_flr },
{ PCI_VENDOR_ID_CHELSIO, PCI_ANY_ID,
reset_chelsio_generic_dev },
{ 0 }
--
2.20.1


2021-04-09 16:47:27

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH] PCI: Delay after FLR of Intel DC P4510 NVMe

On Thu, Apr 08, 2021 at 07:05:27PM +0000, Raphael Norwitz wrote:
> Like the Intel DC P3700 NVMe, the Intel P4510 NVMe exhibits a timeout
> failure when the driver tries to interact with the device to soon after
> an FLR. The same reset quirk the P3700 uses also resolves the failure
> for the P4510, so this change introduces the same reset quirk for the
> P4510.
>
> Reviewed-by: Alex Williamson <[email protected]>
> Signed-off-by: Alay Shah <[email protected]>
> Signed-off-by: Suresh Gumpula <[email protected]>
> Signed-off-by: Raphael Norwitz <[email protected]>

Applied to pci/virtualization for v5.13, thanks!

> ---
> drivers/pci/quirks.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index 653660e3ba9e..5a8c059b848d 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -3922,6 +3922,7 @@ static const struct pci_dev_reset_methods pci_dev_reset_methods[] = {
> reset_ivb_igd },
> { PCI_VENDOR_ID_SAMSUNG, 0xa804, nvme_disable_and_flr },
> { PCI_VENDOR_ID_INTEL, 0x0953, delay_250ms_after_flr },
> + { PCI_VENDOR_ID_INTEL, 0x0a54, delay_250ms_after_flr },
> { PCI_VENDOR_ID_CHELSIO, PCI_ANY_ID,
> reset_chelsio_generic_dev },
> { 0 }
> --
> 2.20.1