diff options
author | Arnav Dawn <a.dawn@samsung.com> | 2017-07-12 16:10:40 +0530 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2017-08-28 21:38:17 +0200 |
commit | b6dccf7fae4331b0ea41cf087e3f02d5db9161dc (patch) | |
tree | db9b0a9a59990b07642d6b9c61c022aa8ef99244 /include/linux/nvme.h | |
parent | cd996fb47c360320cf25ac9503c16de085ea9cfc (diff) | |
download | linux-stable-b6dccf7fae4331b0ea41cf087e3f02d5db9161dc.tar.gz linux-stable-b6dccf7fae4331b0ea41cf087e3f02d5db9161dc.tar.bz2 linux-stable-b6dccf7fae4331b0ea41cf087e3f02d5db9161dc.zip |
nvme: add support for FW activation without reset
This patch adds support for handling Fw activation without reset
On completion of FW-activation-starting AER, all queues are
paused till CSTS.PP is cleared or timed out (exceeds max time for
fw activtion MTFA). If device fails to clear CSTS.PP within MTFA,
driver issues reset controller.
Signed-off-by: Arnav Dawn <a.dawn@samsung.com>
Reviewed-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Diffstat (limited to 'include/linux/nvme.h')
-rw-r--r-- | include/linux/nvme.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/nvme.h b/include/linux/nvme.h index 25d8225dbd04..5d0f2f4fc3b8 100644 --- a/include/linux/nvme.h +++ b/include/linux/nvme.h @@ -146,6 +146,7 @@ enum { NVME_CSTS_RDY = 1 << 0, NVME_CSTS_CFS = 1 << 1, NVME_CSTS_NSSRO = 1 << 4, + NVME_CSTS_PP = 1 << 5, NVME_CSTS_SHST_NORMAL = 0 << 2, NVME_CSTS_SHST_OCCUR = 1 << 2, NVME_CSTS_SHST_CMPLT = 2 << 2, @@ -376,6 +377,13 @@ struct nvme_smart_log { __u8 rsvd216[296]; }; +struct nvme_fw_slot_info_log { + __u8 afi; + __u8 rsvd1[7]; + __le64 frs[7]; + __u8 rsvd64[448]; +}; + enum { NVME_SMART_CRIT_SPARE = 1 << 0, NVME_SMART_CRIT_TEMPERATURE = 1 << 1, @@ -386,6 +394,7 @@ enum { enum { NVME_AER_NOTICE_NS_CHANGED = 0x0002, + NVME_AER_NOTICE_FW_ACT_STARTING = 0x0102, }; struct nvme_lba_range_type { |