Re: [PATCH v7 4/4] PCI: Introduce the disable_acs_redir parameter

From: Alex Williamson
Date: Tue Jul 17 2018 - 13:49:02 EST


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>