linux/drivers/nvme/host
Christoph Hellwig 4033f35d17 nvme-pci: use dma memory for the host memory buffer descriptors
The NVMe 1.3 specification says in section 5.21.1.13:

"After a successful completion of a Set Features enabling the host memory
 buffer, the host shall not write to the associated host memory region,
 buffer size, or descriptor list until the host memory buffer has been
 disabled."

While this doesn't state that the descriptor list must remain accessible
to the device it certainly implies it must remaing readable by the device.

So switch to a dma coherent allocation for the descriptor list just to be
safe - it's not like the cost for it matters compared to the actual
memory buffers.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Fixes: 87ad72a59a ("nvme-pci: implement host memory buffer support")
2017-08-30 14:46:16 +02:00
..
core.c nvme: fix directive command numd calculation 2017-08-10 19:53:44 +02:00
fabrics.c nvme-fabrics: fix reporting of unrecognized options 2017-08-17 18:48:54 +02:00
fabrics.h nvme: read the subsystem NQN from Identify Controller 2017-06-28 08:14:13 -06:00
fc.c nvme-fc: revise TRADDR parsing 2017-07-25 18:05:25 +02:00
Kconfig nvme: Remove SCSI translations 2017-06-28 08:14:13 -06:00
lightnvm.c lightnvm: propagate right error code to target 2017-06-26 16:24:53 -06:00
Makefile nvme: Makefile: remove dead build rule 2017-06-29 09:43:23 -06:00
nvme.h nvme: split nvme_uninit_ctrl into stop and uninit 2017-07-06 09:49:42 +03:00
pci.c nvme-pci: use dma memory for the host memory buffer descriptors 2017-08-30 14:46:16 +02:00
rdma.c nvme-rdma: default MR page size to 4k 2017-08-30 14:46:10 +02:00