diff options
author | jimharris <jimharris@FreeBSD.org> | 2015-05-14 21:28:46 +0000 |
---|---|---|
committer | jimharris <jimharris@FreeBSD.org> | 2015-05-14 21:28:46 +0000 |
commit | aec45f097e50ea0c6c2a25cad73415fe294b5e4a (patch) | |
tree | 355f847478b8310d9d46d24644008a319b2dcac9 /sys/dev/nvme/nvme_private.h | |
parent | 701899b4c60bea7ac2e6131cebeb547762f23317 (diff) | |
download | FreeBSD-src-aec45f097e50ea0c6c2a25cad73415fe294b5e4a.zip FreeBSD-src-aec45f097e50ea0c6c2a25cad73415fe294b5e4a.tar.gz |
MFC r281281, r281285:
nvme: create separate DMA tag for non-payload DMA buffers
Submission and completion queue memory need to use a
separate DMA tag for mappings than payload buffers,
to ensure mappings remain contiguous even with DMAR
enabled.
Sponsored by: Intel
Diffstat (limited to 'sys/dev/nvme/nvme_private.h')
-rw-r--r-- | sys/dev/nvme/nvme_private.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/nvme/nvme_private.h b/sys/dev/nvme/nvme_private.h index fa9cb80..86bcb86 100644 --- a/sys/dev/nvme/nvme_private.h +++ b/sys/dev/nvme/nvme_private.h @@ -211,6 +211,7 @@ struct nvme_qpair { struct nvme_completion *cpl; bus_dma_tag_t dma_tag; + bus_dma_tag_t dma_tag_payload; bus_dmamap_t cmd_dma_map; uint64_t cmd_bus_addr; @@ -491,6 +492,8 @@ nvme_single_map(void *arg, bus_dma_segment_t *seg, int nseg, int error) { uint64_t *bus_addr = (uint64_t *)arg; + if (error != 0) + printf("nvme_single_map err %d\n", error); *bus_addr = seg[0].ds_addr; } |