[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 08/17] hw/block/nvme: move NvmeFeatureVal into hw/block/nvme.h
From: |
Klaus Jensen |
Subject: |
[PATCH 08/17] hw/block/nvme: move NvmeFeatureVal into hw/block/nvme.h |
Date: |
Mon, 29 Jun 2020 20:26:33 +0200 |
From: Klaus Jensen <k.jensen@samsung.com>
The NvmeFeatureVal does not belong with the spec-related data structures
in include/block/nvme.h that is shared between the block-level nvme
driver and the emulated nvme device.
Move it into the nvme device specific header file as it is the only
user of the structure. Also, remove the unused members.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
---
hw/block/nvme.h | 11 +++++++++++
include/block/nvme.h | 20 --------------------
2 files changed, 11 insertions(+), 20 deletions(-)
diff --git a/hw/block/nvme.h b/hw/block/nvme.h
index 1f64a0e94035..16a254d30b4e 100644
--- a/hw/block/nvme.h
+++ b/hw/block/nvme.h
@@ -79,6 +79,17 @@ static inline uint8_t nvme_ns_lbads(NvmeNamespace *ns)
#define NVME(obj) \
OBJECT_CHECK(NvmeCtrl, (obj), TYPE_NVME)
+typedef struct NvmeFeatureVal {
+ union {
+ struct {
+ uint16_t temp_thresh_hi;
+ uint16_t temp_thresh_low;
+ };
+ uint32_t temp_thresh;
+ };
+ uint32_t async_config;
+} NvmeFeatureVal;
+
typedef struct NvmeCtrl {
PCIDevice parent_obj;
MemoryRegion iomem;
diff --git a/include/block/nvme.h b/include/block/nvme.h
index e98584e38134..c9f232a70e98 100644
--- a/include/block/nvme.h
+++ b/include/block/nvme.h
@@ -865,26 +865,6 @@ enum NvmeIdCtrlLpa {
#define NVME_CTRL_SGLS_MPTR_SGL (0x1 << 19)
#define NVME_CTRL_SGLS_ADDR_OFFSET (0x1 << 20)
-typedef struct NvmeFeatureVal {
- uint32_t arbitration;
- uint32_t power_mgmt;
- union {
- struct {
- uint16_t temp_thresh_hi;
- uint16_t temp_thresh_low;
- };
- uint32_t temp_thresh;
- };
- uint32_t err_rec;
- uint32_t volatile_wc;
- uint32_t num_queues;
- uint32_t int_coalescing;
- uint32_t *int_vector_config;
- uint32_t write_atomicity;
- uint32_t async_config;
- uint32_t sw_prog_marker;
-} NvmeFeatureVal;
-
#define NVME_ARB_AB(arb) (arb & 0x7)
#define NVME_ARB_LPW(arb) ((arb >> 8) & 0xff)
#define NVME_ARB_MPW(arb) ((arb >> 16) & 0xff)
--
2.27.0
- [PATCH 00/17] hw/block/nvme: bump to v1.3, Klaus Jensen, 2020/06/29
- [PATCH 03/17] hw/block/nvme: add support for the abort command, Klaus Jensen, 2020/06/29
- [PATCH 04/17] hw/block/nvme: add temperature threshold feature, Klaus Jensen, 2020/06/29
- [PATCH 01/17] hw/block/nvme: bump spec data structures to v1.3, Klaus Jensen, 2020/06/29
- [PATCH 05/17] hw/block/nvme: mark fw slot 1 as read-only, Klaus Jensen, 2020/06/29
- [PATCH 02/17] hw/block/nvme: additional tracing, Klaus Jensen, 2020/06/29
- [PATCH 08/17] hw/block/nvme: move NvmeFeatureVal into hw/block/nvme.h,
Klaus Jensen <=
- [PATCH 10/17] hw/block/nvme: fix missing endian conversion, Klaus Jensen, 2020/06/29
- [PATCH 06/17] hw/block/nvme: add support for the get log page command, Klaus Jensen, 2020/06/29
- [PATCH 07/17] hw/block/nvme: add support for the asynchronous event request command, Klaus Jensen, 2020/06/29
- [PATCH 09/17] hw/block/nvme: flush write cache when disabled, Klaus Jensen, 2020/06/29
- [PATCH 15/17] hw/block/nvme: enforce valid queue creation sequence, Klaus Jensen, 2020/06/29
- [PATCH 17/17] hw/block/nvme: bump supported version to v1.3, Klaus Jensen, 2020/06/29
- [PATCH 13/17] hw/block/nvme: make sure ncqr and nsqr is valid, Klaus Jensen, 2020/06/29
- [PATCH 11/17] hw/block/nvme: add remaining mandatory controller parameters, Klaus Jensen, 2020/06/29
- [PATCH 14/17] hw/block/nvme: support identify namespace descriptor list, Klaus Jensen, 2020/06/29
- [PATCH 16/17] hw/block/nvme: provide the mandatory subnqn field, Klaus Jensen, 2020/06/29