Lines Matching refs:npc

1362 	struct nvme_passthru_cmd *npc = arg;  in nvme_npc_done()  local
1363 struct mtx *mtx = (void *)(uintptr_t)npc->metadata; in nvme_npc_done()
1365 npc->result = cpl->cdw0; /* cpl in host order by now */ in nvme_npc_done()
1367 npc->metadata = 0; in nvme_npc_done()
1368 wakeup(npc); in nvme_npc_done()
1376 struct nvme_passthru_cmd *npc, uint32_t nsid, bool is_user, bool is_admin) in nvme_ctrlr_linux_passthru_cmd() argument
1386 if (npc->metadata != 0 || npc->metadata_len != 0) in nvme_ctrlr_linux_passthru_cmd()
1389 if (npc->data_len > 0 && npc->addr != 0) { in nvme_ctrlr_linux_passthru_cmd()
1390 if (npc->data_len > ctrlr->max_xfer_size) { in nvme_ctrlr_linux_passthru_cmd()
1393 npc->data_len, ctrlr->max_xfer_size); in nvme_ctrlr_linux_passthru_cmd()
1402 if ((npc->opcode & 0x3) == 3) in nvme_ctrlr_linux_passthru_cmd()
1406 buf->b_iocmd = npc->opcode & 1 ? BIO_WRITE : BIO_READ; in nvme_ctrlr_linux_passthru_cmd()
1407 if (vmapbuf(buf, (void *)(uintptr_t)npc->addr, in nvme_ctrlr_linux_passthru_cmd()
1408 npc->data_len, 1) < 0) { in nvme_ctrlr_linux_passthru_cmd()
1413 npc->data_len, M_WAITOK, nvme_npc_done, npc); in nvme_ctrlr_linux_passthru_cmd()
1416 (void *)(uintptr_t)npc->addr, npc->data_len, in nvme_ctrlr_linux_passthru_cmd()
1417 M_WAITOK, nvme_npc_done, npc); in nvme_ctrlr_linux_passthru_cmd()
1419 req = nvme_allocate_request_null(M_WAITOK, nvme_npc_done, npc); in nvme_ctrlr_linux_passthru_cmd()
1421 req->cmd.opc = npc->opcode; in nvme_ctrlr_linux_passthru_cmd()
1422 req->cmd.fuse = npc->flags; in nvme_ctrlr_linux_passthru_cmd()
1423 req->cmd.rsvd2 = htole16(npc->cdw2); in nvme_ctrlr_linux_passthru_cmd()
1424 req->cmd.rsvd3 = htole16(npc->cdw3); in nvme_ctrlr_linux_passthru_cmd()
1425 req->cmd.cdw10 = htole32(npc->cdw10); in nvme_ctrlr_linux_passthru_cmd()
1426 req->cmd.cdw11 = htole32(npc->cdw11); in nvme_ctrlr_linux_passthru_cmd()
1427 req->cmd.cdw12 = htole32(npc->cdw12); in nvme_ctrlr_linux_passthru_cmd()
1428 req->cmd.cdw13 = htole32(npc->cdw13); in nvme_ctrlr_linux_passthru_cmd()
1429 req->cmd.cdw14 = htole32(npc->cdw14); in nvme_ctrlr_linux_passthru_cmd()
1430 req->cmd.cdw15 = htole32(npc->cdw15); in nvme_ctrlr_linux_passthru_cmd()
1434 mtx = mtx_pool_find(mtxpool_sleep, npc); in nvme_ctrlr_linux_passthru_cmd()
1435 npc->metadata = (uintptr_t) mtx; in nvme_ctrlr_linux_passthru_cmd()
1444 while (npc->metadata != 0) in nvme_ctrlr_linux_passthru_cmd()
1445 mtx_sleep(npc, mtx, PRIBIO, "nvme_npc", 0); in nvme_ctrlr_linux_passthru_cmd()
1496 struct nvme_passthru_cmd *npc = (struct nvme_passthru_cmd *)arg; in nvme_ctrlr_ioctl() local
1498 return (nvme_ctrlr_linux_passthru_cmd(ctrlr, npc, npc->nsid, true, in nvme_ctrlr_ioctl()