linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] nvme: resync nvme-cli and align values
@ 2021-02-12  7:13 Chaitanya Kulkarni
  2021-02-12  7:13 ` [PATCH 1/2] nvme: resync header file with common nvme-cli tool Chaitanya Kulkarni
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Chaitanya Kulkarni @ 2021-02-12  7:13 UTC (permalink / raw)
  To: linux-nvme; +Cc: mgurtovoy, hch, Chaitanya Kulkarni

Hi,

Resync the nvme-cli headers and align the enum values which matches the
rest of the enum definitions.

I've tested this patch with backporting the require commit that needed
nvme repo with nvme-5.12 branch to be in working condition.

-ck

Chaitanya Kulkarni (1):
  nvme: aligned all enum values

Max Gurtovoy (1):
  nvme: resync header file with common nvme-cli tool

 include/linux/nvme.h | 173 ++++++++++++++++++++++++++-----------------
 1 file changed, 104 insertions(+), 69 deletions(-)

-- 
2.22.1


_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] nvme: resync header file with common nvme-cli tool
  2021-02-12  7:13 [PATCH 0/2] nvme: resync nvme-cli and align values Chaitanya Kulkarni
@ 2021-02-12  7:13 ` Chaitanya Kulkarni
  2021-02-12  7:13 ` [PATCH 2/2] nvme: aligned all enum values Chaitanya Kulkarni
  2021-02-24  9:14 ` [PATCH 0/2] nvme: resync nvme-cli and align values Christoph Hellwig
  2 siblings, 0 replies; 4+ messages in thread
From: Chaitanya Kulkarni @ 2021-02-12  7:13 UTC (permalink / raw)
  To: linux-nvme; +Cc: mgurtovoy, hch, Chaitanya Kulkarni

From: Max Gurtovoy <mgurtovoy@nvidia.com>

Import constant definitions that were added to nvme-cli and were not
added to Linux. This is the first step to align nvme.h files from Linux
kernel include/linux/nvme.h and nvme-cli linux/nvme.h.

Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com>
Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
[ Shorten the comments for PMR and CMB which are common shortforms ]
---
 include/linux/nvme.h | 73 ++++++++++++++++++++++++++++++++------------
 1 file changed, 54 insertions(+), 19 deletions(-)

diff --git a/include/linux/nvme.h b/include/linux/nvme.h
index b08787cd0881..3f162e34a2c0 100644
--- a/include/linux/nvme.h
+++ b/include/linux/nvme.h
@@ -113,21 +113,16 @@ enum {
 	NVME_REG_CMBSZ	= 0x003c,	/* Controller Memory Buffer Size */
 	NVME_REG_BPINFO	= 0x0040,	/* Boot Partition Information */
 	NVME_REG_BPRSEL	= 0x0044,	/* Boot Partition Read Select */
-	NVME_REG_BPMBL	= 0x0048,	/* Boot Partition Memory Buffer
-					 * Location
-					 */
-	NVME_REG_CMBMSC = 0x0050,	/* Controller Memory Buffer Memory
-					 * Space Control
-					 */
+	NVME_REG_BPMBL	= 0x0048,	/* Boot Partition Memory Buffer Location */
+	NVME_REG_CMBMSC	= 0x0050,	/* CMB Memory Space Control */
+	NVME_REG_CMBSTS	= 0x0058,	/* CMB Status */
+
 	NVME_REG_PMRCAP	= 0x0e00,	/* Persistent Memory Capabilities */
-	NVME_REG_PMRCTL	= 0x0e04,	/* Persistent Memory Region Control */
-	NVME_REG_PMRSTS	= 0x0e08,	/* Persistent Memory Region Status */
-	NVME_REG_PMREBS	= 0x0e0c,	/* Persistent Memory Region Elasticity
-					 * Buffer Size
-					 */
-	NVME_REG_PMRSWTP = 0x0e10,	/* Persistent Memory Region Sustained
-					 * Write Throughput
-					 */
+	NVME_REG_PMRCTL	= 0x0e04,	/* PMR Control */
+	NVME_REG_PMRSTS	= 0x0e08,	/* PMR Status */
+	NVME_REG_PMREBS	= 0x0e0c,	/* PMR Elasticity Buffer Size */
+	NVME_REG_PMRSWTP = 0x0e10,	/* PMR Sustained Write Throughput */
+	NVME_REG_PMRMSC = 0x0e14,	/* PMR Controller Memory Space Control */
 	NVME_REG_DBS	= 0x1000,	/* SQ 0 Tail Doorbell */
 };
 
