[go: nahoru, domu]

10833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs#ifndef __NVBIOS_VOLT_H__
20833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs#define __NVBIOS_VOLT_H__
30833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs
40833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggsstruct nouveau_bios;
50833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs
60833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggsstruct nvbios_volt {
70833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs	u8  vidmask;
80833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs	u32 min;
90833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs	u32 max;
100833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs	u32 base;
110833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs	s16 step;
120833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs};
130833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs
140833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggsu16 nvbios_volt_table(struct nouveau_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
150833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggsu16 nvbios_volt_parse(struct nouveau_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
160833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs		      struct nvbios_volt *);
170833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs
180833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggsstruct nvbios_volt_entry {
190833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs	u32 voltage;
200833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs	u8  vid;
210833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs};
220833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs
230833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggsu16 nvbios_volt_entry(struct nouveau_bios *, int idx, u8 *ver, u8 *len);
240833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggsu16 nvbios_volt_entry_parse(struct nouveau_bios *, int idx, u8 *ver, u8 *len,
250833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs			    struct nvbios_volt_entry *);
260833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs
270833428e7d1b250afbd41e0a4c8c247cccd15aadBen Skeggs#endif
28