blob: 70296f71d4e04b9b6c14e15d5b86eb3f5feb4a1f [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Christopher Ferris10a76e62022-06-08 13:31:52 -07007#ifndef _UAPI_ASM_X86_AMD_HSMP_H_
8#define _UAPI_ASM_X86_AMD_HSMP_H_
9#include <linux/types.h>
10#pragma pack(4)
11#define HSMP_MAX_MSG_LEN 8
12enum hsmp_message_ids {
13 HSMP_TEST = 1,
14 HSMP_GET_SMU_VER,
15 HSMP_GET_PROTO_VER,
16 HSMP_GET_SOCKET_POWER,
17 HSMP_SET_SOCKET_POWER_LIMIT,
18 HSMP_GET_SOCKET_POWER_LIMIT,
19 HSMP_GET_SOCKET_POWER_LIMIT_MAX,
20 HSMP_SET_BOOST_LIMIT,
21 HSMP_SET_BOOST_LIMIT_SOCKET,
22 HSMP_GET_BOOST_LIMIT,
23 HSMP_GET_PROC_HOT,
24 HSMP_SET_XGMI_LINK_WIDTH,
25 HSMP_SET_DF_PSTATE,
26 HSMP_SET_AUTO_DF_PSTATE,
27 HSMP_GET_FCLK_MCLK,
28 HSMP_GET_CCLK_THROTTLE_LIMIT,
29 HSMP_GET_C0_PERCENT,
30 HSMP_SET_NBIO_DPM_LEVEL,
Christopher Ferris80ae69d2022-08-02 16:32:21 -070031 HSMP_GET_NBIO_DPM_LEVEL,
32 HSMP_GET_DDR_BANDWIDTH,
Christopher Ferris10a76e62022-06-08 13:31:52 -070033 HSMP_GET_TEMP_MONITOR,
Christopher Ferris80ae69d2022-08-02 16:32:21 -070034 HSMP_GET_DIMM_TEMP_RANGE,
35 HSMP_GET_DIMM_POWER,
36 HSMP_GET_DIMM_THERMAL,
37 HSMP_GET_SOCKET_FREQ_LIMIT,
38 HSMP_GET_CCLK_CORE_LIMIT,
39 HSMP_GET_RAILS_SVI,
40 HSMP_GET_SOCKET_FMAX_FMIN,
41 HSMP_GET_IOLINK_BANDWITH,
42 HSMP_GET_XGMI_BANDWITH,
43 HSMP_SET_GMI3_WIDTH,
44 HSMP_SET_PCI_RATE,
45 HSMP_SET_POWER_MODE,
46 HSMP_SET_PSTATE_MAX_MIN,
Christopher Ferris10a76e62022-06-08 13:31:52 -070047 HSMP_MSG_ID_MAX,
48};
49struct hsmp_message {
50 __u32 msg_id;
51 __u16 num_args;
52 __u16 response_sz;
53 __u32 args[HSMP_MAX_MSG_LEN];
54 __u16 sock_ind;
55};
56enum hsmp_msg_type {
57 HSMP_RSVD = - 1,
58 HSMP_SET = 0,
59 HSMP_GET = 1,
60};
61struct hsmp_msg_desc {
62 int num_args;
63 int response_sz;
64 enum hsmp_msg_type type;
65};
66static const struct hsmp_msg_desc hsmp_msg_desc_table[] = {
67 {
68 0, 0, HSMP_RSVD
69 }
70 , {
71 1, 1, HSMP_GET
72 }
73 , {
74 0, 1, HSMP_GET
75 }
76 , {
77 0, 1, HSMP_GET
78 }
79 , {
80 0, 1, HSMP_GET
81 }
82 , {
83 1, 0, HSMP_SET
84 }
85 , {
86 0, 1, HSMP_GET
87 }
88 , {
89 0, 1, HSMP_GET
90 }
91 , {
92 1, 0, HSMP_SET
93 }
94 , {
95 1, 0, HSMP_SET
96 }
97 , {
98 1, 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 0, 0, HSMP_SET
111 }
112 , {
113 0, 2, HSMP_GET
114 }
115 , {
116 0, 1, HSMP_GET
117 }
118 , {
119 0, 1, HSMP_GET
120 }
121 , {
122 1, 0, HSMP_SET
123 }
124 , {
Christopher Ferris80ae69d2022-08-02 16:32:21 -0700125 1, 1, HSMP_GET
Christopher Ferris10a76e62022-06-08 13:31:52 -0700126 }
127 , {
128 0, 1, HSMP_GET
129 }
130 , {
131 0, 1, HSMP_GET
132 }
Christopher Ferris80ae69d2022-08-02 16:32:21 -0700133 , {
134 1, 1, HSMP_GET
135 }
136 , {
137 1, 1, HSMP_GET
138 }
139 , {
140 1, 1, HSMP_GET
141 }
142 , {
143 0, 1, HSMP_GET
144 }
145 , {
146 1, 1, HSMP_GET
147 }
148 , {
149 0, 1, HSMP_GET
150 }
151 , {
152 0, 1, HSMP_GET
153 }
154 , {
155 1, 1, HSMP_GET
156 }
157 , {
158 1, 1, HSMP_GET
159 }
160 , {
161 1, 0, HSMP_SET
162 }
163 , {
164 1, 1, HSMP_SET
165 }
166 , {
167 1, 0, HSMP_SET
168 }
169 , {
170 1, 0, HSMP_SET
171 }
Christopher Ferris10a76e62022-06-08 13:31:52 -0700172 ,
173};
174#pragma pack()
175#define HSMP_BASE_IOCTL_NR 0xF8
176#define HSMP_IOCTL_CMD _IOWR(HSMP_BASE_IOCTL_NR, 0, struct hsmp_message)
177#endif