public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "PierreGondois" <pierre.gondois@arm.com>
To: Jeff Brasen <jbrasen@nvidia.com>, devel@edk2.groups.io
Cc: ardb+tianocore@kernel.org, Sami.Mujawar@arm.com, Alexei.Fedorov@arm.com
Subject: Re: [PATCH v2 1/3] DynamicTablesPkg: Add CM_ARM_CPC_INFO object
Date: Thu, 15 Sep 2022 10:02:02 +0200	[thread overview]
Message-ID: <0418ad2a-ad92-722d-30fd-4a3e0c8301b3@arm.com> (raw)
In-Reply-To: <562f833e95d7bbb6769094f17bd980cb9e8909ba.1663191097.git.jbrasen@nvidia.com>

Hello Jeff,
Just one remark:

On 9/14/22 23:34, Jeff Brasen wrote:
> Introduce the CM_ARM_CPC_INFO CmObj in the ArmNameSpaceObjects.
> This allows to describe CPC information, as described in ACPI 6.4,
> s8.4.7.1 "_CPC (Continuous Performance Control)".
> 
> Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
> ---
>   .../Include/ArmNameSpaceObjects.h             | 148 ++++++++++++++++--
>   .../ConfigurationManagerObjectParser.c        |  79 ++++++++++
>   2 files changed, 210 insertions(+), 17 deletions(-)
> 

[snip]

> diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
> index c1b21d24a4..e2c608443b 100644
> --- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
> +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
> @@ -423,6 +423,83 @@ STATIC CONST CM_OBJ_PARSER  CmPciInterruptMapInfoParser[] = {
>       ARRAY_SIZE (CmArmGenericInterruptParser) },
>   };
>   
> +/** A parser for EArmObjCpcInfo.
> +*/
> +STATIC CONST CM_OBJ_PARSER  CmArmCpcInfoParser[] = {
> +  { "HighestPerformanceBuffer",              sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),

Could it be move to 6_4 aswell ?

> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "HighestPerformanceInteger",             4,                                              "0x%llx",  NULL },
> +  { "NominalPerformanceBuffer",              sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "NominalPerformanceInteger",             4,                                              "0x%llx",  NULL },
> +  { "LowestNonlinearPerformanceBuffer",      sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "LowestNonlinearPerformanceInteger",     4,                                              "0x%llx",  NULL },
> +  { "LowestPerformanceBuffer",               sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "LowestPerformanceInteger",              4,                                              "0x%llx",  NULL },
> +  { "GuaranteedPerformanceRegister",         sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "DesiredPerformanceRegister",            sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "MinimumPerformanceRegister",            sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "MaximumPerformanceRegister",            sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "PerformanceReductionToleranceRegister", sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "TimeWindowRegister",                    sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "CounterWraparoundTimeBuffer",           sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "CounterWraparoundTimeInteger",          4,                                              "0x%llx",  NULL },
> +  { "ReferencePerformanceCounterRegister",   sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "DeliveredPerformanceCounterRegister",   sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "PerformanceLimitedRegister",            sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "CPPCEnableRegister",                    sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "AutonomousSelectionEnableBuffer",       sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "AutonomousSelectionEnableInteger",      4,                                              "0x%llx",  NULL },
> +  { "AutonomousActivityWindowRegister",      sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "EnergyPerformancePreferenceRegister",   sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "ReferencePerformanceBuffer",            sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "ReferencePerformanceInteger",           4,                                              "0x%llx",  NULL },
> +  { "LowestFrequencyBuffer",                 sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "LowestFrequencyInteger",                4,                                              "0x%llx",  NULL },
> +  { "NominalFrequencyBuffer",                sizeof (EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE),
> +    NULL, NULL, AcpiGenericAddressParser,
> +    ARRAY_SIZE (AcpiGenericAddressParser) },
> +  { "NominalFrequencyInteger",               4,                                              "0x%llx",  NULL },
> +};
> +
>   /** A parser for Arm namespace objects.
>   */
>   STATIC CONST CM_OBJ_PARSER_ARRAY  ArmNamespaceObjectParser[] = {
> @@ -501,6 +578,8 @@ STATIC CONST CM_OBJ_PARSER_ARRAY  ArmNamespaceObjectParser[] = {
>       ARRAY_SIZE (CmArmPciAddressMapInfoParser) },
>     { "EArmObjPciInterruptMapInfo",          CmPciInterruptMapInfoParser,
>       ARRAY_SIZE (CmPciInterruptMapInfoParser) },
> +  { "EArmObjCpcInfo",                      CmArmCpcInfoParser,
> +    ARRAY_SIZE (CmArmCpcInfoParser) },
>     { "EArmObjMax",                          NULL,                                  0                                },
>   };
>   

  reply	other threads:[~2022-09-15  8:02 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-14 21:34 [PATCH v2 0/3] DynamicTablesPkg: _CPC support Jeff Brasen
2022-09-14 21:34 ` [PATCH v2 1/3] DynamicTablesPkg: Add CM_ARM_CPC_INFO object Jeff Brasen
2022-09-15  8:02   ` PierreGondois [this message]
2022-09-15 14:00   ` Sami Mujawar
2022-09-14 21:34 ` [PATCH v2 2/3] DynamicTablesPkg: AML Code generation to add _CPC entries Jeff Brasen
2022-09-15  8:04   ` PierreGondois
2022-09-14 21:34 ` [PATCH v2 3/3] DynamicTablesPkg: SSDT CPU _CPC generator Jeff Brasen
2022-09-15  8:03   ` PierreGondois

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0418ad2a-ad92-722d-30fd-4a3e0c8301b3@arm.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox