include/nvme_spec.h: update identify directive return parameter

TP4146 introduced the support of data placement directive.
Update the required data structures.

Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Change-Id: I2ebd0430c5ae1109c76db944e907a3bd21ddccc2
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16516
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Ankit Kumar 2023-01-26 04:11:07 +05:30 committed by Tomasz Zawadzki
parent 7bbeb80a31
commit 790b1cdcae

View File

@ -3757,6 +3757,7 @@ SPDK_STATIC_ASSERT(sizeof(struct spdk_nvme_zns_zone_report) == 64, "Incorrect si
enum spdk_nvme_directive_type {
SPDK_NVME_DIRECTIVE_TYPE_IDENTIFY = 0x0,
SPDK_NVME_DIRECTIVE_TYPE_STREAMS = 0x1,
SPDK_NVME_DIRECTIVE_TYPE_DATA_PLACEMENT = 0x2,
};
enum spdk_nvme_identify_directive_send_operation {
@ -3773,7 +3774,9 @@ struct spdk_nvme_ns_identify_directive_param {
uint8_t identify : 1;
/* set to 1b if the Streams Directive is supported */
uint8_t streams : 1;
uint8_t reserved1 : 6;
/* set to 1b if the Data Placement Directive is supported */
uint8_t data_pd : 1;
uint8_t reserved1 : 5;
uint8_t reserved2[31];
} directives_supported;
struct {
@ -3781,11 +3784,33 @@ struct spdk_nvme_ns_identify_directive_param {
uint8_t identify : 1;
/* set to 1b if the Streams Directive is enabled */
uint8_t streams : 1;
uint8_t reserved1 : 6;
/* set to 1b if the Data Placement Directive is enabled */
uint8_t data_pd : 1;
uint8_t reserved1 : 5;
uint8_t reserved2[31];
} directives_enabled;
struct {
/**
* cleared to 0b as the host is not able to change the state of
* Identify Directive
*/
uint8_t identify : 1;
/**
* cleared to 0b to indicate that the Streams Directive state
* is not preserved across ctrl reset
*/
uint8_t streams : 1;
/**
* set to 1b if the Data Placement Directive is supported to
* indicate that the host specified Data Placement Directive
* state is preserved across ctrl reset
*/
uint8_t data_pd : 1;
uint8_t reserved1 : 5;
uint8_t reserved2[31];
} directives_persistence;
uint32_t reserved[1008];
uint32_t reserved[1000];
};
SPDK_STATIC_ASSERT(sizeof(struct spdk_nvme_ns_identify_directive_param) == 4096, "Incorrect size");