On 17/07/18 11:48 AM, Alex Williamson wrote: > On Tue, 17 Jul 2018 11:02:04 -0600 > Logan Gunthorpe <logang@xxxxxxxxxxxx> wrote: > >> In order to support P2P traffic on a segment of the PCI hierarchy, >> we must be able to disable the ACS redirect bits for select >> PCI bridges. The bridges must be selected before the devices are >> discovered by the kernel and the IOMMU groups created. Therefore, >> a kernel command line parameter is created to specify devices >> which must have their ACS bits disabled. >> >> The new parameter takes a list of devices separated by a semicolon. >> Each device specified will have it's ACS redirect bits disabled. >> This is similar to the existing 'resource_alignment' parameter. >> >> The ACS Request P2P Request Redirect, P2P Completion Redirect and P2P >> Egress Control bits are disabled which is sufficient to always allow >> passing P2P traffic uninterrupted. The bits are set after the kernel >> (optionally) enables the ACS bits itself. It is also done regardless of >> whether the kernel sets the bits or not seeing some BIOS firmware is known >> to set the bits on boot. >> >> If the user tries to disable the ACS redirct for a device without the >> ACS capability, a warning is printed to dmesg. >> >> Signed-off-by: Logan Gunthorpe <logang@xxxxxxxxxxxx> >> Reviewed-by: Stephen Bates <sbates@xxxxxxxxxxxx> >> Acked-by: Christian König <christian.koenig@xxxxxxx> >> --- >> Documentation/admin-guide/kernel-parameters.txt | 9 +++ >> drivers/pci/pci.c | 76 ++++++++++++++++++++++++- >> 2 files changed, 83 insertions(+), 2 deletions(-) > > Thanks for the re-spins! > > Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Thanks for all the thorough review! Logan