Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/nvme/nvme_ctrlr.c
Show First 20 Lines • Show All 763 Lines • ▼ Show 20 Lines | nvme_ctrlr_construct_and_submit_aer(struct nvme_controller *ctrlr, | ||||
req = nvme_allocate_request_null(nvme_ctrlr_async_event_cb, aer); | req = nvme_allocate_request_null(nvme_ctrlr_async_event_cb, aer); | ||||
aer->req = req; | aer->req = req; | ||||
/* | /* | ||||
* Disable timeout here, since asynchronous event requests should by | * Disable timeout here, since asynchronous event requests should by | ||||
* nature never be timed out. | * nature never be timed out. | ||||
*/ | */ | ||||
req->timeout = FALSE; | req->timeout = FALSE; | ||||
req->cmd.opc_fuse = NVME_CMD_SET_OPC(NVME_OPC_ASYNC_EVENT_REQUEST); | req->cmd.opc = NVME_OPC_ASYNC_EVENT_REQUEST; | ||||
nvme_ctrlr_submit_admin_request(ctrlr, req); | nvme_ctrlr_submit_admin_request(ctrlr, req); | ||||
} | } | ||||
static void | static void | ||||
nvme_ctrlr_configure_aer(struct nvme_controller *ctrlr) | nvme_ctrlr_configure_aer(struct nvme_controller *ctrlr) | ||||
{ | { | ||||
struct nvme_completion_poll_status status; | struct nvme_completion_poll_status status; | ||||
struct nvme_async_event_request *aer; | struct nvme_async_event_request *aer; | ||||
▲ Show 20 Lines • Show All 287 Lines • ▼ Show 20 Lines | #endif | ||||
nvme_pt_done, pt); | nvme_pt_done, pt); | ||||
} else | } else | ||||
req = nvme_allocate_request_vaddr(pt->buf, pt->len, | req = nvme_allocate_request_vaddr(pt->buf, pt->len, | ||||
nvme_pt_done, pt); | nvme_pt_done, pt); | ||||
} else | } else | ||||
req = nvme_allocate_request_null(nvme_pt_done, pt); | req = nvme_allocate_request_null(nvme_pt_done, pt); | ||||
/* Assume userspace already converted to little-endian */ | /* Assume userspace already converted to little-endian */ | ||||
req->cmd.opc_fuse = pt->cmd.opc_fuse; | req->cmd.opc = pt->cmd.opc; | ||||
req->cmd.fuse = pt->cmd.fuse; | |||||
req->cmd.cdw10 = pt->cmd.cdw10; | req->cmd.cdw10 = pt->cmd.cdw10; | ||||
req->cmd.cdw11 = pt->cmd.cdw11; | req->cmd.cdw11 = pt->cmd.cdw11; | ||||
req->cmd.cdw12 = pt->cmd.cdw12; | req->cmd.cdw12 = pt->cmd.cdw12; | ||||
req->cmd.cdw13 = pt->cmd.cdw13; | req->cmd.cdw13 = pt->cmd.cdw13; | ||||
req->cmd.cdw14 = pt->cmd.cdw14; | req->cmd.cdw14 = pt->cmd.cdw14; | ||||
req->cmd.cdw15 = pt->cmd.cdw15; | req->cmd.cdw15 = pt->cmd.cdw15; | ||||
req->cmd.nsid = htole32(nsid); | req->cmd.nsid = htole32(nsid); | ||||
▲ Show 20 Lines • Show All 330 Lines • Show Last 20 Lines |