From beb6ffd2f7737546eb852bea7c4aa2da655c3e29 Mon Sep 17 00:00:00 2001 From: Changpeng Liu Date: Mon, 9 Aug 2021 21:53:22 +0800 Subject: [PATCH] nvme: add ONCS definition It's already defined in spdk_nvme_ctrlr_data, just move it out so that other library can use this definition. Change-Id: Ic40ba6f6e7870395ad3cec9511ce841f5dc4dff1 Signed-off-by: Changpeng Liu Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9123 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Ben Walker Reviewed-by: Jim Harris --- include/spdk/nvme_spec.h | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/include/spdk/nvme_spec.h b/include/spdk/nvme_spec.h index 394d39e49..328d27068 100644 --- a/include/spdk/nvme_spec.h +++ b/include/spdk/nvme_spec.h @@ -1856,6 +1856,20 @@ struct spdk_nvme_cdata_sgls { uint32_t reserved2 : 10; }; +/** Identify Controller data Optional NVM Command Support */ +struct spdk_nvme_cdata_oncs { + uint16_t compare : 1; + uint16_t write_unc : 1; + uint16_t dsm: 1; + uint16_t write_zeroes: 1; + uint16_t set_features_save: 1; + uint16_t reservations: 1; + uint16_t timestamp: 1; + uint16_t verify: 1; + uint16_t copy: 1; + uint16_t reserved9: 7; +}; + struct __attribute__((packed)) spdk_nvme_ctrlr_data { /* bytes 0-255: controller capabilities and features */ @@ -2175,18 +2189,7 @@ struct __attribute__((packed)) spdk_nvme_ctrlr_data { uint32_t nn; /** optional nvm command support */ - struct { - uint16_t compare : 1; - uint16_t write_unc : 1; - uint16_t dsm: 1; - uint16_t write_zeroes: 1; - uint16_t set_features_save: 1; - uint16_t reservations: 1; - uint16_t timestamp: 1; - uint16_t verify: 1; - uint16_t copy: 1; - uint16_t reserved9: 7; - } oncs; + struct spdk_nvme_cdata_oncs oncs; /** fused operation support */ struct {