From: Logan Gunthorpe Date: Mon, 12 Aug 2019 17:30:36 +0000 (-0600) Subject: PCI/P2PDMA: Add provider's pci_dev to pci_p2pdma_pagemap struct X-Git-Tag: for-linus-2019-09-27~23^2~13^2~12 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=0afea3814358c97e2964710ba16fbb0b54ceda0e;p=linux-block.git 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 Signed-off-by: Bjorn Helgaas Reviewed-by: Christoph Hellwig --- 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);