aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/nvme/nvme_qpair.c
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2017-08-29 15:29:57 +0000
committerWarner Losh <imp@FreeBSD.org>2017-08-29 15:29:57 +0000
commit519772814de2f8935fa2c259f5e4e66b28e1e4a7 (patch)
tree1e437edcd63b228794d5f45a79222fcbbf198f6b /sys/dev/nvme/nvme_qpair.c
parent850564b948d685510e24f5869265298a0c830fa1 (diff)
Add CAM/NVMe support for CAM_DATA_SG
This adds support in pass(4) for data to be described with a scatter-gather list (sglist) to augment the existing (single) virtual address. Differential Revision: https://reviews.freebsd.org/D11361 Submitted by: Chuck Tuffli Reviewed by: imp@, scottl@, kenm@
Notes
Notes: svn path=/head/; revision=322997
Diffstat (limited to 'sys/dev/nvme/nvme_qpair.c')
-rw-r--r--sys/dev/nvme/nvme_qpair.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c
index 299117128782..a3eb90c9bd2c 100644
--- a/sys/dev/nvme/nvme_qpair.c
+++ b/sys/dev/nvme/nvme_qpair.c
@@ -851,6 +851,14 @@ _nvme_qpair_submit_request(struct nvme_qpair *qpair, struct nvme_request *req)
"bus_dmamap_load_bio returned 0x%x!\n", err);
break;
#endif
+ case NVME_REQUEST_CCB:
+ err = bus_dmamap_load_ccb(tr->qpair->dma_tag_payload,
+ tr->payload_dma_map, req->u.payload,
+ nvme_payload_map, tr, 0);
+ if (err != 0)
+ nvme_printf(qpair->ctrlr,
+ "bus_dmamap_load_ccb returned 0x%x!\n", err);
+ break;
default:
panic("unknown nvme request type 0x%x\n", req->type);
break;