diff options
author | jimharris <jimharris@FreeBSD.org> | 2014-05-07 17:02:15 +0000 |
---|---|---|
committer | jimharris <jimharris@FreeBSD.org> | 2014-05-07 17:02:15 +0000 |
commit | d510ab88e7797e2b19d8bc05520d40af225c76da (patch) | |
tree | 37debfad83a96329026b5744fba16d1d8da54e94 /sys/dev | |
parent | 9063c980978470115f6e374116c092766d15f247 (diff) | |
download | FreeBSD-src-d510ab88e7797e2b19d8bc05520d40af225c76da.zip FreeBSD-src-d510ab88e7797e2b19d8bc05520d40af225c76da.tar.gz |
MFC r263278:
nvme: NVMe specification dictates 4-byte alignment for PRPs (not 8).
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/nvme/nvme_qpair.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index e6b1e0a8c..1ca78cf 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -498,8 +498,9 @@ nvme_qpair_construct(struct nvme_qpair *qpair, uint32_t id, mtx_init(&qpair->lock, "nvme qpair lock", NULL, MTX_DEF); + /* Note: NVMe PRP format is restricted to 4-byte alignment. */ bus_dma_tag_create(bus_get_dma_tag(ctrlr->dev), - sizeof(uint64_t), PAGE_SIZE, BUS_SPACE_MAXADDR, + 4, PAGE_SIZE, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, NVME_MAX_XFER_SIZE, (NVME_MAX_XFER_SIZE/PAGE_SIZE)+1, PAGE_SIZE, 0, NULL, NULL, &qpair->dma_tag); |