Lines Matching refs:ctrlr
63 static void *nvd_new_disk(struct nvme_namespace *ns, void *ctrlr);
65 static void *nvd_new_controller(struct nvme_controller *ctrlr);
66 static void nvd_controller_fail(void *ctrlr);
76 struct nvd_controller *ctrlr; member
96 struct nvme_controller *ctrlr; member
166 struct nvd_controller *ctrlr; in nvd_unload() local
173 while ((ctrlr = TAILQ_FIRST(&ctrlr_head)) != NULL) { in nvd_unload()
174 TAILQ_REMOVE(&ctrlr_head, ctrlr, tailq); in nvd_unload()
175 TAILQ_FOREACH(ndisk, &ctrlr->disk_head, ctrlr_tailq) in nvd_unload()
177 while (!TAILQ_EMPTY(&ctrlr->disk_head)) in nvd_unload()
178 msleep(&ctrlr->disk_head, &nvd_lock, 0, "nvd_unload",0); in nvd_unload()
179 free(ctrlr, M_NVD); in nvd_unload()
273 TAILQ_REMOVE(&ndisk->ctrlr->disk_head, ndisk, ctrlr_tailq); in nvd_gonecb()
274 if (TAILQ_EMPTY(&ndisk->ctrlr->disk_head)) in nvd_gonecb()
275 wakeup(&ndisk->ctrlr->disk_head); in nvd_gonecb()
398 nvd_new_controller(struct nvme_controller *ctrlr) in nvd_new_controller() argument
405 nvd_ctrlr->ctrlr = ctrlr; in nvd_new_controller()
420 struct nvd_controller *ctrlr = ctrlr_arg; in nvd_new_disk() local
421 device_t dev = ctrlr->ctrlr->dev; in nvd_new_disk()
425 ndisk->ctrlr = ctrlr; in nvd_new_disk()
445 TAILQ_INSERT_TAIL(&ctrlr->disk_head, ndisk, ctrlr_tailq); in nvd_new_disk()
490 if (ctrlr->ctrlr->quirks & QUIRK_AHCI) in nvd_new_disk()
514 struct nvd_controller *ctrlr = ctrlr_arg; in nvd_controller_fail() local
518 TAILQ_REMOVE(&ctrlr_head, ctrlr, tailq); in nvd_controller_fail()
519 TAILQ_FOREACH(ndisk, &ctrlr->disk_head, ctrlr_tailq) in nvd_controller_fail()
521 while (!TAILQ_EMPTY(&ctrlr->disk_head)) in nvd_controller_fail()
522 msleep(&ctrlr->disk_head, &nvd_lock, 0, "nvd_fail", 0); in nvd_controller_fail()
524 free(ctrlr, M_NVD); in nvd_controller_fail()