linux/drivers/nvme/host
Logan Gunthorpe 0f238ff5cc nvme-pci: Use PCI p2pmem subsystem to manage the CMB
Register the CMB buffer as p2pmem and use the appropriate allocation
functions to create and destroy the IO submission queues.

If the CMB supports WDS and RDS, publish it for use as P2P memory by other
devices.

Kernels without CONFIG_PCI_P2PDMA will also no longer support NVMe CMB.
However, seeing the main use-cases for the CMB is P2P operations, this
seems like a reasonable dependency.

We drop the __iomem safety on the buffer seeing that, by convention, it's
safe to directly access memory mapped by memremap()/devm_memremap_pages().
Architectures where this is not safe will not be supported by memremap()
and therefore will not support PCI P2P and have no support for CMB.

Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2018-10-17 12:18:21 -05:00
..
core.c nvme: set gendisk read only based on nsattr 2018-08-08 11:55:49 +02:00
fabrics.c for-4.19/block-20180812 2018-08-14 10:23:25 -07:00
fabrics.h nvme: if_ready checks to fail io to deleting controller 2018-07-24 13:44:40 +02:00
fault_inject.c nvme: Add fault injection feature 2018-03-26 08:53:43 -06:00
fc.c for-4.19/block-20180812 2018-08-14 10:23:25 -07:00
Kconfig IB: Revert "remove redundant INFINIBAND kconfig dependencies" 2018-05-28 10:40:16 -06:00
lightnvm.c lightnvm: remove minor version check for 2.0 2018-08-05 19:36:09 -06:00
Makefile nvme: Add fault injection feature 2018-03-26 08:53:43 -06:00
multipath.c nvme: fixup crash on failed discovery 2018-08-07 14:40:27 +02:00
nvme.h Merge branch 'nvme-4.19' of git://git.infradead.org/nvme into for-4.19/block2 2018-08-05 19:34:09 -06:00
pci.c nvme-pci: Use PCI p2pmem subsystem to manage the CMB 2018-10-17 12:18:21 -05:00
rdma.c Merge branch 'linus/master' into rdma.git for-next 2018-08-16 14:21:29 -06:00
trace.c nvme: add disk name to trace events 2018-07-24 15:55:48 +02:00
trace.h nvme: add disk name to trace events 2018-07-24 15:55:48 +02:00