[PATCH v3 1/2] acpica: iort: Update SMMUv3 header for proximity domain mapping

Ganapatrao Kulkarni gpkulkarni at gmail.com
Mon Jun 19 19:27:09 PDT 2017


On Mon, Jun 19, 2017 at 11:24 PM, Robin Murphy <robin.murphy at arm.com> wrote:
> On 08/06/17 05:44, Ganapatrao Kulkarni wrote:
>> ARM IORT specification (rev. C) has added two new fields to define
>> proximity domain for the SMMUv3 node in the IORT table.
>>
>> Proximity Domain Valid:
>>       Set to 1 if the value provided in the Proximity Domain field is
>>       valid. Set to 0 otherwise.
>>
>> Proximity domain:
>>       If the Proximity Domain Valid flag is set to 1, this entry
>>       provides the proximity domain to which this SMMU
>>       instance belongs.
>>
>> Update header file to reflect this.
>>
>> Signed-off-by: Ganapatrao Kulkarni <ganapatrao.kulkarni at cavium.com>
>> ---
>>  include/acpi/actbl2.h | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
>> index 4b306a6..389e91f 100644
>> --- a/include/acpi/actbl2.h
>> +++ b/include/acpi/actbl2.h
>> @@ -805,6 +805,9 @@ struct acpi_iort_smmu_v3 {
>>       u32 pri_gsiv;
>>       u32 gerr_gsiv;
>>       u32 sync_gsiv;
>> +     u8 pxm;
>> +     u8 reserved1;
>> +     u16 reserved2;
>
> Why add the padding if you're not also adding the following field that
> it aligns? (side note: could it not just be a u8[3]?)

added to align as well to comply with  the spec.

>
> If the actual structure definition is changing, do there not need to be
> corresponding IASL changes too?

yes, it is been added and sent to acpica devel ML.
https://lists.acpica.org/pipermail/devel/2017-June/001243.html

>
>>  };
>>
>>  /* Values for Model field above */
>> @@ -817,6 +820,7 @@ struct acpi_iort_smmu_v3 {
>>
>>  #define ACPI_IORT_SMMU_V3_COHACC_OVERRIDE   (1)
>>  #define ACPI_IORT_SMMU_V3_HTTU_OVERRIDE     (1<<1)
>> +#define ACPI_IORT_SMMU_V3_PXM_VALID         (1<<3)
>
> Maybe it's just me, but "PXM" seems incredibly cryptic.

PXM stands for proximity(refer ACPI spec)
it is widely used in spec and also in Linux kernel.

>
> Robin.
>
>>
>>  /*******************************************************************************
>>   *
>>
>

thanks
Ganapat



More information about the linux-arm-kernel mailing list