Re: [PATCH 1/1] iommu/amd: Fix PASID format in INVALIDATE_IOTLB_PAGES command

Suravee Suthikulpanit
2014-03-04T17:06:42Z

On 3/4/2014 10:53 AM, Suravee Suthikulpanit wrote:
> On 3/4/2014 8:12 AM, Joerg Roedel wrote:
>> On Wed, Feb 26, 2014 at 03:49:31PM -0600,
>> suravee.suthikulpanit@amd.com wrote:
>>> From: Jay Cornwall <jay.cornwall@amd.com>
>>>
>>> This patch corrects the PASID format in the INVALIDATE_IOTLB_PAGES
>>> command, which was caused by incorrect information in
>>> the AMD IOMMU Architectural Specification v2.01 document.
>>>
>>> Incorrect format:
>>> cmd->data[0][16:23] = PASID[7:0]
>>> cmd->data[1][16:27] = PASID[19:8]
>>>
>>> Correct format:
>>> cmd->data[0][16:23] = PASID[15:8]
>>> cmd->data[1][16:23] = PASID[7:0]
>>>
>>> However, this does not affect the IOMMUv2 hardware implementation,
>>> and has been corrected since version 2.02 of the specification
>>> (available through AMD NDA).
>>>
>>> Signed-off-by: Jay Cornwall <jay.cornwall@amd.com>
>>> Reviewed-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
>>
>> Applied, thanks.
>>
>> Does this mean that PASIDs are only 16 bits wide now from the former 20
>> bits?
>>
>>
>>
>
> Thank you Joerg. The specification also state that this command format
> does not support the maximum size of the PASID field. However, other
> commands seem to still support 20-bit PASID.
>
> Suravee

Actually, just thinking about this again, even though we don't have
systems with 20-bit PASID yet (only up-to 16-bit), but for future proof,
we should add another logic to make sure that this logic won't try to
use the 20-bit PASID with this version of the command. I'll send out
another patch soon.

Suravee