Message ID | 20210421125646.13058-1-anaidu.gollu@samsung.com |
---|---|
State | New |
Headers | show |
Series | [1/3] hw/block/nvme: fix lbaf formats initialization | expand |
On Apr 21 18:26, Gollu Appalanaidu wrote: >Add the Identify Namespace FLBAS related enums and remove >NVME_ID_NS_FLBAS_EXTENDEND macro its being used in only >one place and converted into enum. > >Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com> >--- > hw/block/nvme-ns.c | 2 +- > hw/block/nvme-ns.h | 2 +- > include/block/nvme.h | 5 ++++- > 3 files changed, 6 insertions(+), 3 deletions(-) > >diff --git a/hw/block/nvme-ns.c b/hw/block/nvme-ns.c >index ae56142fcd..9065a7ae99 100644 >--- a/hw/block/nvme-ns.c >+++ b/hw/block/nvme-ns.c >@@ -88,7 +88,7 @@ static int nvme_ns_init(NvmeNamespace *ns, Error **errp) > id_ns->mc = 0x3; > > if (ms && ns->params.mset) { >- id_ns->flbas |= 0x10; >+ id_ns->flbas |= NVME_ID_NS_FLBAS_EXTENDEND; > } > > id_ns->dpc = 0x1f; >diff --git a/hw/block/nvme-ns.h b/hw/block/nvme-ns.h >index fb0a41f912..5aa36cd1d2 100644 >--- a/hw/block/nvme-ns.h >+++ b/hw/block/nvme-ns.h >@@ -134,7 +134,7 @@ static inline size_t nvme_m2b(NvmeNamespace *ns, uint64_t lba) > > static inline bool nvme_ns_ext(NvmeNamespace *ns) > { >- return !!NVME_ID_NS_FLBAS_EXTENDED(ns->id_ns.flbas); >+ return ns->id_ns.flbas & NVME_ID_NS_FLBAS_EXTENDEND; > } > > /* calculate the number of LBAs that the namespace can accomodate */ >diff --git a/include/block/nvme.h b/include/block/nvme.h >index 4ac926fbc6..1d61030756 100644 >--- a/include/block/nvme.h >+++ b/include/block/nvme.h >@@ -1321,7 +1321,6 @@ typedef struct QEMU_PACKED NvmeIdNsZoned { > > #define NVME_ID_NS_NSFEAT_THIN(nsfeat) ((nsfeat & 0x1)) > #define NVME_ID_NS_NSFEAT_DULBE(nsfeat) ((nsfeat >> 2) & 0x1) >-#define NVME_ID_NS_FLBAS_EXTENDED(flbas) ((flbas >> 4) & 0x1) > #define NVME_ID_NS_FLBAS_INDEX(flbas) ((flbas & 0xf)) > #define NVME_ID_NS_MC_SEPARATE(mc) ((mc >> 1) & 0x1) > #define NVME_ID_NS_MC_EXTENDED(mc) ((mc & 0x1)) >@@ -1341,6 +1340,10 @@ enum NvmeIdNsDps { > NVME_ID_NS_DPS_FIRST_EIGHT = 8, > }; > >+enum NvmeIdNsFlbas { >+ NVME_ID_NS_FLBAS_EXTENDEND = 1 << 4, >+}; >+ > #define NVME_ID_NS_DPS_TYPE(dps) (dps & NVME_ID_NS_DPS_TYPE_MASK) > > typedef struct NvmeDifTuple { >-- >2.17.1 > > Apart from the misspelling of EXTENDED (I'll fix it up when applied): Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
diff --git a/hw/block/nvme-ns.c b/hw/block/nvme-ns.c index ae56142fcd..9065a7ae99 100644 --- a/hw/block/nvme-ns.c +++ b/hw/block/nvme-ns.c @@ -88,7 +88,7 @@ static int nvme_ns_init(NvmeNamespace *ns, Error **errp) id_ns->mc = 0x3; if (ms && ns->params.mset) { - id_ns->flbas |= 0x10; + id_ns->flbas |= NVME_ID_NS_FLBAS_EXTENDEND; } id_ns->dpc = 0x1f; diff --git a/hw/block/nvme-ns.h b/hw/block/nvme-ns.h index fb0a41f912..5aa36cd1d2 100644 --- a/hw/block/nvme-ns.h +++ b/hw/block/nvme-ns.h @@ -134,7 +134,7 @@ static inline size_t nvme_m2b(NvmeNamespace *ns, uint64_t lba) static inline bool nvme_ns_ext(NvmeNamespace *ns) { - return !!NVME_ID_NS_FLBAS_EXTENDED(ns->id_ns.flbas); + return ns->id_ns.flbas & NVME_ID_NS_FLBAS_EXTENDEND; } /* calculate the number of LBAs that the namespace can accomodate */ diff --git a/include/block/nvme.h b/include/block/nvme.h index 4ac926fbc6..1d61030756 100644 --- a/include/block/nvme.h +++ b/include/block/nvme.h @@ -1321,7 +1321,6 @@ typedef struct QEMU_PACKED NvmeIdNsZoned { #define NVME_ID_NS_NSFEAT_THIN(nsfeat) ((nsfeat & 0x1)) #define NVME_ID_NS_NSFEAT_DULBE(nsfeat) ((nsfeat >> 2) & 0x1) -#define NVME_ID_NS_FLBAS_EXTENDED(flbas) ((flbas >> 4) & 0x1) #define NVME_ID_NS_FLBAS_INDEX(flbas) ((flbas & 0xf)) #define NVME_ID_NS_MC_SEPARATE(mc) ((mc >> 1) & 0x1) #define NVME_ID_NS_MC_EXTENDED(mc) ((mc & 0x1)) @@ -1341,6 +1340,10 @@ enum NvmeIdNsDps { NVME_ID_NS_DPS_FIRST_EIGHT = 8, }; +enum NvmeIdNsFlbas { + NVME_ID_NS_FLBAS_EXTENDEND = 1 << 4, +}; + #define NVME_ID_NS_DPS_TYPE(dps) (dps & NVME_ID_NS_DPS_TYPE_MASK) typedef struct NvmeDifTuple {
Add the Identify Namespace FLBAS related enums and remove NVME_ID_NS_FLBAS_EXTENDEND macro its being used in only one place and converted into enum. Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com> --- hw/block/nvme-ns.c | 2 +- hw/block/nvme-ns.h | 2 +- include/block/nvme.h | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-)