blob: bd5b64125eeda69b4169c786c7f6b0d6b928d402 [file] [log] [blame]
Ben Skeggs671e9692015-11-08 11:56:00 +10001#ifndef __NVIF_IF0001_H__
2#define __NVIF_IF0001_H__
3
4#define NVIF_CONTROL_PSTATE_INFO 0x00
5#define NVIF_CONTROL_PSTATE_ATTR 0x01
6#define NVIF_CONTROL_PSTATE_USER 0x02
7
8struct nvif_control_pstate_info_v0 {
9 __u8 version;
10 __u8 count; /* out: number of power states */
11#define NVIF_CONTROL_PSTATE_INFO_V0_USTATE_DISABLE (-1)
12#define NVIF_CONTROL_PSTATE_INFO_V0_USTATE_PERFMON (-2)
13 __s8 ustate_ac; /* out: target pstate index */
14 __s8 ustate_dc; /* out: target pstate index */
15 __s8 pwrsrc; /* out: current power source */
16#define NVIF_CONTROL_PSTATE_INFO_V0_PSTATE_UNKNOWN (-1)
17#define NVIF_CONTROL_PSTATE_INFO_V0_PSTATE_PERFMON (-2)
18 __s8 pstate; /* out: current pstate index */
19 __u8 pad06[2];
20};
21
22struct nvif_control_pstate_attr_v0 {
23 __u8 version;
24#define NVIF_CONTROL_PSTATE_ATTR_V0_STATE_CURRENT (-1)
25 __s8 state; /* in: index of pstate to query
26 * out: pstate identifier
27 */
28 __u8 index; /* in: index of attribute to query
29 * out: index of next attribute, or 0 if no more
30 */
31 __u8 pad03[5];
32 __u32 min;
33 __u32 max;
34 char name[32];
35 char unit[16];
36};
37
38struct nvif_control_pstate_user_v0 {
39 __u8 version;
40#define NVIF_CONTROL_PSTATE_USER_V0_STATE_UNKNOWN (-1)
41#define NVIF_CONTROL_PSTATE_USER_V0_STATE_PERFMON (-2)
42 __s8 ustate; /* in: pstate identifier */
43 __s8 pwrsrc; /* in: target power source */
44 __u8 pad03[5];
45};
46#endif