summaryrefslogtreecommitdiffstats
path: root/drivers/nvme/target
diff options
context:
space:
mode:
authorLogan Gunthorpe <logang@deltatee.com>2018-10-04 15:27:43 -0600
committerBjorn Helgaas <bhelgaas@google.com>2018-10-17 12:18:21 -0500
commit0f238ff5cc92554fe8ddc6c3776386f31a4d38fa (patch)
tree9f8640a038ba227ba7db1b7ccb0fe9cbf410a982 /drivers/nvme/target
parent50b7d22079f74571a0fa73420586a7ad1ffebe2f (diff)
downloadlinux-0f238ff5cc92554fe8ddc6c3776386f31a4d38fa.tar.gz
linux-0f238ff5cc92554fe8ddc6c3776386f31a4d38fa.tar.bz2
linux-0f238ff5cc92554fe8ddc6c3776386f31a4d38fa.zip
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>
Diffstat (limited to 'drivers/nvme/target')
0 files changed, 0 insertions, 0 deletions