diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2018-10-20 12:45:33 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2018-10-20 12:45:33 -0400 |
commit | 1734715493e010d034ae8d65c9a228ee7ad24a08 (patch) | |
tree | 8e9bdb47355c40fe70f4d732656aebbe5d27b62e /include/linux/pci.h | |
parent | 0af6166395130b87713550c84c9518332f27cc28 (diff) | |
parent | c6925093d0b28329ad3a486f5b0345c2c192ae9a (diff) |
Merge branch 'pci/peer-to-peer'
- Add PCI support for peer-to-peer DMA (Logan Gunthorpe)
- Add sysfs group for PCI peer-to-peer memory statistics (Logan
Gunthorpe)
- Add PCI peer-to-peer DMA scatterlist mapping interface (Logan
Gunthorpe)
- Add PCI configfs/sysfs helpers for use by peer-to-peer users (Logan
Gunthorpe)
- Add PCI peer-to-peer DMA driver writer's documentation (Logan
Gunthorpe)
- Add block layer flag to indicate driver support for PCI peer-to-peer
DMA (Logan Gunthorpe)
- Map Infiniband scatterlists for peer-to-peer DMA if they contain P2P
memory (Logan Gunthorpe)
- Register nvme-pci CMB buffer as PCI peer-to-peer memory (Logan
Gunthorpe)
- Add nvme-pci support for PCI peer-to-peer memory in requests (Logan
Gunthorpe)
- Use PCI peer-to-peer memory in nvme (Stephen Bates, Steve Wise,
Christoph Hellwig, Logan Gunthorpe)
* pci/peer-to-peer:
nvmet: Optionally use PCI P2P memory
nvmet: Introduce helper functions to allocate and free request SGLs
nvme-pci: Add support for P2P memory in requests
nvme-pci: Use PCI p2pmem subsystem to manage the CMB
IB/core: Ensure we map P2P memory correctly in rdma_rw_ctx_[init|destroy]()
block: Add PCI P2P flag for request queue
PCI/P2PDMA: Add P2P DMA driver writer's documentation
docs-rst: Add a new directory for PCI documentation
PCI/P2PDMA: Introduce configfs/sysfs enable attribute helpers
PCI/P2PDMA: Add PCI p2pmem DMA mappings to adjust the bus offset
PCI/P2PDMA: Add sysfs group to display p2pmem stats
PCI/P2PDMA: Support peer-to-peer memory
Diffstat (limited to 'include/linux/pci.h')
-rw-r--r-- | include/linux/pci.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h index 7c4802de1e3a..f9e04c170301 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -281,6 +281,7 @@ struct pcie_link_state; | |||
281 | struct pci_vpd; | 281 | struct pci_vpd; |
282 | struct pci_sriov; | 282 | struct pci_sriov; |
283 | struct pci_ats; | 283 | struct pci_ats; |
284 | struct pci_p2pdma; | ||
284 | 285 | ||
285 | /* The pci_dev structure describes PCI devices */ | 286 | /* The pci_dev structure describes PCI devices */ |
286 | struct pci_dev { | 287 | struct pci_dev { |
@@ -441,6 +442,9 @@ struct pci_dev { | |||
441 | #ifdef CONFIG_PCI_PASID | 442 | #ifdef CONFIG_PCI_PASID |
442 | u16 pasid_features; | 443 | u16 pasid_features; |
443 | #endif | 444 | #endif |
445 | #ifdef CONFIG_PCI_P2PDMA | ||
446 | struct pci_p2pdma *p2pdma; | ||
447 | #endif | ||
444 | phys_addr_t rom; /* Physical address if not from BAR */ | 448 | phys_addr_t rom; /* Physical address if not from BAR */ |
445 | size_t romlen; /* Length if not from BAR */ | 449 | size_t romlen; /* Length if not from BAR */ |
446 | char *driver_override; /* Driver name to force a match */ | 450 | char *driver_override; /* Driver name to force a match */ |