summaryrefslogtreecommitdiffstats
path: root/sys/dev/nvme/nvme_private.h
diff options
context:
space:
mode:
authorjimharris <jimharris@FreeBSD.org>2015-05-14 21:28:46 +0000
committerjimharris <jimharris@FreeBSD.org>2015-05-14 21:28:46 +0000
commitaec45f097e50ea0c6c2a25cad73415fe294b5e4a (patch)
tree355f847478b8310d9d46d24644008a319b2dcac9 /sys/dev/nvme/nvme_private.h
parent701899b4c60bea7ac2e6131cebeb547762f23317 (diff)
downloadFreeBSD-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.h3
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;
}
OpenPOWER on IntegriCloud