TianoCore EDK2 master
|
#include <Library/BaseMemoryLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Protocol/ArmScmiPerformanceProtocol.h>
#include "ArmScmiPerformanceProtocolPrivate.h"
#include "ScmiPrivate.h"
Go to the source code of this file.
Variables | |
STATIC CONST SCMI_PERFORMANCE_PROTOCOL | PerformanceProtocol |
Copyright (c) 2017-2023, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
System Control and Management Interface V3.2, latest version at:
Definition in file ScmiPerformanceProtocol.c.
EFI_STATUS DescribeFastchannel | ( | IN SCMI_PERFORMANCE_PROTOCOL * | This, |
IN UINT32 | DomainId, | ||
IN SCMI_MESSAGE_ID_PERFORMANCE | MessageId, | ||
OUT SCMI_PERFORMANCE_FASTCHANNEL * | FastChannel | ||
) |
Discover the attributes of the FastChannel for the specified performance domain and the specified message.
[in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
[in] | DomainId | Identifier for the performance domain. |
[in] | MessageId | Message Id of the FastChannel to discover. Must be one of:
|
[out] | FastChannel | If success, contains the FastChannel description. |
EFI_SUCCESS | Performance level got successfully. |
EFI_DEVICE_ERROR | SCP returns an SCMI error. |
EFI_INVALID_PARAMETER | Invalid parameter. |
EFI_TIMEOUT | Time out. |
EFI_UNSUPPORTED | Unsupported. |
Definition at line 439 of file ScmiPerformanceProtocol.c.
STATIC EFI_STATUS PerformanceDescribeLevels | ( | IN SCMI_PERFORMANCE_PROTOCOL * | This, |
IN UINT32 | DomainId, | ||
OUT UINT32 * | NumLevels, | ||
IN OUT UINT32 * | LevelArraySize, | ||
OUT SCMI_PERFORMANCE_LEVEL * | LevelArray | ||
) |
Return list of performance domain levels of a given domain.
[in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
[in] | DomainId | Identifier for the performance domain. |
[out] | NumLevels | Total number of levels a domain can support. |
[in,out] | LevelArraySize | Size of the performance level array. |
[out] | LevelArray | Array of the performance levels. |
EFI_SUCCESS | Domain levels are returned. |
EFI_DEVICE_ERROR | SCP returns an SCMI error. |
EFI_BUFFER_TOO_SMALL | LevelArraySize is too small for the result. It has been updated to the size needed. |
!(EFI_SUCCESS) | Other errors. |
Definition at line 152 of file ScmiPerformanceProtocol.c.
STATIC EFI_STATUS PerformanceDomainAttributes | ( | IN SCMI_PERFORMANCE_PROTOCOL * | This, |
IN UINT32 | DomainId, | ||
OUT SCMI_PERFORMANCE_DOMAIN_ATTRIBUTES * | DomainAttributes | ||
) |
Return performance domain attributes.
[in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
[in] | DomainId | Identifier for the performance domain. |
[out] | Attributes | Performance domain attributes. |
EFI_SUCCESS | Domain attributes are returned. |
EFI_DEVICE_ERROR | SCP returns an SCMI error. |
!(EFI_SUCCESS) | Other errors. |
Definition at line 91 of file ScmiPerformanceProtocol.c.
STATIC EFI_STATUS PerformanceGetAttributes | ( | IN SCMI_PERFORMANCE_PROTOCOL * | This, |
OUT SCMI_PERFORMANCE_PROTOCOL_ATTRIBUTES * | Attributes | ||
) |
Return protocol attributes of the performance management protocol.
[in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
[out] | Attributes | Protocol attributes. |
EFI_SUCCESS | Protocol attributes are returned. |
EFI_DEVICE_ERROR | SCP returns an SCMI error. |
!(EFI_SUCCESS) | Other errors. |
Definition at line 53 of file ScmiPerformanceProtocol.c.
STATIC EFI_STATUS PerformanceGetVersion | ( | IN SCMI_PERFORMANCE_PROTOCOL * | This, |
OUT UINT32 * | Version | ||
) |
Return version of the performance management protocol supported by SCP. firmware.
[in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
[out] | Version | Version of the supported SCMI performance management protocol. |
EFI_SUCCESS | The version is returned. |
EFI_DEVICE_ERROR | SCP returns an SCMI error. |
!(EFI_SUCCESS) | Other errors. |
Definition at line 33 of file ScmiPerformanceProtocol.c.
EFI_STATUS PerformanceLevelGet | ( | IN SCMI_PERFORMANCE_PROTOCOL * | This, |
IN UINT32 | DomainId, | ||
OUT UINT32 * | Level | ||
) |
Get performance level of a domain.
[in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
[in] | DomainId | Identifier for the performance domain. |
[out] | Level | Performance level of the domain. |
EFI_SUCCESS | Performance level got successfully. |
EFI_DEVICE_ERROR | SCP returns an SCMI error. |
!(EFI_SUCCESS) | Other errors. |
Definition at line 381 of file ScmiPerformanceProtocol.c.
EFI_STATUS PerformanceLevelSet | ( | IN SCMI_PERFORMANCE_PROTOCOL * | This, |
IN UINT32 | DomainId, | ||
IN UINT32 | Level | ||
) |
Set performance level of a domain.
[in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
[in] | DomainId | Identifier for the performance domain. |
[in] | Level | Performance level of the domain. |
EFI_SUCCESS | Performance level set successfully. |
EFI_DEVICE_ERROR | SCP returns an SCMI error. |
!(EFI_SUCCESS) | Other errors. |
Definition at line 336 of file ScmiPerformanceProtocol.c.
EFI_STATUS PerformanceLimitsGet | ( | SCMI_PERFORMANCE_PROTOCOL * | This, |
UINT32 | DomainId, | ||
SCMI_PERFORMANCE_LIMITS * | Limits | ||
) |
Get performance limits of a domain.
[in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
[in] | DomainId | Identifier for the performance domain. |
[out] | Limit | Performance Limits of the domain. |
EFI_SUCCESS | Performance limits are returned. |
EFI_DEVICE_ERROR | SCP returns an SCMI error. |
!(EFI_SUCCESS) | Other errors. |
Definition at line 285 of file ScmiPerformanceProtocol.c.
EFI_STATUS PerformanceLimitsSet | ( | IN SCMI_PERFORMANCE_PROTOCOL * | This, |
IN UINT32 | DomainId, | ||
IN SCMI_PERFORMANCE_LIMITS * | Limits | ||
) |
Set performance limits of a domain.
[in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
[in] | DomainId | Identifier for the performance domain. |
[in] | Limit | Performance limit to set. |
EFI_SUCCESS | Performance limits set successfully. |
EFI_DEVICE_ERROR | SCP returns an SCMI error. |
!(EFI_SUCCESS) | Other errors. |
Definition at line 239 of file ScmiPerformanceProtocol.c.
EFI_STATUS ScmiPerformanceProtocolInit | ( | IN EFI_HANDLE * | Handle | ) |
Initialize performance management protocol and install on a given Handle.
[in] | Handle | Handle to install performance management protocol. |
EFI_SUCCESS | Performance protocol installed successfully. |
Definition at line 509 of file ScmiPerformanceProtocol.c.
STATIC CONST SCMI_PERFORMANCE_PROTOCOL PerformanceProtocol |
Definition at line 489 of file ScmiPerformanceProtocol.c.