> From: Matt Evans <[email protected]> > Sent: Thursday, July 16, 2026 1:47 AM > > The P2PDMA code currently provides two features under the same > CONFIG_PCI_P2PDMA option: > > 1. Locate providers via pcim_p2pdma_provider() > 2. Manage actual P2P DMA > > Some drivers (such as vfio-pci) depend on (1), without having a hard > dependency on (2). > > A future vfio-pci commit will rely on pcim_p2pdma_provider() always > being present. If that depended on CONFIG_PCI_P2PDMA, it would make > vfio-pci only available if CONFIG_ZONE_DEVICE is present (e.g. 64-bit > systems), even when P2P is not needed. > > To resolve this, introduce CONFIG_PCI_P2PDMA_CORE and refactor the > basic provider functionality into a new p2pdma_core.c file. This is > available even if the CONFIG_PCI_P2PDMA feature is disabled (or > unavailable due to !CONFIG_ZONE_DEVICE), satisfying (1). > > Then, when the original CONFIG_PCI_P2PDMA is set, drivers have access > to the additional P2P features of (2). This still depends on > CONFIG_ZONE_DEVICE. > > Signed-off-by: Matt Evans <[email protected]> > Acked-by: Bjorn Helgaas <[email protected]> > Reviewed-by: Logan Gunthorpe <[email protected]>
Reviewed-by: Kevin Tian <[email protected]>
