[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH for-7.0 2/4] hw/nvme: add zone attribute get/set helpers
From: |
Klaus Jensen |
Subject: |
[PATCH for-7.0 2/4] hw/nvme: add zone attribute get/set helpers |
Date: |
Thu, 25 Nov 2021 08:37:33 +0100 |
From: Klaus Jensen <k.jensen@samsung.com>
Add some get/set helpers for zone attributes.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
---
hw/nvme/ctrl.c | 4 ++--
include/block/nvme.h | 4 ++++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 489d586ab9d7..7ac6ec50a0d1 100644
--- a/hw/nvme/ctrl.c
+++ b/hw/nvme/ctrl.c
@@ -295,7 +295,7 @@ static void nvme_assign_zone_state(NvmeNamespace *ns,
NvmeZone *zone,
case NVME_ZONE_STATE_READ_ONLY:
break;
default:
- zone->d.za = 0;
+ NVME_ZA_CLEAR_ALL(zone->d.za);
}
}
@@ -3356,7 +3356,7 @@ static uint16_t nvme_set_zd_ext(NvmeNamespace *ns,
NvmeZone *zone)
return status;
}
nvme_aor_inc_active(ns);
- zone->d.za |= NVME_ZA_ZD_EXT_VALID;
+ NVME_ZA_SET(zone->d.za, NVME_ZA_ZD_EXT_VALID);
nvme_assign_zone_state(ns, zone, NVME_ZONE_STATE_CLOSED);
return NVME_SUCCESS;
}
diff --git a/include/block/nvme.h b/include/block/nvme.h
index 2ee227760265..2b8b906466ab 100644
--- a/include/block/nvme.h
+++ b/include/block/nvme.h
@@ -1407,6 +1407,10 @@ enum NvmeZoneAttr {
NVME_ZA_ZD_EXT_VALID = 1 << 7,
};
+#define NVME_ZA_SET(za, attrs) ((za) |= (attrs))
+#define NVME_ZA_CLEAR(za, attrs) ((za) &= ~(attrs))
+#define NVME_ZA_CLEAR_ALL(za) ((za) = 0x0)
+
typedef struct QEMU_PACKED NvmeZoneReportHeader {
uint64_t nr_zones;
uint8_t rsvd[56];
--
2.34.0