]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2TbltDevicePkg/Include/Protocol/EnhancedSpeedstep.h
ArmPkg/CompilerIntrinsicsLib: Add uread, uwrite GCC assembly sources
[mirror_edk2.git] / Vlv2TbltDevicePkg / Include / Protocol / EnhancedSpeedstep.h
1 /*++
2
3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
4
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7
8
9
10
11 Module Name:
12
13 EnhancedSpeedstep.h
14
15 Abstract:
16
17 Enhanced Speedstep protocol
18
19 The Enhanced Speedstep Protocol support.
20
21 **/
22
23 #ifndef _ENHANCED_SPEEDSTEP_H_
24 #define _ENHANCED_SPEEDSTEP_H_
25
26 #define ENHANCED_SPEEDSTEP_PROTOCOL_GUID \
27 { \
28 0x91a1ddcf, 0x5374, 0x4939, 0x89, 0x51, 0xd7, 0x29, 0x3f, 0x1a, 0x78, 0x6f \
29 }
30
31 typedef struct _ENHANCED_SPEEDSTEP_PROTOCOL ENHANCED_SPEEDSTEP_PROTOCOL;
32
33 typedef struct {
34 UINT8 Version; // EIST State format
35 UINT8 Size; // Size of element
36 UINT32 RatioStep; // Step
37 UINT32 MinRatio; // Calculated min ratio
38 UINT32 MaxRatio; // Calculated max ratio
39 UINT32 MinCoreFreq; // Calculated min freq
40 UINT32 MaxCoreFreq; // Calculated max freq
41 UINT32 MinPower; // Calculated min power
42 UINT32 MaxPower; // Calculated max power
43 UINT32 NumStates; // Number of states
44 } EIST_INFORMATION;
45
46 typedef struct {
47 UINT32 CoreFrequency;
48 UINT32 Power;
49 UINT32 TransitionLatency;
50 UINT32 BusMasterLatency;
51 UINT32 Control;
52 UINT32 Status;
53 } EFI_ACPI_CPU_PSS_STATE;
54
55 typedef
56 EFI_STATUS
57 (EFIAPI *GET_EIST_TABLE) (
58 IN ENHANCED_SPEEDSTEP_PROTOCOL *This,
59 OUT EIST_INFORMATION **EistInformation,
60 OUT VOID **PssStates
61 );
62
63 struct _ENHANCED_SPEEDSTEP_PROTOCOL {
64 UINT32 ProcApicId;
65 GET_EIST_TABLE GetEistTable;
66 };
67
68 //
69 // There will be an instance of this protocol for every processor
70 // in the system. ProcNumber is used to manage all the different
71 // processors in the system and passed into the MP protocol
72 // to run code streams on application processors
73 //
74 extern EFI_GUID gEnhancedSpeedstepProtocolGuid;
75
76 #endif