On Fri, Feb 08, 2019 at 11:49:55PM -0500, Sinan Kaya wrote:If the version check is required then, it needs to be added before reading "Invalidate Queue Depth" value as well.
On 2/8/2019 8:02 PM, sathyanarayanan kuppuswamy wrote:It seems rather odd we have to check for ATS version.
v1.2 was incorporated into PCIe spec at that time. However, the ATS specThis means that you should probably have some kind of version checkThere is no version field in ATS v1.0 spec. Also, If I follow the history
here.
log in PCI spec, I think ATS if first added at v1.2. Please correct me if
I am wrong.
is old and there could be some HW that could claim to be ATS compatible.
I know AMD GPUs declare ATS capability.
I always assumed unspecified bits (Reserved) must be 0. We only check
this if ATS is enabled, and this particular bit wasn't given away for another
feature.
Is it really required to check for ATS version before consuming this?
See this ECN
https://composter.com.ua/documents/ats_r1.1_26Jan09.pdf
You need to validate the version field from ATS capability header to be
1 before reading this register.
See Table 5-1: ATS Extended Capability Header