Commit 539fc9cc authored by Jim Harris's avatar Jim Harris Committed by Tomasz Zawadzki
Browse files

nvme: add union spdk_nvme_cmd_cdw13



Similar to cdw11 and cdw12 structures, this will allow easier use of
cdw13 which contains DSPEC (Directive Specific) values for write commands.

Signed-off-by: default avatarJim Harris <jim.harris@samsung.com>
Change-Id: Icac6df11d4d875c7066167ec6dbcce6c1842fddb
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22343


Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJacek Kalwas <jacek.kalwas@intel.com>
Reviewed-by: default avatarAnkit Kumar <ankit.kumar@samsung.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
parent 1ba9e7c6
Loading
Loading
Loading
Loading
+19 −2
Original line number Diff line number Diff line
@@ -1364,6 +1364,19 @@ union spdk_nvme_cmd_cdw12 {
};
SPDK_STATIC_ASSERT(sizeof(union spdk_nvme_cmd_cdw12) == 4, "Incorrect size");

union spdk_nvme_cmd_cdw13 {
	uint32_t raw;

	struct {
		/* Dataset Management */
		uint32_t dsm       : 8;
		uint32_t reserved  : 8;
		/* Directive Specific */
		uint32_t dspec     : 16;
	} write;
};
SPDK_STATIC_ASSERT(sizeof(union spdk_nvme_cmd_cdw13) == 4, "Incorrect size");

struct spdk_nvme_cmd {
	/* dword 0 */
	uint16_t opc	:  8;	/* opcode */
@@ -1407,8 +1420,12 @@ struct spdk_nvme_cmd {
		uint32_t cdw12;
		union spdk_nvme_cmd_cdw12 cdw12_bits;
	};
	/* dword 13-15 */
	uint32_t cdw13;		/* command-specific */
	/* command-specific */
	union {
		uint32_t cdw13;
		union spdk_nvme_cmd_cdw13 cdw13_bits;
	};
	/* dword 14-15 */
	uint32_t cdw14;		/* command-specific */
	uint32_t cdw15;		/* command-specific */
};