mirror of https://gitee.com/openkylin/linux.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 <logang@deltatee.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
a6e6fe6549
commit
0afea38143
|
@ -27,6 +27,7 @@ struct pci_p2pdma {
|
||||||
|
|
||||||
struct pci_p2pdma_pagemap {
|
struct pci_p2pdma_pagemap {
|
||||||
struct dev_pagemap pgmap;
|
struct dev_pagemap pgmap;
|
||||||
|
struct pci_dev *provider;
|
||||||
u64 bus_offset;
|
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->res.flags = pci_resource_flags(pdev, bar);
|
||||||
pgmap->type = MEMORY_DEVICE_PCI_P2PDMA;
|
pgmap->type = MEMORY_DEVICE_PCI_P2PDMA;
|
||||||
|
|
||||||
|
p2p_pgmap->provider = pdev;
|
||||||
p2p_pgmap->bus_offset = pci_bus_address(pdev, bar) -
|
p2p_pgmap->bus_offset = pci_bus_address(pdev, bar) -
|
||||||
pci_resource_start(pdev, bar);
|
pci_resource_start(pdev, bar);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue