summaryrefslogtreecommitdiff
path: root/drivers/nvme/host/constants.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2022-05-16 15:09:21 +0200
committerChristoph Hellwig <hch@lst.de>2022-05-18 18:54:17 +0200
commit354201c53e61e493017b15327294b0c8ab522d69 (patch)
treedc029d981c51292a12b12b5215866bf80abbe789 /drivers/nvme/host/constants.c
parentda14f237ceef059ff1a9ee14de283905c2dac11c (diff)
nvme: add support for TP4084 - Time-to-Ready Enhancements
Add support for using longer timeouts during controller initialization and letting the controller come up with namespaces that are not ready for I/O yet. We skip these not ready namespaces during scanning and only bring them online once anoter scan is kicked off by the AEN that is set when the NRDY bit gets set in the I/O Command Set Independent Identify Namespace Data Structure. This asynchronous probing avoids blocking the kernel boot when controllers take a very long time to recover after unclean shutdowns (up to minutes). Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Keith Busch <kbusch@kernel.org> Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com> Reviewed-by: Hannes Reinecke <hare@suse.de>
Diffstat (limited to 'drivers/nvme/host/constants.c')
-rw-r--r--drivers/nvme/host/constants.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/nvme/host/constants.c b/drivers/nvme/host/constants.c
index 1dd1d78de295..4910543f00ff 100644
--- a/drivers/nvme/host/constants.c
+++ b/drivers/nvme/host/constants.c
@@ -91,6 +91,7 @@ static const char * const nvme_statuses[] = {
[NVME_SC_NS_WRITE_PROTECTED] = "Namespace is Write Protected",
[NVME_SC_CMD_INTERRUPTED] = "Command Interrupted",
[NVME_SC_TRANSIENT_TR_ERR] = "Transient Transport Error",
+ [NVME_SC_ADMIN_COMMAND_MEDIA_NOT_READY] = "Admin Command Media Not Ready",
[NVME_SC_INVALID_IO_CMD_SET] = "Invalid IO Command Set",
[NVME_SC_LBA_RANGE] = "LBA Out of Range",
[NVME_SC_CAP_EXCEEDED] = "Capacity Exceeded",