On Tue, Nov 03, 2026 at 10:29:39AM +0200, Leon Romanovsky wrote:
PCI P2PDMA applies Request and Completion Redirect throughout both paths. This misclassifies asymmetric and nested switches, and reports one answer for every kind of TLP.
Three ACS controls act on TLP attributes the Requester chooses rather than on the topology: Translation Blocking and Direct Translated P2P act on a Request's Address Type, and Completion Redirect skips Completions carrying Relaxed Ordering.
Evaluate each direction at the path divergence, decide every class from the one walk, and treat a client with ATS enabled as translating unless its driver declares per-mapping ATS.
This completes the P2PDMA side; dma-buf and mlx5 follow separately.
Is there a one- or two-sentence explainer of why we want this? I'm thinking in terms of what Linus will want in the merge request: a fix for something that's broken or some new functionality. It sounds like this is solving a problem, but I don't know enough to translate the nitty-gritty details to the higher-level user-visible problem or feature.