[edk2-devel] [PATCH v2 07/11] DynamicTablesPkg: Add PsdToken field to CM_ARM_GICC_INFO object

PierreGondois posted 11 patches 2 years, 3 months ago
There is a newer version of this series
[edk2-devel] [PATCH v2 07/11] DynamicTablesPkg: Add PsdToken field to CM_ARM_GICC_INFO object
Posted by PierreGondois 2 years, 3 months ago
From: Pierre Gondois <pierre.gondois@arm.com>

The _PSD object (cf. ACPI 6.4, s8.4.5.5 _PSD (P-State Dependency)
allows to describe CPU's power state dependencies. Add a PsdToken
field to the CM_ARM_GICC_INFO object so that interdependent CPUs
can reference the same CM_ARM_PSD_INFO object.

Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
---
 DynamicTablesPkg/Include/ArmNameSpaceObjects.h               | 5 +++++
 .../Common/TableHelperLib/ConfigurationManagerObjectParser.c | 5 +++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
index ddd17fa45b1e..2a0ebe24bd04 100644
--- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
@@ -204,6 +204,11 @@ typedef struct CmArmGicCInfo {
       i.e. a token referencing a CM_ARM_CPC_INFO object.
   */
   CM_OBJECT_TOKEN    CpcToken;
+
+  /** Optional field: Reference Token for the Psd info of this processor.
+      i.e. a token referencing a CM_ARM_PSD_INFO object.
+  */
+  CM_OBJECT_TOKEN    PsdToken;
 } CM_ARM_GICC_INFO;
 
 /** A structure that describes the
diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
index b3ee12da8c4f..a9f5c95c1039 100644
--- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
+++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
@@ -83,7 +83,8 @@ STATIC CONST CM_OBJ_PARSER  CmArmGicCInfoParser[] = {
   { "ProximityDomain",               4,                        "0x%x",   NULL },
   { "ClockDomain",                   4,                        "0x%x",   NULL },
   { "AffinityFlags",                 4,                        "0x%x",   NULL },
-  { "CpcToken",                      sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL }
+  { "CpcToken",                      sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL },
+  { "PsdToken",                      sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL },
 };
 
 /** A parser for EArmObjGicDInfo.
@@ -766,7 +767,7 @@ STATIC CONST CM_OBJ_PARSER_ARRAY  ArmNamespaceObjectParser[] = {
     ARRAY_SIZE (CmArmPccSubspaceType34InfoParser) },
   { "EArmObjPccSubspaceType5Info",         CmArmPccSubspaceType5InfoParser,
     ARRAY_SIZE (CmArmPccSubspaceType5InfoParser) },
-  { "EArmObjCpcInfo",                      CmArmPsdInfoParser,
+  { "EArmObjPsdInfo",                      CmArmPsdInfoParser,
     ARRAY_SIZE (CmArmPsdInfoParser) },
   { "EArmObjMax",                          NULL,                                  0                                },
 };
-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#110043): https://edk2.groups.io/g/devel/message/110043
Mute This Topic: https://groups.io/mt/102175817/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v2 07/11] DynamicTablesPkg: Add PsdToken field to CM_ARM_GICC_INFO object
Posted by Leif Lindholm 2 years, 3 months ago
On Wed, Oct 25, 2023 at 13:25:36 +0200, pierre.gondois@arm.com wrote:
> From: Pierre Gondois <pierre.gondois@arm.com>
> 
> The _PSD object (cf. ACPI 6.4, s8.4.5.5 _PSD (P-State Dependency)
> allows to describe CPU's power state dependencies. Add a PsdToken
> field to the CM_ARM_GICC_INFO object so that interdependent CPUs
> can reference the same CM_ARM_PSD_INFO object.
> 
> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
> ---
>  DynamicTablesPkg/Include/ArmNameSpaceObjects.h               | 5 +++++
>  .../Common/TableHelperLib/ConfigurationManagerObjectParser.c | 5 +++--
>  2 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
> index ddd17fa45b1e..2a0ebe24bd04 100644
> --- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
> +++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
> @@ -204,6 +204,11 @@ typedef struct CmArmGicCInfo {
>        i.e. a token referencing a CM_ARM_CPC_INFO object.
>    */
>    CM_OBJECT_TOKEN    CpcToken;
> +
> +  /** Optional field: Reference Token for the Psd info of this processor.
> +      i.e. a token referencing a CM_ARM_PSD_INFO object.
> +  */
> +  CM_OBJECT_TOKEN    PsdToken;
>  } CM_ARM_GICC_INFO;
>  
>  /** A structure that describes the
> diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
> index b3ee12da8c4f..a9f5c95c1039 100644
> --- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
> +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
> @@ -83,7 +83,8 @@ STATIC CONST CM_OBJ_PARSER  CmArmGicCInfoParser[] = {
>    { "ProximityDomain",               4,                        "0x%x",   NULL },
>    { "ClockDomain",                   4,                        "0x%x",   NULL },
>    { "AffinityFlags",                 4,                        "0x%x",   NULL },
> -  { "CpcToken",                      sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL }
> +  { "CpcToken",                      sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL },
> +  { "PsdToken",                      sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL },
>  };
>  
>  /** A parser for EArmObjGicDInfo.
> @@ -766,7 +767,7 @@ STATIC CONST CM_OBJ_PARSER_ARRAY  ArmNamespaceObjectParser[] = {
>      ARRAY_SIZE (CmArmPccSubspaceType34InfoParser) },
>    { "EArmObjPccSubspaceType5Info",         CmArmPccSubspaceType5InfoParser,
>      ARRAY_SIZE (CmArmPccSubspaceType5InfoParser) },
> -  { "EArmObjCpcInfo",                      CmArmPsdInfoParser,
> +  { "EArmObjPsdInfo",                      CmArmPsdInfoParser,

Can you add something to the commit message about this bit?

/
    Leif

>      ARRAY_SIZE (CmArmPsdInfoParser) },
>    { "EArmObjMax",                          NULL,                                  0                                },
>  };
> -- 
> 2.25.1
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#110090): https://edk2.groups.io/g/devel/message/110090
Mute This Topic: https://groups.io/mt/102175817/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v2 07/11] DynamicTablesPkg: Add PsdToken field to CM_ARM_GICC_INFO object
Posted by PierreGondois 2 years, 3 months ago

On 10/26/23 12:45, Leif Lindholm wrote:
> On Wed, Oct 25, 2023 at 13:25:36 +0200, pierre.gondois@arm.com wrote:
>> From: Pierre Gondois <pierre.gondois@arm.com>
>>
>> The _PSD object (cf. ACPI 6.4, s8.4.5.5 _PSD (P-State Dependency)
>> allows to describe CPU's power state dependencies. Add a PsdToken
>> field to the CM_ARM_GICC_INFO object so that interdependent CPUs
>> can reference the same CM_ARM_PSD_INFO object.
>>
>> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
>> ---
>>   DynamicTablesPkg/Include/ArmNameSpaceObjects.h               | 5 +++++
>>   .../Common/TableHelperLib/ConfigurationManagerObjectParser.c | 5 +++--
>>   2 files changed, 8 insertions(+), 2 deletions(-)
>>
>> diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
>> index ddd17fa45b1e..2a0ebe24bd04 100644
>> --- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
>> +++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
>> @@ -204,6 +204,11 @@ typedef struct CmArmGicCInfo {
>>         i.e. a token referencing a CM_ARM_CPC_INFO object.
>>     */
>>     CM_OBJECT_TOKEN    CpcToken;
>> +
>> +  /** Optional field: Reference Token for the Psd info of this processor.
>> +      i.e. a token referencing a CM_ARM_PSD_INFO object.
>> +  */
>> +  CM_OBJECT_TOKEN    PsdToken;
>>   } CM_ARM_GICC_INFO;
>>   
>>   /** A structure that describes the
>> diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
>> index b3ee12da8c4f..a9f5c95c1039 100644
>> --- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
>> +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
>> @@ -83,7 +83,8 @@ STATIC CONST CM_OBJ_PARSER  CmArmGicCInfoParser[] = {
>>     { "ProximityDomain",               4,                        "0x%x",   NULL },
>>     { "ClockDomain",                   4,                        "0x%x",   NULL },
>>     { "AffinityFlags",                 4,                        "0x%x",   NULL },
>> -  { "CpcToken",                      sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL }
>> +  { "CpcToken",                      sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL },
>> +  { "PsdToken",                      sizeof (CM_OBJECT_TOKEN), "0x%p",   NULL },
>>   };
>>   
>>   /** A parser for EArmObjGicDInfo.
>> @@ -766,7 +767,7 @@ STATIC CONST CM_OBJ_PARSER_ARRAY  ArmNamespaceObjectParser[] = {
>>       ARRAY_SIZE (CmArmPccSubspaceType34InfoParser) },
>>     { "EArmObjPccSubspaceType5Info",         CmArmPccSubspaceType5InfoParser,
>>       ARRAY_SIZE (CmArmPccSubspaceType5InfoParser) },
>> -  { "EArmObjCpcInfo",                      CmArmPsdInfoParser,
>> +  { "EArmObjPsdInfo",                      CmArmPsdInfoParser,
> 
> Can you add something to the commit message about this bit?

This is actually a naming mistake in:
    [PATCH v1 06/11] DynamicTablesPkg: Add CM_ARM_PSD_INFO object
I will correct it it there, the change in this patch should be removed.

Regards,
Pierre

> 
> /
>      Leif
> 
>>       ARRAY_SIZE (CmArmPsdInfoParser) },
>>     { "EArmObjMax",                          NULL,                                  0                                },
>>   };
>> -- 
>> 2.25.1
>>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#110516): https://edk2.groups.io/g/devel/message/110516
Mute This Topic: https://groups.io/mt/102175817/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-