@@ -142,6 +137,14 @@ enum {
 
 #define NVME_CMB_BIR(cmbloc)	((cmbloc) & 0x7)
 #define NVME_CMB_OFST(cmbloc)	(((cmbloc) >> 12) & 0xfffff)
+#define NVME_CMB_SZ(cmbsz)	(((cmbsz) >> 12) & 0xfffff)
+#define NVME_CMB_SZU(cmbsz)	(((cmbsz) >> 8) & 0xf)
+
+#define NVME_CMB_WDS(cmbsz)	((cmbsz) & 0x10)
+#define NVME_CMB_RDS(cmbsz)	((cmbsz) & 0x8)
+#define NVME_CMB_LISTS(cmbsz)	((cmbsz) & 0x4)
+#define NVME_CMB_CQS(cmbsz)	((cmbsz) & 0x2)
+#define NVME_CMB_SQS(cmbsz)	((cmbsz) & 0x1)
 
 enum {
 	NVME_CMBSZ_SQS		= 1 << 0,
@@ -244,7 +247,10 @@ struct nvme_id_ctrl {
 	__le32			rtd3e;
 	__le32			oaes;
 	__le32			ctratt;
-	__u8			rsvd100[28];
+	__le16			rrls;
+	__u8			rsvd102[9];
+	__u8			cntrltype;
+	char			fguid[16];
 	__le16			crdt1;
 	__le16			crdt2;
 	__le16			crdt3;
@@ -276,12 +282,14 @@ struct nvme_id_ctrl {
 	__le32			sanicap;
 	__le32			hmminds;
 	__le16			hmmaxd;
-	__u8			rsvd338[4];
+	__le16			nsetidmax;
+	__le16			endgidmax;
 	__u8			anatt;
 	__u8			anacap;
 	__le32			anagrpmax;
 	__le32			nanagrpid;
-	__u8			rsvd352[160];
+	__le32			pels;
+	__u8			rsvd356[156];
 	__u8			sqes;
 	__u8			cqes;
 	__le16			maxcmd;
@@ -295,7 +303,7 @@ struct nvme_id_ctrl {
 	__u8			nvscc;
 	__u8			nwpc;
 	__le16			acwu;
-	__u8			rsvd534[2];
+	__le16			ocfs;
 	__le32			sgls;
 	__le32			mnan;
 	__u8			rsvd544[224];
@@ -368,7 +376,10 @@ struct nvme_id_ns {
 	__le16			npdg;
 	__le16			npda;
 	__le16			nows;
-	__u8			rsvd74[18];
+	__le16			mssrl;
+	__le32			mcl;
+	__u8			msrc;
+	__u8			rsvd81[11];
 	__le32			anagrpid;
 	__u8			rsvd96[3];
 	__u8			nsattr;
@@ -410,8 +421,10 @@ enum {
 	NVME_ID_CNS_CTRL		= 0x01,
 	NVME_ID_CNS_NS_ACTIVE_LIST	= 0x02,
 	NVME_ID_CNS_NS_DESC_LIST	= 0x03,
+	NVME_ID_CNS_NVMSET_LIST		= 0x04,
 	NVME_ID_CNS_CS_NS		= 0x05,
 	NVME_ID_CNS_CS_CTRL		= 0x06,
+	NVME_ID_CNS_CS_NS_ACTIVE_LIST	= 0x07,
 	NVME_ID_CNS_NS_PRESENT_LIST	= 0x10,
 	NVME_ID_CNS_NS_PRESENT		= 0x11,
 	NVME_ID_CNS_CTRL_NS_LIST	= 0x12,
@@ -419,6 +432,10 @@ enum {
 	NVME_ID_CNS_SCNDRY_CTRL_LIST	= 0x15,
 	NVME_ID_CNS_NS_GRANULARITY	= 0x16,
 	NVME_ID_CNS_UUID_LIST		= 0x17,
+	NVME_ID_CNS_CSI_NS_PRESENT_LIST	= 0x1a,
+	NVME_ID_CNS_CSI_NS_PRESENT	= 0x1b,
+	NVME_ID_CNS_CSI			= 0x1c,
+
 };
 
 enum {
@@ -679,6 +696,7 @@ enum nvme_opcode {
 	nvme_cmd_resv_report	= 0x0e,
 	nvme_cmd_resv_acquire	= 0x11,
 	nvme_cmd_resv_release	= 0x15,
+	nvme_cmd_copy		= 0x19,
 	nvme_cmd_zone_mgmt_send	= 0x79,
 	nvme_cmd_zone_mgmt_recv	= 0x7a,
 	nvme_cmd_zone_append	= 0x7d,
@@ -1052,6 +1070,7 @@ enum {
 	NVME_FEAT_PLM_WINDOW	= 0x14,
 	NVME_FEAT_HOST_BEHAVIOR	= 0x16,
 	NVME_FEAT_SANITIZE	= 0x17,
+	NVME_FEAT_IOCS_PROFILE	= 0x19,
 	NVME_FEAT_SW_PROGRESS	= 0x80,
 	NVME_FEAT_HOST_ID	= 0x81,
 	NVME_FEAT_RESV_MASK	= 0x82,
@@ -1068,9 +1087,14 @@ enum {
 	NVME_LOG_TELEMETRY_HOST = 0x07,
 	NVME_LOG_TELEMETRY_CTRL = 0x08,
 	NVME_LOG_ENDURANCE_GROUP = 0x09,
+	NVME_LOG_PRELAT_PER_NVMSET	= 0x0a,
+	NVME_LOG_PRELAT_EVENT_AGG	= 0x0b,
 	NVME_LOG_ANA		= 0x0c,
+	NVME_LOG_PERSISTENT_EVENT   = 0x0d,
 	NVME_LOG_DISC		= 0x70,
 	NVME_LOG_RESERVATION	= 0x80,
+	NVME_LOG_SANITIZE	= 0x81,
+	NVME_LOG_ZONE_CHANGED_LIST = 0xbf,
 	NVME_FWACT_REPL		= (0 << 3),
 	NVME_FWACT_REPL_ACTV	= (1 << 3),
 	NVME_FWACT_ACTV		= (2 << 3),
@@ -1310,6 +1334,9 @@ struct nvmf_disc_rsp_page_entry {
 			__u16	pkey;
 			__u8	resv10[246];
 		} rdma;
+		struct tcp {
+			__u8	sectype;
+		} tcp;
 	} tsas;
 };
 
@@ -1542,6 +1569,14 @@ enum {
 	NVME_SC_ANA_GROUP_ID_INVALID	= 0x124,
 	NVME_SC_ANA_ATTACH_FAILED	= 0x125,
 
+	/*
+	 * Command Set Specific - Namespace Types commands:
+	 */
+	NVME_SC_IOCS_NOT_SUPPORTED	= 0x129,
+	NVME_SC_IOCS_NOT_ENABLED	= 0x12a,
+	NVME_SC_IOCS_COMBINATION_REJ	= 0x12b,
+	NVME_SC_INVALID_IOCS		= 0x12c,
+
 	/*
 	 * I/O Command Set Specific - NVM commands:
 	 */
-- 
2.22.1


_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] nvme: aligned all enum values
  2021-02-12  7:13 [PATCH 0/2] nvme: resync nvme-cli and align values Chaitanya Kulkarni
  2021-02-12  7:13 ` [PATCH 1/2] nvme: resync header file with common nvme-cli tool Chaitanya Kulkarni
@ 2021-02-12  7:13 ` Chaitanya Kulkarni
  2021-02-24  9:14 ` [PATCH 0/2] nvme: resync nvme-cli and align values Christoph Hellwig
  2 siblings, 0 replies; 4+ messages in thread
From: Chaitanya Kulkarni @ 2021-02-12  7:13 UTC (permalink / raw)
  To: linux-nvme; +Cc: mgurtovoy, hch, Chaitanya Kulkarni

Add extra tabs and align the values that matches the rest of the
enum definitions.

Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
---
 include/linux/nvme.h | 108 +++++++++++++++++++++----------------------
 1 file changed, 54 insertions(+), 54 deletions(-)

diff --git a/include/linux/nvme.h b/include/linux/nvme.h
index 3f162e34a2c0..c0d7148f893a 100644
--- a/include/linux/nvme.h
+++ b/include/linux/nvme.h
@@ -1042,62 +1042,62 @@ enum nvme_admin_opcode {
 		nvme_admin_opcode_name(nvme_admin_get_lba_status))
 
 enum {
-	NVME_QUEUE_PHYS_CONTIG	= (1 << 0),
-	NVME_CQ_IRQ_ENABLED	= (1 << 1),
-	NVME_SQ_PRIO_URGENT	= (0 << 1),
-	NVME_SQ_PRIO_HIGH	= (1 << 1),
-	NVME_SQ_PRIO_MEDIUM	= (2 << 1),
-	NVME_SQ_PRIO_LOW	= (3 << 1),
-	NVME_FEAT_ARBITRATION	= 0x01,
-	NVME_FEAT_POWER_MGMT	= 0x02,
-	NVME_FEAT_LBA_RANGE	= 0x03,
-	NVME_FEAT_TEMP_THRESH	= 0x04,
-	NVME_FEAT_ERR_RECOVERY	= 0x05,
-	NVME_FEAT_VOLATILE_WC	= 0x06,
-	NVME_FEAT_NUM_QUEUES	= 0x07,
-	NVME_FEAT_IRQ_COALESCE	= 0x08,
-	NVME_FEAT_IRQ_CONFIG	= 0x09,
-	NVME_FEAT_WRITE_ATOMIC	= 0x0a,
-	NVME_FEAT_ASYNC_EVENT	= 0x0b,
-	NVME_FEAT_AUTO_PST	= 0x0c,
-	NVME_FEAT_HOST_MEM_BUF	= 0x0d,
-	NVME_FEAT_TIMESTAMP	= 0x0e,
-	NVME_FEAT_KATO		= 0x0f,
-	NVME_FEAT_HCTM		= 0x10,
-	NVME_FEAT_NOPSC		= 0x11,
-	NVME_FEAT_RRL		= 0x12,
-	NVME_FEAT_PLM_CONFIG	= 0x13,
-	NVME_FEAT_PLM_WINDOW	= 0x14,
-	NVME_FEAT_HOST_BEHAVIOR	= 0x16,
-	NVME_FEAT_SANITIZE	= 0x17,
-	NVME_FEAT_IOCS_PROFILE	= 0x19,
-	NVME_FEAT_SW_PROGRESS	= 0x80,
-	NVME_FEAT_HOST_ID	= 0x81,
-	NVME_FEAT_RESV_MASK	= 0x82,
-	NVME_FEAT_RESV_PERSIST	= 0x83,
-	NVME_FEAT_WRITE_PROTECT	= 0x84,
-	NVME_FEAT_VENDOR_START	= 0xC0,
-	NVME_FEAT_VENDOR_END	= 0xFF,
-	NVME_LOG_ERROR		= 0x01,
-	NVME_LOG_SMART		= 0x02,
-	NVME_LOG_FW_SLOT	= 0x03,
-	NVME_LOG_CHANGED_NS	= 0x04,
-	NVME_LOG_CMD_EFFECTS	= 0x05,
-	NVME_LOG_DEVICE_SELF_TEST = 0x06,
-	NVME_LOG_TELEMETRY_HOST = 0x07,
-	NVME_LOG_TELEMETRY_CTRL = 0x08,
-	NVME_LOG_ENDURANCE_GROUP = 0x09,
+	NVME_QUEUE_PHYS_CONTIG		= (1 << 0),
+	NVME_CQ_IRQ_ENABLED		= (1 << 1),
+	NVME_SQ_PRIO_URGENT		= (0 << 1),
+	NVME_SQ_PRIO_HIGH		= (1 << 1),
+	NVME_SQ_PRIO_MEDIUM		= (2 << 1),
+	NVME_SQ_PRIO_LOW		= (3 << 1),
+	NVME_FEAT_ARBITRATION		= 0x01,
+	NVME_FEAT_POWER_MGMT		= 0x02,
+	NVME_FEAT_LBA_RANGE		= 0x03,
+	NVME_FEAT_TEMP_THRESH		= 0x04,
+	NVME_FEAT_ERR_RECOVERY		= 0x05,
+	NVME_FEAT_VOLATILE_WC		= 0x06,
+	NVME_FEAT_NUM_QUEUES		= 0x07,
+	NVME_FEAT_IRQ_COALESCE		= 0x08,
+	NVME_FEAT_IRQ_CONFIG		= 0x09,
+	NVME_FEAT_WRITE_ATOMIC		= 0x0a,
+	NVME_FEAT_ASYNC_EVENT		= 0x0b,
+	NVME_FEAT_AUTO_PST		= 0x0c,
+	NVME_FEAT_HOST_MEM_BUF		= 0x0d,
+	NVME_FEAT_TIMESTAMP		= 0x0e,
+	NVME_FEAT_KATO			= 0x0f,
+	NVME_FEAT_HCTM			= 0x10,
+	NVME_FEAT_NOPSC			= 0x11,
+	NVME_FEAT_RRL			= 0x12,
+	NVME_FEAT_PLM_CONFIG		= 0x13,
+	NVME_FEAT_PLM_WINDOW		= 0x14,
+	NVME_FEAT_HOST_BEHAVIOR		= 0x16,
+	NVME_FEAT_SANITIZE		= 0x17,
+	NVME_FEAT_IOCS_PROFILE		= 0x19,
+	NVME_FEAT_SW_PROGRESS		= 0x80,
+	NVME_FEAT_HOST_ID		= 0x81,
+	NVME_FEAT_RESV_MASK		= 0x82,
+	NVME_FEAT_RESV_PERSIST		= 0x83,
+	NVME_FEAT_WRITE_PROTECT		= 0x84,
+	NVME_FEAT_VENDOR_START		= 0xC0,
+	NVME_FEAT_VENDOR_END		= 0xFF,
+	NVME_LOG_ERROR			= 0x01,
+	NVME_LOG_SMART			= 0x02,
+	NVME_LOG_FW_SLOT		= 0x03,
+	NVME_LOG_CHANGED_NS		= 0x04,
+	NVME_LOG_CMD_EFFECTS		= 0x05,
+	NVME_LOG_DEVICE_SELF_TEST	= 0x06,
+	NVME_LOG_TELEMETRY_HOST		= 0x07,
+	NVME_LOG_TELEMETRY_CTRL		= 0x08,
+	NVME_LOG_ENDURANCE_GROUP	= 0x09,
 	NVME_LOG_PRELAT_PER_NVMSET	= 0x0a,
 	NVME_LOG_PRELAT_EVENT_AGG	= 0x0b,
-	NVME_LOG_ANA		= 0x0c,
-	NVME_LOG_PERSISTENT_EVENT   = 0x0d,
-	NVME_LOG_DISC		= 0x70,
-	NVME_LOG_RESERVATION	= 0x80,
-	NVME_LOG_SANITIZE	= 0x81,
-	NVME_LOG_ZONE_CHANGED_LIST = 0xbf,
-	NVME_FWACT_REPL		= (0 << 3),
-	NVME_FWACT_REPL_ACTV	= (1 << 3),
-	NVME_FWACT_ACTV		= (2 << 3),
+	NVME_LOG_ANA			= 0x0c,
+	NVME_LOG_PERSISTENT_EVENT	= 0x0d,
+	NVME_LOG_DISC			= 0x70,
+	NVME_LOG_RESERVATION		= 0x80,
+	NVME_LOG_SANITIZE		= 0x81,
+	NVME_LOG_ZONE_CHANGED_LIST	= 0xbf,
+	NVME_FWACT_REPL			= (0 << 3),
+	NVME_FWACT_REPL_ACTV		= (1 << 3),
+	NVME_FWACT_ACTV			= (2 << 3),
 };
 
 /* NVMe Namespace Write Protect State */
-- 
2.22.1


_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 0/2] nvme: resync nvme-cli and align values
  2021-02-12  7:13 [PATCH 0/2] nvme: resync nvme-cli and align values Chaitanya Kulkarni
  2021-02-12  7:13 ` [PATCH 1/2] nvme: resync header file with common nvme-cli tool Chaitanya Kulkarni
  2021-02-12  7:13 ` [PATCH 2/2] nvme: aligned all enum values Chaitanya Kulkarni
@ 2021-02-24  9:14 ` Christoph Hellwig
  2 siblings, 0 replies; 4+ messages in thread
From: Christoph Hellwig @ 2021-02-24  9:14 UTC (permalink / raw)
  To: Chaitanya Kulkarni; +Cc: mgurtovoy, hch, linux-nvme

Thanks,

applied to nvme-5.13.

_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-02-24  9:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-12  7:13 [PATCH 0/2] nvme: resync nvme-cli and align values Chaitanya Kulkarni
2021-02-12  7:13 ` [PATCH 1/2] nvme: resync header file with common nvme-cli tool Chaitanya Kulkarni
2021-02-12  7:13 ` [PATCH 2/2] nvme: aligned all enum values Chaitanya Kulkarni
2021-02-24  9:14 ` [PATCH 0/2] nvme: resync nvme-cli and align values Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).