summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLogan Gunthorpe <logang@deltatee.com>2019-08-12 19:30:36 +0200
committerBjorn Helgaas <bhelgaas@google.com>2019-08-16 15:40:05 +0200
commit0afea3814358c97e2964710ba16fbb0b54ceda0e (patch)
treeea1c2238b9be24c8b9f06f64057abfec3a33cf03 /drivers
parentPCI/P2PDMA: Introduce private pagemap structure (diff)
downloadlinux-0afea3814358c97e2964710ba16fbb0b54ceda0e.tar.xz
linux-0afea3814358c97e2964710ba16fbb0b54ceda0e.zip
PCI/P2PDMA: Add provider's pci_dev to pci_p2pdma_pagemap struct
The provider will be needed to figure out how to map a device. Link: https://lore.kernel.org/r/20190730163545.4915-3-logang@deltatee.com Link: https://lore.kernel.org/r/20190812173048.9186-3-logang@deltatee.com Signed-off-by: Logan Gunthorpe <logang@deltatee.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/pci/p2pdma.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pci/p2pdma.c b/drivers/pci/p2pdma.c
index 03e9c887bdfb..93fbda14f4a9 100644
--- a/drivers/pci/p2pdma.c
+++ b/drivers/pci/p2pdma.c
@@ -27,6 +27,7 @@ struct pci_p2pdma {
struct pci_p2pdma_pagemap {
struct dev_pagemap pgmap;
+ struct pci_dev *provider;
u64 bus_offset;
};
@@ -178,6 +179,7 @@ int pci_p2pdma_add_resource(struct pci_dev *pdev, int bar, size_t size,
pgmap->res.flags = pci_resource_flags(pdev, bar);
pgmap->type = MEMORY_DEVICE_PCI_P2PDMA;
+ p2p_pgmap->provider = pdev;
p2p_pgmap->bus_offset = pci_bus_address(pdev, bar) -
pci_resource_start(pdev, bar);