> From: Leon Romanovsky <[email protected]> > > A Downstream Port with ACS Translation Blocking enabled treats every > Upstream Memory Request whose Address Type is not Untranslated as an ACS > Violation, ahead of "any applicable ACS P2P control mechanisms" per PCIe > r7.0 sec 6.12.1.1. P2PDMA never looks at that bit, so it reports a > bus-addressable path where an ATS client's Requests would be rejected. > > Add PCI_ACS_P2PDMA_BLOCKED, and because blocking is not a routing control, > scan the path for it rather than the divergence port alone. A blocked > Request has no host bridge fallback, since the Address Type is rejected > wherever the Request is addressed. > > The two routes do not pass the same ports, so scan them separately. A > direct route turns around at the divergence and only passes the ports > below it, while the host bridge route keeps climbing and passes that port > and everything above it as well. > > Reviewed-by: Logan Gunthorpe <[email protected]> > Tested-by: Tushar Dave <[email protected]> > Signed-off-by: Leon Romanovsky <[email protected]>
Sashiko has reviewed this patch and found no issues. It looks great! -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=9
