Am 2021-08-11 um 3:29 p.m. schrieb Alex Deucher: > On Wed, Aug 11, 2021 at 3:11 PM Ramesh Errabolu <Ramesh.Errabolu@xxxxxxx> wrote: >> Current implementation will disallow P2P DMA if the participating >> devices belong to different root complexes. Implementation allows >> this default behavior to be overridden for whitelisted devices. The >> patch adds an AMD host bridge to be whitelisted > Why do we need this? cpu_supports_p2pdma() should return true for all > AMD Zen CPUs. This is part of our on-going work to get P2P support upstream. We want to use pci_p2pdma_distance_many to determine whether P2P is possible between a pair of devices. This whitelist is used in this function. This will affect the P2P links reported in the topology and it will be double-checked in the BO mapping function to ensure a peer mapping is legal. I think this change is a bit free of context at the moment, as we're still working on a few other loose ends for P2P support in our internal branch. I'm hoping we'll have a bigger patch series for upstreamable KFD P2P support ready in a few weeks. I also think we'll probably want to add a few more PCI IDs for other supported AMD root complexes. Regards, Felix > > Alex > >> Signed-off-by: Ramesh Errabolu <Ramesh.Errabolu@xxxxxxx> >> --- >> drivers/pci/p2pdma.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/pci/p2pdma.c b/drivers/pci/p2pdma.c >> index 196382630363..7003bb9faf23 100644 >> --- a/drivers/pci/p2pdma.c >> +++ b/drivers/pci/p2pdma.c >> @@ -305,6 +305,8 @@ static const struct pci_p2pdma_whitelist_entry { >> {PCI_VENDOR_ID_INTEL, 0x2032, 0}, >> {PCI_VENDOR_ID_INTEL, 0x2033, 0}, >> {PCI_VENDOR_ID_INTEL, 0x2020, 0}, >> + /* AMD Host Bridge Devices */ >> + {PCI_VENDOR_ID_AMD, 0x1480, 0}, >> {} >> }; >> >> -- >> 2.31.1 >>