From: Sami Mujawar <sami.muja...@arm.com> Move PCC structure definitions from Arm Namespace header file to the Arch Common namespace header file.
Cc: Pierre Gondois <pierre.gond...@arm.com> Cc: Yeo Reum Yun <yeoreum....@arm.com> Cc: AbdulLateef Attar <abdullateef.at...@amd.com> Cc: Jeshua Smith <jesh...@nvidia.com> Cc: Jeff Brasen <jbra...@nvidia.com> Cc: Girish Mahadevan <gmahade...@nvidia.com> Cc: Leif Lindholm <quic_llind...@quicinc.com> Cc: Meenakshi Aggarwal <meenakshi.aggar...@nxp.com> Signed-off-by: Sami Mujawar <sami.muja...@arm.com> Signed-off-by: Pierre Gondois <pierre.gond...@arm.com> --- .../Include/ArchCommonNameSpaceObjects.h | 72 +++++++++++++++++++ .../Include/ArmNameSpaceObjects.h | 72 ------------------- 2 files changed, 72 insertions(+), 72 deletions(-) diff --git a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h index 63b24de2f2f1..e21e2ca4e0d2 100644 --- a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h @@ -451,6 +451,78 @@ typedef struct CmArchCommonCacheInfo { */ typedef AML_CPC_INFO CM_ARCH_COMMON_CPC_INFO; +/** A structure that describes a + PCC Mailbox Register. +*/ +typedef struct PccMailboxRegisterInfo { + /// GAS describing the Register. + EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE Register; + + /** Mask of bits to preserve when writing. + + This mask is also used for registers. The Register is only read + and there is no write mask required. E.g.: + - Error Status mask (Cf. PCC Subspace types 3/4/5). + - Command Complete Check mask (Cf. PCC Subspace types 3/4/5). + */ + UINT64 PreserveMask; + + /// Mask of bits to set when writing. + UINT64 WriteMask; +} PCC_MAILBOX_REGISTER_INFO; + +/** A structure that describes the + PCC Subspace CHannel Timings. +*/ +typedef struct PccSubspaceChannelTimingInfo { + /// Expected latency to process a command, in microseconds. + UINT32 NominalLatency; + + /** Maximum number of periodic requests that the subspace channel can + support, reported in commands per minute. 0 indicates no limitation. + + This field is ignored for the PCC Subspace type 5 (HW Registers based). + */ + UINT32 MaxPeriodicAccessRate; + + /** Minimum amount of time that OSPM must wait after the completion + of a command before issuing the next command, in microseconds. + */ + UINT16 MinRequestTurnaroundTime; +} PCC_SUBSPACE_CHANNEL_TIMING_INFO; + +/** A structure that describes a + Generic PCC Subspace (Type 0). +*/ +typedef struct PccSubspaceGenericInfo { + /** Subspace Id. + + Cf. ACPI 6.4, s14.7 Referencing the PCC address space + Cf. s14.1.2 Platform Communications Channel Subspace Structures + The subspace ID of a PCC subspace is its index in the array of + subspace structures, starting with subspace 0. + + At most 256 subspaces are supported. + */ + UINT8 SubspaceId; + + /// Table type (or subspace). + UINT8 Type; + + /// Base address of the shared memory range. + /// This field is ignored for the PCC Subspace type 5 (HW Registers based). + UINT64 BaseAddress; + + /// Address length. + UINT64 AddressLength; + + /// Doorbell Register. + PCC_MAILBOX_REGISTER_INFO DoorbellReg; + + /// Mailbox Timings. + PCC_SUBSPACE_CHANNEL_TIMING_INFO ChannelTiming; +} PCC_SUBSPACE_GENERIC_INFO; + #pragma pack() #endif // ARCH_COMMON_NAMESPACE_OBJECTS_H_ diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h index b9d1202be365..e9a2cb0fe6c5 100644 --- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h @@ -714,78 +714,6 @@ typedef struct CmArmRmrDescriptor { UINT64 Length; } CM_ARM_MEMORY_RANGE_DESCRIPTOR; -/** A structure that describes a - PCC Mailbox Register. -*/ -typedef struct PccMailboxRegisterInfo { - /// GAS describing the Register. - EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE Register; - - /** Mask of bits to preserve when writing. - - This mask is also used for registers. The Register is only read - and there is no write mask required. E.g.: - - Error Status mask (Cf. PCC Subspace types 3/4/5). - - Command Complete Check mask (Cf. PCC Subspace types 3/4/5). - */ - UINT64 PreserveMask; - - /// Mask of bits to set when writing. - UINT64 WriteMask; -} PCC_MAILBOX_REGISTER_INFO; - -/** A structure that describes the - PCC Subspace CHannel Timings. -*/ -typedef struct PccSubspaceChannelTimingInfo { - /// Expected latency to process a command, in microseconds. - UINT32 NominalLatency; - - /** Maximum number of periodic requests that the subspace channel can - support, reported in commands per minute. 0 indicates no limitation. - - This field is ignored for the PCC Subspace type 5 (HW Registers based). - */ - UINT32 MaxPeriodicAccessRate; - - /** Minimum amount of time that OSPM must wait after the completion - of a command before issuing the next command, in microseconds. - */ - UINT16 MinRequestTurnaroundTime; -} PCC_SUBSPACE_CHANNEL_TIMING_INFO; - -/** A structure that describes a - Generic PCC Subspace (Type 0). -*/ -typedef struct CmArmPccSubspaceGenericInfo { - /** Subspace Id. - - Cf. ACPI 6.4, s14.7 Referencing the PCC address space - Cf. s14.1.2 Platform Communications Channel Subspace Structures - The subspace ID of a PCC subspace is its index in the array of - subspace structures, starting with subspace 0. - - At most 256 subspaces are supported. - */ - UINT8 SubspaceId; - - /// Table type (or subspace). - UINT8 Type; - - /// Base address of the shared memory range. - /// This field is ignored for the PCC Subspace type 5 (HW Registers based). - UINT64 BaseAddress; - - /// Address length. - UINT64 AddressLength; - - /// Doorbell Register. - PCC_MAILBOX_REGISTER_INFO DoorbellReg; - - /// Mailbox Timings. - PCC_SUBSPACE_CHANNEL_TIMING_INFO ChannelTiming; -} PCC_SUBSPACE_GENERIC_INFO; - /** A structure that describes a PCC Subspace of type 0 (Generic). -- 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116991): https://edk2.groups.io/g/devel/message/116991 Mute This Topic: https://groups.io/mt/105068168/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-