linux_dsm_epyc7002/drivers/nvme/host
Mario Limonciello 7cbb5c6f9a nvme-pci: Save PCI state before putting drive into deepest state
The action of saving the PCI state will cause numerous PCI configuration
space reads which depending upon the vendor implementation may cause
the drive to exit the deepest NVMe state.

In these cases ASPM will typically resolve the PCIe link state and APST
may resolve the NVMe power state.  However it has also been observed
that this register access after quiesced will cause PC10 failure
on some device combinations.

To resolve this, move the PCI state saving to before SetFeatures has been
called.  This has been proven to resolve the issue across a 5000 sample
test on previously failing disk/system combinations.

Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
2019-09-25 12:53:14 -07:00
..
core.c nvme-pci: Fix a race in controller removal 2019-09-23 14:00:11 -07:00
fabrics.c nvme-fabrics: allow discovery subsystems accept a kato 2019-09-12 08:50:46 -07:00
fabrics.h nvme-fabrics: Add type of service (TOS) configuration 2019-08-29 12:55:01 -07:00
fault_inject.c nvme: enable to inject errors into admin commands 2019-06-21 11:15:50 +02:00
fc.c nvme-fc: Fail transport errors with NVME_SC_HOST_PATH 2019-09-12 08:50:45 -07:00
Kconfig nvme: tcp: selects CRYPTO_CRC32C for nvme-tcp 2019-08-29 12:55:01 -07:00
lightnvm.c lightnvm: move metadata mapping to lower level driver 2019-08-06 08:20:10 -06:00
Makefile
multipath.c for-5.4/block-2019-09-16 2019-09-17 16:57:47 -07:00
nvme.h for-5.4/block-2019-09-16 2019-09-17 16:57:47 -07:00
pci.c nvme-pci: Save PCI state before putting drive into deepest state 2019-09-25 12:53:14 -07:00
rdma.c for-5.4/block-2019-09-16 2019-09-17 16:57:47 -07:00
tcp.c nvme-tcp: fix wrong stop condition in io_work 2019-09-25 12:53:14 -07:00
trace.c nvme: trace: parse Get LBA Status command in detail 2019-08-29 12:55:01 -07:00
trace.h nvme-trace: print result and status in hex format 2019-06-21 11:12:37 +02:00