nvme.h: Add keep-alive opcode and identify controller attribute
authorSagi Grimberg <sagi@grimberg.me>
Mon, 13 Jun 2016 14:45:27 +0000 (16:45 +0200)
committerJens Axboe <axboe@fb.com>
Tue, 5 Jul 2016 17:28:18 +0000 (11:28 -0600)
KAS: keep-alive support and granularity of kato in units of 100 ms
nvme_admin_keep_alive opcode: 0x18

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
include/linux/nvme.h

index 75250303bcb3c5ee0b58670424250b2697d3a4cb..d8b37bab2887e75ed0c7f3cc58a57f2594109179 100644 (file)
@@ -202,7 +202,9 @@ struct nvme_id_ctrl {
        __u8                    apsta;
        __le16                  wctemp;
        __le16                  cctemp;
-       __u8                    rsvd270[242];
+       __u8                    rsvd270[50];
+       __le16                  kas;
+       __u8                    rsvd322[190];
        __u8                    sqes;
        __u8                    cqes;
        __le16                  maxcmd;
@@ -556,6 +558,7 @@ enum nvme_admin_opcode {
        nvme_admin_async_event          = 0x0c,
        nvme_admin_activate_fw          = 0x10,
        nvme_admin_download_fw          = 0x11,
+       nvme_admin_keep_alive           = 0x18,
        nvme_admin_format_nvm           = 0x80,
        nvme_admin_security_send        = 0x81,
        nvme_admin_security_recv        = 0x82,
@@ -580,6 +583,7 @@ enum {
        NVME_FEAT_WRITE_ATOMIC  = 0x0a,
        NVME_FEAT_ASYNC_EVENT   = 0x0b,
        NVME_FEAT_AUTO_PST      = 0x0c,
+       NVME_FEAT_KATO          = 0x0f,
        NVME_FEAT_SW_PROGRESS   = 0x80,
        NVME_FEAT_HOST_ID       = 0x81,
        NVME_FEAT_RESV_MASK     = 0x82,