aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/nvme/nvme.c5
-rw-r--r--sys/dev/nvme/nvme_ctrlr.c19
-rw-r--r--sys/dev/nvme/nvme_private.h3
3 files changed, 3 insertions, 24 deletions
diff --git a/sys/dev/nvme/nvme.c b/sys/dev/nvme/nvme.c
index 3429bb29aefc..f601006b8661 100644
--- a/sys/dev/nvme/nvme.c
+++ b/sys/dev/nvme/nvme.c
@@ -298,11 +298,6 @@ nvme_detach (device_t dev)
struct nvme_namespace *ns;
int i;
- if (ctrlr->taskqueue) {
- taskqueue_drain(ctrlr->taskqueue, &ctrlr->task);
- taskqueue_free(ctrlr->taskqueue);
- }
-
for (i = 0; i < NVME_MAX_NAMESPACES; i++) {
ns = &ctrlr->ns[i];
if (ns->cdev)
diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c
index 94987e272b70..f3514a4e897c 100644
--- a/sys/dev/nvme/nvme_ctrlr.c
+++ b/sys/dev/nvme/nvme_ctrlr.c
@@ -619,10 +619,12 @@ err:
}
static void
-nvme_ctrlr_intx_task(void *arg, int pending)
+nvme_ctrlr_intx_handler(void *arg)
{
struct nvme_controller *ctrlr = arg;
+ nvme_mmio_write_4(ctrlr, intms, 1);
+
nvme_qpair_process_completions(&ctrlr->adminq);
if (ctrlr->ioq[0].cpl)
@@ -631,15 +633,6 @@ nvme_ctrlr_intx_task(void *arg, int pending)
nvme_mmio_write_4(ctrlr, intmc, 1);
}
-static void
-nvme_ctrlr_intx_handler(void *arg)
-{
- struct nvme_controller *ctrlr = arg;
-
- nvme_mmio_write_4(ctrlr, intms, 1);
- taskqueue_enqueue_fast(ctrlr->taskqueue, &ctrlr->task);
-}
-
static int
nvme_ctrlr_configure_intx(struct nvme_controller *ctrlr)
{
@@ -665,12 +658,6 @@ nvme_ctrlr_configure_intx(struct nvme_controller *ctrlr)
return (ENOMEM);
}
- TASK_INIT(&ctrlr->task, 0, nvme_ctrlr_intx_task, ctrlr);
- ctrlr->taskqueue = taskqueue_create_fast("nvme_taskq", M_NOWAIT,
- taskqueue_thread_enqueue, &ctrlr->taskqueue);
- taskqueue_start_threads(&ctrlr->taskqueue, 1, PI_NET,
- "%s intx taskq", device_get_nameunit(ctrlr->dev));
-
return (0);
}
diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h
index 00cd04b54845..e811901ad18d 100644
--- a/sys/dev/nvme/nvme_private.h
+++ b/sys/dev/nvme/nvme_private.h
@@ -36,7 +36,6 @@
#include <sys/mutex.h>
#include <sys/rman.h>
#include <sys/systm.h>
-#include <sys/taskqueue.h>
#include <vm/uma.h>
@@ -222,8 +221,6 @@ struct nvme_controller {
int rid;
struct resource *res;
void *tag;
- struct task task;
- struct taskqueue *taskqueue;
bus_dma_tag_t hw_desc_tag;
bus_dmamap_t hw_desc_map;