mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-25 22:54:51 +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;
|
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()
|
#pragma pack()
|
||||||
|
|
||||||
#endif // ARCH_COMMON_NAMESPACE_OBJECTS_H_
|
#endif // ARCH_COMMON_NAMESPACE_OBJECTS_H_
|
||||||
|
@ -714,78 +714,6 @@ typedef struct CmArmRmrDescriptor {
|
|||||||
UINT64 Length;
|
UINT64 Length;
|
||||||
} CM_ARM_MEMORY_RANGE_DESCRIPTOR;
|
} 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
|
/** A structure that describes a
|
||||||
PCC Subspace of type 0 (Generic).
|
PCC Subspace of type 0 (Generic).
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user