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