• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _UAPI_ASM_X86_AMD_HSMP_H_
20 #define _UAPI_ASM_X86_AMD_HSMP_H_
21 #include <linux/types.h>
22 #pragma pack(4)
23 #define HSMP_MAX_MSG_LEN 8
24 enum hsmp_message_ids {
25   HSMP_TEST = 1,
26   HSMP_GET_SMU_VER,
27   HSMP_GET_PROTO_VER,
28   HSMP_GET_SOCKET_POWER,
29   HSMP_SET_SOCKET_POWER_LIMIT,
30   HSMP_GET_SOCKET_POWER_LIMIT,
31   HSMP_GET_SOCKET_POWER_LIMIT_MAX,
32   HSMP_SET_BOOST_LIMIT,
33   HSMP_SET_BOOST_LIMIT_SOCKET,
34   HSMP_GET_BOOST_LIMIT,
35   HSMP_GET_PROC_HOT,
36   HSMP_SET_XGMI_LINK_WIDTH,
37   HSMP_SET_DF_PSTATE,
38   HSMP_SET_AUTO_DF_PSTATE,
39   HSMP_GET_FCLK_MCLK,
40   HSMP_GET_CCLK_THROTTLE_LIMIT,
41   HSMP_GET_C0_PERCENT,
42   HSMP_SET_NBIO_DPM_LEVEL,
43   HSMP_GET_NBIO_DPM_LEVEL,
44   HSMP_GET_DDR_BANDWIDTH,
45   HSMP_GET_TEMP_MONITOR,
46   HSMP_GET_DIMM_TEMP_RANGE,
47   HSMP_GET_DIMM_POWER,
48   HSMP_GET_DIMM_THERMAL,
49   HSMP_GET_SOCKET_FREQ_LIMIT,
50   HSMP_GET_CCLK_CORE_LIMIT,
51   HSMP_GET_RAILS_SVI,
52   HSMP_GET_SOCKET_FMAX_FMIN,
53   HSMP_GET_IOLINK_BANDWITH,
54   HSMP_GET_XGMI_BANDWITH,
55   HSMP_SET_GMI3_WIDTH,
56   HSMP_SET_PCI_RATE,
57   HSMP_SET_POWER_MODE,
58   HSMP_SET_PSTATE_MAX_MIN,
59   HSMP_MSG_ID_MAX,
60 };
61 struct hsmp_message {
62   __u32 msg_id;
63   __u16 num_args;
64   __u16 response_sz;
65   __u32 args[HSMP_MAX_MSG_LEN];
66   __u16 sock_ind;
67 };
68 enum hsmp_msg_type {
69   HSMP_RSVD = - 1,
70   HSMP_SET = 0,
71   HSMP_GET = 1,
72 };
73 struct hsmp_msg_desc {
74   int num_args;
75   int response_sz;
76   enum hsmp_msg_type type;
77 };
78 static const struct hsmp_msg_desc hsmp_msg_desc_table[] = {
79  {
80     0, 0, HSMP_RSVD
81   }
82  , {
83     1, 1, HSMP_GET
84   }
85  , {
86     0, 1, HSMP_GET
87   }
88  , {
89     0, 1, HSMP_GET
90   }
91  , {
92     0, 1, HSMP_GET
93   }
94  , {
95     1, 0, HSMP_SET
96   }
97  , {
98     0, 1, HSMP_GET
99   }
100  , {
101     0, 1, HSMP_GET
102   }
103  , {
104     1, 0, HSMP_SET
105   }
106  , {
107     1, 0, HSMP_SET
108   }
109  , {
110     1, 1, HSMP_GET
111   }
112  , {
113     0, 1, HSMP_GET
114   }
115  , {
116     1, 0, HSMP_SET
117   }
118  , {
119     1, 0, HSMP_SET
120   }
121  , {
122     0, 0, HSMP_SET
123   }
124  , {
125     0, 2, HSMP_GET
126   }
127  , {
128     0, 1, HSMP_GET
129   }
130  , {
131     0, 1, HSMP_GET
132   }
133  , {
134     1, 0, HSMP_SET
135   }
136  , {
137     1, 1, HSMP_GET
138   }
139  , {
140     0, 1, HSMP_GET
141   }
142  , {
143     0, 1, HSMP_GET
144   }
145  , {
146     1, 1, HSMP_GET
147   }
148  , {
149     1, 1, HSMP_GET
150   }
151  , {
152     1, 1, HSMP_GET
153   }
154  , {
155     0, 1, HSMP_GET
156   }
157  , {
158     1, 1, HSMP_GET
159   }
160  , {
161     0, 1, HSMP_GET
162   }
163  , {
164     0, 1, HSMP_GET
165   }
166  , {
167     1, 1, HSMP_GET
168   }
169  , {
170     1, 1, HSMP_GET
171   }
172  , {
173     1, 0, HSMP_SET
174   }
175  , {
176     1, 1, HSMP_SET
177   }
178  , {
179     1, 0, HSMP_SET
180   }
181  , {
182     1, 0, HSMP_SET
183   }
184  ,
185 };
186 #pragma pack()
187 #define HSMP_BASE_IOCTL_NR 0xF8
188 #define HSMP_IOCTL_CMD _IOWR(HSMP_BASE_IOCTL_NR, 0, struct hsmp_message)
189 #endif
190