mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-23 21:54:27 +02:00
DynamicTablesPkg: Move PCC structure definitions to Arch Common
Move PCC structure definitions from Arm Namespace header file to the Arch Common namespace header file. Cc: Pierre Gondois <Pierre.Gondois@arm.com> Cc: Yeo Reum Yun <YeoReum.Yun@arm.com> Cc: AbdulLateef Attar <AbdulLateef.Attar@amd.com> Cc: Jeshua Smith <jeshuas@nvidia.com> Cc: Jeff Brasen <jbrasen@nvidia.com> Cc: Girish Mahadevan <gmahadevan@nvidia.com> Cc: Leif Lindholm <quic_llindhol@quicinc.com> Cc: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com> Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com> Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
This commit is contained in:
parent
ff249c62e3
commit
b0ecf17a31
@ -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_
|
||||
|
@ -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).
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user