Messages in this thread | | | Subject | Re: [PATCH v4 04/14] PCI/P2PDMA: Clear ACS P2P flags for all devices behind switches | From | Christian König <> | Date | Thu, 10 May 2018 14:52:46 +0200 |
| |
Am 09.05.2018 um 18:45 schrieb Logan Gunthorpe: > > On 09/05/18 07:40 AM, Christian König wrote: >> The key takeaway is that when any device has ATS enabled you can't >> disable ACS without breaking it (even if you unplug and replug it). > I don't follow how you came to this conclusion... > The ACS bits we'd be turning off are the ones that force TLPs addressed > at a peer to go to the RC. However, ATS translation packets will be > addressed to an untranslated address which a switch will not identify as > a peer address so it should send upstream regardless the state of the > ACS Req/Comp redirect bits.
Why would a switch not identify that as a peer address? We use the PASID together with ATS to identify the address space which a transaction should use.
If I'm not completely mistaken when you disable ACS it is perfectly possible that a bridge identifies a transaction as belonging to a peer address, which isn't what we want here.
Christian.
> > Once the translation comes back, the ATS endpoint should send the TLP to > the peer address with the AT packet type and it will be directed to the > peer provided the Direct Translated bit is set (or the redirect bits are > unset). > > I can't see how turning off the Req/Comp redirect bits could break > anything except for the isolation they provide. > > Logan
| |