[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 12/16] nvme: add namespace helpers
From: |
Klaus Jensen |
Subject: |
[PATCH v2 12/16] nvme: add namespace helpers |
Date: |
Wed, 15 Apr 2020 15:01:55 +0200 |
From: Klaus Jensen <address@hidden>
Introduce some small helpers to make the next patches easier on the eye.
Signed-off-by: Klaus Jensen <address@hidden>
---
hw/block/nvme.c | 3 +--
hw/block/nvme.h | 16 ++++++++++++++++
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index 80da0825d295..d5244102252c 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -1469,8 +1469,7 @@ static void nvme_realize(PCIDevice *pci_dev, Error **errp)
id_ns->dps = 0;
id_ns->lbaf[0].ds = BDRV_SECTOR_BITS;
id_ns->ncap = id_ns->nuse = id_ns->nsze =
- cpu_to_le64(n->ns_size >>
- id_ns->lbaf[NVME_ID_NS_FLBAS_INDEX(ns->id_ns.flbas)].ds);
+ cpu_to_le64(nvme_ns_nlbas(n, ns));
}
}
diff --git a/hw/block/nvme.h b/hw/block/nvme.h
index 7eecfd3a50f6..dd932a9e7ebc 100644
--- a/hw/block/nvme.h
+++ b/hw/block/nvme.h
@@ -67,6 +67,17 @@ typedef struct NvmeNamespace {
NvmeIdNs id_ns;
} NvmeNamespace;
+static inline NvmeLBAF *nvme_ns_lbaf(NvmeNamespace *ns)
+{
+ NvmeIdNs *id_ns = &ns->id_ns;
+ return &id_ns->lbaf[NVME_ID_NS_FLBAS_INDEX(id_ns->flbas)];
+}
+
+static inline uint8_t nvme_ns_lbads(NvmeNamespace *ns)
+{
+ return nvme_ns_lbaf(ns)->ds;
+}
+
#define TYPE_NVME "nvme"
#define NVME(obj) \
OBJECT_CHECK(NvmeCtrl, (obj), TYPE_NVME)
@@ -101,4 +112,9 @@ typedef struct NvmeCtrl {
NvmeIdCtrl id_ctrl;
} NvmeCtrl;
+static inline uint64_t nvme_ns_nlbas(NvmeCtrl *n, NvmeNamespace *ns)
+{
+ return n->ns_size >> nvme_ns_lbads(ns);
+}
+
#endif /* HW_NVME_H */
--
2.26.0
- Re: [PATCH v2 13/16] nvme: factor out namespace setup, (continued)
Re: [PATCH v2 13/16] nvme: factor out namespace setup, Maxim Levitsky, 2020/04/21
[PATCH v2 11/16] nvme: factor out block backend setup, Klaus Jensen, 2020/04/15
[PATCH v2 16/16] nvme: factor out controller identify setup, Klaus Jensen, 2020/04/15
[PATCH v2 12/16] nvme: add namespace helpers,
Klaus Jensen <=
[PATCH v2 14/16] nvme: factor out pci setup, Klaus Jensen, 2020/04/15
[PATCH v2 15/16] nvme: factor out cmb setup, Klaus Jensen, 2020/04/15
Re: [PATCH v2 00/16] nvme: refactoring and cleanups, no-reply, 2020/04/15
Re: [PATCH v2 00/16] nvme: refactoring and cleanups, Klaus Birkelund Jensen, 2020/04/20
Re: [PATCH v2 00/16] nvme: refactoring and cleanups, Keith Busch, 2020/04/20