nvme: add CNTRLTYPE definitions for 'identify controller'
authorHannes Reinecke <hare@suse.de>
Wed, 22 Sep 2021 06:35:20 +0000 (08:35 +0200)
committerChristoph Hellwig <hch@lst.de>
Wed, 20 Oct 2021 17:16:01 +0000 (19:16 +0200)
Update the 'identify controller' structure to define the newly added
CNTRLTYPE field.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
include/linux/nvme.h

index b7c4c4130b65eff7d1b8ad85fa20e67e3b5a4448..ed2428918bca482f4f36563b36b28ace0a7f5640 100644 (file)
@@ -31,6 +31,12 @@ enum nvme_subsys_type {
        NVME_NQN_NVME   = 2,            /* NVME type target subsystem */
 };
 
+enum nvme_ctrl_type {
+       NVME_CTRL_IO    = 1,            /* I/O controller */
+       NVME_CTRL_DISC  = 2,            /* Discovery controller */
+       NVME_CTRL_ADMIN = 3,            /* Administrative controller */
+};
+
 /* Address Family codes for Discovery Log Page entry ADRFAM field */
 enum {
        NVMF_ADDR_FAMILY_PCI    = 0,    /* PCIe */
@@ -244,7 +250,9 @@ struct nvme_id_ctrl {
        __le32                  rtd3e;
        __le32                  oaes;
        __le32                  ctratt;
-       __u8                    rsvd100[28];
+       __u8                    rsvd100[11];
+       __u8                    cntrltype;
+       __u8                    fguid[16];
        __le16                  crdt1;
        __le16                  crdt2;
        __le16                  crdt3;