public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "PierreGondois" <pierre.gondois@arm.com>
To: devel@edk2.groups.io, jbrasen@nvidia.com
Cc: ardb+tianocore@kernel.org, Sami.Mujawar@arm.com, Alexei.Fedorov@arm.com
Subject: Re: [edk2-devel] [PATCH 1/3] DynamicTablesPkg: Add CM_ARM_CPC_INFO object
Date: Mon, 12 Sep 2022 12:34:53 +0200	[thread overview]
Message-ID: <ed1b17ef-1bcd-5940-50f7-4443e7c7efae@arm.com> (raw)
In-Reply-To: <99283b0ac5e1a9306e28afd2a76059803e2e7376.1662563529.git.jbrasen@nvidia.com>

Hello Jeff,
Please find some remarks inline:

On 9/7/22 17:15, Jeff Brasen via groups.io 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             | 146 ++++++++++++++++--
> 
>   .../ConfigurationManagerObjectParser.c        |  79 ++++++++++
> 
>   2 files changed, 208 insertions(+), 17 deletions(-)
> 
> 
> 
> diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
> 
> index 102e0f96be..4d3f9ae534 100644
> 
> --- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
> 
> +++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
> 
> @@ -63,6 +63,7 @@ typedef enum ArmObjectID {
> 
>     EArmObjPciInterruptMapInfo,          ///< 39 - Pci Interrupt Map Info
> 
>     EArmObjRmr,                          ///< 40 - Reserved Memory Range Node
> 
>     EArmObjMemoryRangeDescriptor,        ///< 41 - Memory Range Descriptor
> 
> +  EArmObjCpcInfo,                      ///< 42 - Continuous Performance Control Info
> 
>     EArmObjMax
> 
>   } EARM_OBJECT_ID;
> 
>   

[snip]

> 
> +/** A structure that describes the Cpc information.
> 
> +
> 
> +  Continuous Performance Control is described in DSDT/SSDT and associated
> 
> +  to cpus/clusters in the cpu topology.
> 
> +
> 
> +  Unsupported Optional registers should be encoded with NULL resource
> 
> +  Register {(SystemMemory, 0, 0, 0, 0)}
> 
> +
> 
> +  For values that support Integer or Buffer, integer will be used
> 
> +  if buffer is NULL resource.
> 
> +  If resource is not NULL then Integer must be 0
> 
> +
> 
> +  Cf. ACPI 6.4, s8.4.7.1 _CPC (Continuous Performance Control)
> 
> +
> 
> +  ID: EArmObjCpcInfo
> 
> +*/
> 
> +typedef struct CmArmCpcInfo {

I think it would be good to have the CPC Revision entry here aswell.
The NumEntries can be inferred from the Revision.

> 
> +  /// Indicates the highest level of performance the processor
> 
> +  /// is theoretically capable of achieving.
> 
> +  EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE    HighestPerformanceBuffer;

I think we can use ACPI 6.4 structs (it should be the same).
This comment can be applied to all the *6_3* objects.

> 
> +  UINT32                                    HighestPerformanceInteger;
> 
> +
> 

[snip]

> 
> @@ -501,6 +578,8 @@ STATIC CONST CM_OBJ_PARSER_ARRAY  ArmNamespaceObjectParser[] = {
> 
>       ARRAY_SIZE (CmArmPciAddressMapInfoParser) },
> 
>     { "EArmObjPciInterruptMapInfo",          CmPciInterruptMapInfoParser,
> 
>       ARRAY_SIZE (CmPciInterruptMapInfoParser) },
> 

(for Sami)
Not related to this patchset, but the following parsers are missing:
-EArmObjRmr
-EArmObjMemoryRangeDescriptor

> +  { "EArmObjCpcInfo",                      CmArmCpcInfoParser,
> 
> +    ARRAY_SIZE (CmArmCpcInfoParser) },
> 
>     { "EArmObjMax",                          NULL,                                  0                                },
> 
>   };
> 
>   
> 

  reply	other threads:[~2022-09-12 10:35 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-07 15:15 [PATCH 0/3] DynamicTablesPkg: _CPC support Jeff Brasen
2022-09-07 15:15 ` [PATCH 1/3] DynamicTablesPkg: Add CM_ARM_CPC_INFO object Jeff Brasen
2022-09-12 10:34   ` PierreGondois [this message]
2022-09-07 15:15 ` [PATCH 2/3] DynamicTablesPkg: AML Code generation to add _CPC entries Jeff Brasen
2022-09-12 10:36   ` [edk2-devel] " PierreGondois
2022-09-07 15:15 ` [PATCH 3/3] DynamicTablesPkg: SSDT CPU _CPC generator Jeff Brasen
2022-09-12 10:37   ` [edk2-devel] " 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=ed1b17ef-1bcd-5940-50f7-4443e7c7efae@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