Re: [PATCH 08/13] PCI/P2PDMA: Honor ACS egress control vectors

Logan Gunthorpe <[email protected]> Tue, 4 Aug 2026 15:56:30 -0600
Newsgroups gmane.linux.documentation,gmane.linux.kernel.pci,gmane.linux.kernel
Message-ID <[email protected]>

On 2026-08-02 09:09, Leon Romanovsky wrote:
> From: Leon Romanovsky <[email protected]>
> 
> An enabled Egress Control bit does not itself send a peer request
> upstream. PCIe r7.0, sec 6.12.3, table 6-11 makes the outcome depend on
> the Egress Control Vector bit for the target port: a clear bit routes the
> request directly regardless of P2P Request Redirect.
> 
> Read the vector where the paths diverge below their common upstream port.
> Keep a clear vector bit on the direct path, subject to P2P Completion
> Redirect.
> 
> A set bit with Request Redirect clear is an ACS Violation. ACS acts only
> on peer-to-peer Requests, so route it, and an indeterminate vector,
> through the host bridge.
> 
> Fixes: 52916982af48 ("PCI/P2PDMA: Support peer-to-peer memory")
> Signed-off-by: Leon Romanovsky <[email protected]>
Reviewed-by: Logan Gunthorpe <[email protected]>