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