Lines Matching full:bios
24 #include <subdev/bios.h>
25 #include <subdev/bios/bit.h>
26 #include <subdev/bios/disp.h>
29 nvbios_disp_table(struct nvkm_bios *bios, in nvbios_disp_table() argument
34 if (!bit_entry(bios, 'U', &U)) { in nvbios_disp_table()
36 u16 data = nvbios_rd16(bios, U.offset); in nvbios_disp_table()
38 *ver = nvbios_rd08(bios, data + 0x00); in nvbios_disp_table()
43 *hdr = nvbios_rd08(bios, data + 0x01); in nvbios_disp_table()
44 *len = nvbios_rd08(bios, data + 0x02); in nvbios_disp_table()
45 *cnt = nvbios_rd08(bios, data + 0x03); in nvbios_disp_table()
46 *sub = nvbios_rd08(bios, data + 0x04); in nvbios_disp_table()
59 nvbios_disp_entry(struct nvkm_bios *bios, u8 idx, u8 *ver, u8 *len, u8 *sub) in nvbios_disp_entry() argument
62 u16 data = nvbios_disp_table(bios, ver, &hdr, &cnt, len, sub); in nvbios_disp_entry()
70 nvbios_disp_parse(struct nvkm_bios *bios, u8 idx, u8 *ver, u8 *len, u8 *sub, in nvbios_disp_parse() argument
73 u16 data = nvbios_disp_entry(bios, idx, ver, len, sub); in nvbios_disp_parse()
75 info->data = nvbios_rd16(bios, data + 0); in nvbios_disp_parse()
82 nvbios_outp_entry(struct nvkm_bios *bios, u8 idx, in nvbios_outp_entry() argument
86 u16 data = nvbios_disp_parse(bios, idx, ver, len, hdr, &info); in nvbios_outp_entry()
88 *cnt = nvbios_rd08(bios, info.data + 0x05); in nvbios_outp_entry()
96 nvbios_outp_parse(struct nvkm_bios *bios, u8 idx, in nvbios_outp_parse() argument
99 u16 data = nvbios_outp_entry(bios, idx, ver, hdr, cnt, len); in nvbios_outp_parse()
101 info->type = nvbios_rd16(bios, data + 0x00); in nvbios_outp_parse()
102 info->mask = nvbios_rd32(bios, data + 0x02); in nvbios_outp_parse()
105 info->script[0] = nvbios_rd16(bios, data + 0x06); in nvbios_outp_parse()
106 info->script[1] = nvbios_rd16(bios, data + 0x08); in nvbios_outp_parse()
109 info->script[2] = nvbios_rd16(bios, data + 0x0a); in nvbios_outp_parse()
116 nvbios_outp_match(struct nvkm_bios *bios, u16 type, u16 mask, in nvbios_outp_match() argument
120 while ((data = nvbios_outp_parse(bios, idx++, ver, hdr, cnt, len, info)) || *ver) { in nvbios_outp_match()
130 nvbios_ocfg_entry(struct nvkm_bios *bios, u16 outp, u8 idx, in nvbios_ocfg_entry() argument
139 nvbios_ocfg_parse(struct nvkm_bios *bios, u16 outp, u8 idx, in nvbios_ocfg_parse() argument
142 u16 data = nvbios_ocfg_entry(bios, outp, idx, ver, hdr, cnt, len); in nvbios_ocfg_parse()
144 info->proto = nvbios_rd08(bios, data + 0x00); in nvbios_ocfg_parse()
145 info->flags = nvbios_rd16(bios, data + 0x01); in nvbios_ocfg_parse()
146 info->clkcmp[0] = nvbios_rd16(bios, data + 0x02); in nvbios_ocfg_parse()
147 info->clkcmp[1] = nvbios_rd16(bios, data + 0x04); in nvbios_ocfg_parse()
153 nvbios_ocfg_match(struct nvkm_bios *bios, u16 outp, u8 proto, u8 flags, in nvbios_ocfg_match() argument
157 while ((data = nvbios_ocfg_parse(bios, outp, idx++, ver, hdr, cnt, len, info))) { in nvbios_ocfg_match()
166 nvbios_oclk_match(struct nvkm_bios *bios, u16 cmp, u32 khz) in nvbios_oclk_match() argument
169 if (khz / 10 >= nvbios_rd16(bios, cmp + 0x00)) in nvbios_oclk_match()
170 return nvbios_rd16(bios, cmp + 0x02); in nvbios_oclk_match()