On Thu, Oct 01, 2026 at 02:55:09PM +0300, Leon Romanovsky wrote: > From: Leon Romanovsky <[email protected]> > > P2PDMA selects a mapping without receiving the Request's ordering or > Address Type attributes. Its ACS handles only strictly ordered Requests > carrying an Untranslated address. > > Document that the result is not defined for Relaxed Ordering or > ATS-translated Requests because those TLP attributes can select different > routes through the fabric. > > Reviewed-by: Logan Gunthorpe <[email protected]> > Tested-by: Tushar Dave <[email protected]> > Signed-off-by: Leon Romanovsky <[email protected]> > --- > Documentation/driver-api/pci/p2pdma.rst | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/Documentation/driver-api/pci/p2pdma.rst > b/Documentation/driver-api/pci/p2pdma.rst > index 63cff9e4d2c9..80f8fec9b0e9 100644 > --- a/Documentation/driver-api/pci/p2pdma.rst > +++ b/Documentation/driver-api/pci/p2pdma.rst > @@ -15,6 +15,13 @@ then based on the ACS settings the transaction can route > entirely within > the PCIe hierarchy and never reach the root port. The kernel will evaluate > the PCIe topology and always permit P2P in these well-defined cases. > > +This evaluation assumes clients issue strictly ordered Requests carrying an > +Untranslated address. Its result is not defined when clients use Relaxed > +Ordering or issue ATS-translated Requests because those TLP attributes can > +select different routes through the fabric. Unless ACS Translation Blocking > +is enabled, a Port with ACS Direct Translated P2P enabled routes a > +Translated Request directly to the peer regardless of the redirect controls.
This whole paragraph is removed later in the series, so kudos for documenting the current state before it changes :) Unrelated to anything in this series, but this doc mentions "p2p_provider", which doesn't exist. Should it be "p2pdma_provider"?
