git: 889d10d5b120 - main - nvme: Replace bus_space_[read|write]_4 with bus_[read|write]_4
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 16 Mar 2026 19:44:51 UTC
The branch main has been updated by ziaee:
URL: https://cgit.FreeBSD.org/src/commit/?id=889d10d5b12050b4b3923917b5edeac85e8ca706
commit 889d10d5b12050b4b3923917b5edeac85e8ca706
Author: Matt Delco <delco@google.com>
AuthorDate: 2026-03-10 20:12:56 +0000
Commit: Alexander Ziaee <ziaee@FreeBSD.org>
CommitDate: 2026-03-16 17:38:27 +0000
nvme: Replace bus_space_[read|write]_4 with bus_[read|write]_4
The goal this change is to remove the use of the tag and handle
needed by bus_space_[read|write]_4.
Fixes: b3d9e5013f3e5 (Don't active memory space)
Requested by: jhb
Reviewed by: gallatin, imp, jhb, jrtc27
Differential Revision: https://reviews.freebsd.org/D55818
---
sys/dev/nvme/nvme_ahci.c | 2 --
sys/dev/nvme/nvme_pci.c | 3 ---
sys/dev/nvme/nvme_private.h | 17 ++++++-----------
sys/dev/nvme/nvme_qpair.c | 7 +++----
4 files changed, 9 insertions(+), 20 deletions(-)
diff --git a/sys/dev/nvme/nvme_ahci.c b/sys/dev/nvme/nvme_ahci.c
index 8b3b6855bb62..8be3887d835e 100644
--- a/sys/dev/nvme/nvme_ahci.c
+++ b/sys/dev/nvme/nvme_ahci.c
@@ -77,8 +77,6 @@ nvme_ahci_attach(device_t dev)
ret = ENOMEM;
goto bad;
}
- ctrlr->bus_tag = rman_get_bustag(ctrlr->resource);
- ctrlr->bus_handle = rman_get_bushandle(ctrlr->resource);
/* Allocate and setup IRQ */
ctrlr->rid = 0;
diff --git a/sys/dev/nvme/nvme_pci.c b/sys/dev/nvme/nvme_pci.c
index fa5a88844f92..55cba580d6ca 100644
--- a/sys/dev/nvme/nvme_pci.c
+++ b/sys/dev/nvme/nvme_pci.c
@@ -223,9 +223,6 @@ nvme_ctrlr_allocate_bar(struct nvme_controller *ctrlr)
}
}
- ctrlr->bus_tag = rman_get_bustag(ctrlr->resource);
- ctrlr->bus_handle = rman_get_bushandle(ctrlr->resource);
-
return (0);
}
diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h
index 95c38fe2e39e..32c8cf91c1db 100644
--- a/sys/dev/nvme/nvme_private.h
+++ b/sys/dev/nvme/nvme_private.h
@@ -225,8 +225,6 @@ struct nvme_controller {
#define QUIRK_INTEL_ALIGNMENT 4 /* Pre NVMe 1.3 performance alignment */
#define QUIRK_AHCI 8 /* Attached via AHCI redirect */
- bus_space_tag_t bus_tag;
- bus_space_handle_t bus_handle;
int resource_id;
struct resource *resource;
@@ -328,20 +326,17 @@ struct nvme_controller {
offsetof(struct nvme_registers, reg)
#define nvme_mmio_read_4(sc, reg) \
- bus_space_read_4((sc)->bus_tag, (sc)->bus_handle, \
- nvme_mmio_offsetof(reg))
+ bus_read_4((sc)->resource, nvme_mmio_offsetof(reg))
#define nvme_mmio_write_4(sc, reg, val) \
- bus_space_write_4((sc)->bus_tag, (sc)->bus_handle, \
- nvme_mmio_offsetof(reg), val)
+ bus_write_4((sc)->resource, nvme_mmio_offsetof(reg), val)
#define nvme_mmio_write_8(sc, reg, val) \
do { \
- bus_space_write_4((sc)->bus_tag, (sc)->bus_handle, \
- nvme_mmio_offsetof(reg), val & 0xFFFFFFFF); \
- bus_space_write_4((sc)->bus_tag, (sc)->bus_handle, \
- nvme_mmio_offsetof(reg)+4, \
- (val & 0xFFFFFFFF00000000ULL) >> 32); \
+ bus_write_4((sc)->resource, nvme_mmio_offsetof(reg), \
+ (val) & 0xFFFFFFFF); \
+ bus_write_4((sc)->resource, nvme_mmio_offsetof(reg) + 4, \
+ ((val) & 0xFFFFFFFF00000000ULL) >> 32); \
} while (0);
#define nvme_printf(ctrlr, fmt, args...) \
diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c
index f7dc231d74df..e31bf818ed35 100644
--- a/sys/dev/nvme/nvme_qpair.c
+++ b/sys/dev/nvme/nvme_qpair.c
@@ -476,8 +476,8 @@ _nvme_qpair_process_completions(struct nvme_qpair *qpair)
}
if (done) {
- bus_space_write_4(qpair->ctrlr->bus_tag, qpair->ctrlr->bus_handle,
- qpair->cq_hdbl_off, qpair->cq_head);
+ bus_write_4(qpair->ctrlr->resource, qpair->cq_hdbl_off,
+ qpair->cq_head);
}
return (done);
@@ -1068,8 +1068,7 @@ nvme_qpair_submit_tracker(struct nvme_qpair *qpair, struct nvme_tracker *tr)
bus_dmamap_sync(qpair->dma_tag, qpair->queuemem_map,
BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
- bus_space_write_4(ctrlr->bus_tag, ctrlr->bus_handle,
- qpair->sq_tdbl_off, qpair->sq_tail);
+ bus_write_4(ctrlr->resource, qpair->sq_tdbl_off, qpair->sq_tail);
qpair->num_cmds++;
}