On Mon, Jul 22, 2019 at 05:08:51PM -0600, Logan Gunthorpe wrote: > Intel devices do not have good support for P2P requests that span > different host bridges as the transactions will cross the QPI/UPI bus > and this does not perform well. > > Therefore, enable support for these devices only if the host bridges > match. > > Adds the Intel device's that have been tested to work. There are > likely many others out there that will need to be tested and added. > > Signed-off-by: Logan Gunthorpe <logang@xxxxxxxxxxxx> > drivers/pci/p2pdma.c | 36 ++++++++++++++++++++++++++++++++---- > 1 file changed, 32 insertions(+), 4 deletions(-) > > diff --git a/drivers/pci/p2pdma.c b/drivers/pci/p2pdma.c > index dfb802afc8ca..143e11d2a5c3 100644 > +++ b/drivers/pci/p2pdma.c > @@ -250,9 +250,28 @@ static void seq_buf_print_bus_devfn(struct seq_buf *buf, struct pci_dev *pdev) > seq_buf_printf(buf, "%s;", pci_name(pdev)); > } > > -static bool __host_bridge_whitelist(struct pci_host_bridge *host) > +static const struct pci_p2pdma_whitelist_entry { > + unsigned short vendor; > + unsigned short device; > + bool req_same_host_bridge; This would be more readable in the initializer as a flags not a bool Jason