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