Re: [PATCH 08/17] hw/block/nvme: move NvmeFeatureVal into hw/block/nvme.h

2020-07-02 Thread Dmitry Fomichev
Looks good,

Reviewed-by: Dmitry Fomichev 

On Mon, 2020-06-29 at 20:26 +0200, Klaus Jensen wrote:
> From: Klaus Jensen 
> 
> 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 
> ---
>  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_tasync_config;
> +} NvmeFeatureVal;
> +
>  typedef struct NvmeCtrl {
>  PCIDeviceparent_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_tarbitration;
> -uint32_tpower_mgmt;
> -union {
> -struct {
> -uint16_t temp_thresh_hi;
> -uint16_t temp_thresh_low;
> -};
> -uint32_t temp_thresh;
> -};
> -uint32_terr_rec;
> -uint32_tvolatile_wc;
> -uint32_tnum_queues;
> -uint32_tint_coalescing;
> -uint32_t*int_vector_config;
> -uint32_twrite_atomicity;
> -uint32_tasync_config;
> -uint32_tsw_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)


[PATCH 08/17] hw/block/nvme: move NvmeFeatureVal into hw/block/nvme.h

2020-06-29 Thread Klaus Jensen
From: Klaus Jensen 

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 
---
 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_tasync_config;
+} NvmeFeatureVal;
+
 typedef struct NvmeCtrl {
 PCIDeviceparent_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_tarbitration;
-uint32_tpower_mgmt;
-union {
-struct {
-uint16_t temp_thresh_hi;
-uint16_t temp_thresh_low;
-};
-uint32_t temp_thresh;
-};
-uint32_terr_rec;
-uint32_tvolatile_wc;
-uint32_tnum_queues;
-uint32_tint_coalescing;
-uint32_t*int_vector_config;
-uint32_twrite_atomicity;
-uint32_tasync_config;
-uint32_tsw_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