diff options
author | Warner Losh <imp@FreeBSD.org> | 2017-08-29 15:29:57 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2017-08-29 15:29:57 +0000 |
commit | 519772814de2f8935fa2c259f5e4e66b28e1e4a7 (patch) | |
tree | 1e437edcd63b228794d5f45a79222fcbbf198f6b /sys/dev/nvme/nvme_qpair.c | |
parent | 850564b948d685510e24f5869265298a0c830fa1 (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.c | 8 |
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; |