These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / gpu / drm / nouveau / include / nvkm / subdev / bios / volt.h
1 #ifndef __NVBIOS_VOLT_H__
2 #define __NVBIOS_VOLT_H__
3
4 enum nvbios_volt_type {
5         NVBIOS_VOLT_GPIO = 0,
6         NVBIOS_VOLT_PWM,
7 };
8
9 struct nvbios_volt {
10         enum nvbios_volt_type type;
11         u32 min;
12         u32 max;
13         u32 base;
14
15         /* GPIO mode */
16         u8  vidmask;
17         s16 step;
18
19         /* PWM mode */
20         u32 pwm_freq;
21         u32 pwm_range;
22 };
23
24 u16 nvbios_volt_table(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
25 u16 nvbios_volt_parse(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
26                       struct nvbios_volt *);
27
28 struct nvbios_volt_entry {
29         u32 voltage;
30         u8  vid;
31 };
32
33 u16 nvbios_volt_entry(struct nvkm_bios *, int idx, u8 *ver, u8 *len);
34 u16 nvbios_volt_entry_parse(struct nvkm_bios *, int idx, u8 *ver, u8 *len,
35                             struct nvbios_volt_entry *);
36 #endif