git: 4bfe52650c14 - main - nvme: share one routine between Delete I/O CQ and Delete I/O SQ
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 25 Sep 2026 21:43:20 UTC
The branch main has been updated by seuros:
URL: https://cgit.FreeBSD.org/src/commit/?id=4bfe52650c140694505dd136f24bb3649153124a
commit 4bfe52650c140694505dd136f24bb3649153124a
Author: Abdelkader Boudih <seuros@FreeBSD.org>
AuthorDate: 2026-09-25 21:42:42 +0000
Commit: Abdelkader Boudih <seuros@FreeBSD.org>
CommitDate: 2026-09-25 21:42:42 +0000
nvme: share one routine between Delete I/O CQ and Delete I/O SQ
Reviewed by: imp, adrian
Differential Revision: https://reviews.freebsd.org/D60021
---
sys/dev/nvme/nvme_ctrlr_cmd.c | 36 +++++++++++++++---------------------
1 file changed, 15 insertions(+), 21 deletions(-)
diff --git a/sys/dev/nvme/nvme_ctrlr_cmd.c b/sys/dev/nvme/nvme_ctrlr_cmd.c
index 728b49f5e41d..27a2848038d5 100644
--- a/sys/dev/nvme/nvme_ctrlr_cmd.c
+++ b/sys/dev/nvme/nvme_ctrlr_cmd.c
@@ -121,9 +121,9 @@ nvme_ctrlr_cmd_create_io_sq(struct nvme_controller *ctrlr,
nvme_ctrlr_submit_admin_request(ctrlr, req);
}
-void
-nvme_ctrlr_cmd_delete_io_cq(struct nvme_controller *ctrlr,
- struct nvme_qpair *io_que, nvme_cb_fn_t cb_fn, void *cb_arg)
+static void
+nvme_ctrlr_cmd_delete_io_queue(struct nvme_controller *ctrlr,
+ struct nvme_qpair *io_que, uint8_t opc, nvme_cb_fn_t cb_fn, void *cb_arg)
{
struct nvme_request *req;
struct nvme_command *cmd;
@@ -131,11 +131,10 @@ nvme_ctrlr_cmd_delete_io_cq(struct nvme_controller *ctrlr,
req = nvme_allocate_request_null(M_WAITOK, cb_fn, cb_arg);
cmd = &req->cmd;
- cmd->opc = NVME_OPC_DELETE_IO_CQ;
+ cmd->opc = opc;
/*
- * TODO: create a delete io completion queue command data
- * structure.
+ * TODO: create a delete io queue command data structure.
*/
cmd->cdw10 = htole32(io_que->id);
@@ -143,24 +142,19 @@ nvme_ctrlr_cmd_delete_io_cq(struct nvme_controller *ctrlr,
}
void
-nvme_ctrlr_cmd_delete_io_sq(struct nvme_controller *ctrlr,
+nvme_ctrlr_cmd_delete_io_cq(struct nvme_controller *ctrlr,
struct nvme_qpair *io_que, nvme_cb_fn_t cb_fn, void *cb_arg)
{
- struct nvme_request *req;
- struct nvme_command *cmd;
-
- req = nvme_allocate_request_null(M_WAITOK, cb_fn, cb_arg);
-
- cmd = &req->cmd;
- cmd->opc = NVME_OPC_DELETE_IO_SQ;
-
- /*
- * TODO: create a delete io submission queue command data
- * structure.
- */
- cmd->cdw10 = htole32(io_que->id);
+ nvme_ctrlr_cmd_delete_io_queue(ctrlr, io_que, NVME_OPC_DELETE_IO_CQ,
+ cb_fn, cb_arg);
+}
- nvme_ctrlr_submit_admin_request(ctrlr, req);
+void
+nvme_ctrlr_cmd_delete_io_sq(struct nvme_controller *ctrlr,
+ struct nvme_qpair *io_que, nvme_cb_fn_t cb_fn, void *cb_arg)
+{
+ nvme_ctrlr_cmd_delete_io_queue(ctrlr, io_que, NVME_OPC_DELETE_IO_SQ,
+ cb_fn, cb_arg);
}
void