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 },
>
> };
>
>
>
next prev parent 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