On 2019-07-24 12:32 a.m., Christoph Hellwig wrote: > On Mon, Jul 22, 2019 at 05:08:52PM -0600, Logan Gunthorpe wrote: >> diff --git a/drivers/pci/p2pdma.c b/drivers/pci/p2pdma.c >> index 143e11d2a5c3..70c262b7c731 100644 >> --- a/drivers/pci/p2pdma.c >> +++ b/drivers/pci/p2pdma.c >> @@ -168,6 +168,7 @@ int pci_p2pdma_add_resource(struct pci_dev *pdev, int bar, size_t size, >> pgmap->res.end = pgmap->res.start + size - 1; >> pgmap->res.flags = pci_resource_flags(pdev, bar); >> pgmap->type = MEMORY_DEVICE_PCI_P2PDMA; >> + pgmap->pci_p2pdma_provider = pdev; >> pgmap->pci_p2pdma_bus_offset = pci_bus_address(pdev, bar) - >> pci_resource_start(pdev, bar); > > I think we need to bite the bullet and move the PCIe P2P specific > information out of struct dev_pagemap and into a pci-specific structure > that embedds struct dev_pagemap. OK, I was going to do that, but you just removed the p2p specific page map. ;) I'll change this for a v2. Logan