Lines Matching refs:bios
29 nvbios_dp_table(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len) in nvbios_dp_table() argument
33 if (!bit_entry(bios, 'd', &d)) { in nvbios_dp_table()
35 u16 data = nv_ro16(bios, d.offset); in nvbios_dp_table()
37 *ver = nv_ro08(bios, data + 0x00); in nvbios_dp_table()
43 *hdr = nv_ro08(bios, data + 0x01); in nvbios_dp_table()
44 *len = nv_ro08(bios, data + 0x02); in nvbios_dp_table()
45 *cnt = nv_ro08(bios, data + 0x03); in nvbios_dp_table()
58 nvbios_dpout_entry(struct nvkm_bios *bios, u8 idx, in nvbios_dpout_entry() argument
61 u16 data = nvbios_dp_table(bios, ver, hdr, cnt, len); in nvbios_dpout_entry()
63 u16 outp = nv_ro16(bios, data + *hdr + idx * *len); in nvbios_dpout_entry()
67 *hdr = nv_ro08(bios, data + 0x04); in nvbios_dpout_entry()
68 *len = nv_ro08(bios, data + 0x05); in nvbios_dpout_entry()
69 *cnt = nv_ro08(bios, outp + 0x04); in nvbios_dpout_entry()
73 *hdr = nv_ro08(bios, data + 0x04); in nvbios_dpout_entry()
87 nvbios_dpout_parse(struct nvkm_bios *bios, u8 idx, in nvbios_dpout_parse() argument
91 u16 data = nvbios_dpout_entry(bios, idx, ver, hdr, cnt, len); in nvbios_dpout_parse()
94 info->type = nv_ro16(bios, data + 0x00); in nvbios_dpout_parse()
95 info->mask = nv_ro16(bios, data + 0x02); in nvbios_dpout_parse()
99 info->flags = nv_ro08(bios, data + 0x05); in nvbios_dpout_parse()
100 info->script[0] = nv_ro16(bios, data + 0x06); in nvbios_dpout_parse()
101 info->script[1] = nv_ro16(bios, data + 0x08); in nvbios_dpout_parse()
102 info->lnkcmp = nv_ro16(bios, data + 0x0a); in nvbios_dpout_parse()
104 info->script[2] = nv_ro16(bios, data + 0x0c); in nvbios_dpout_parse()
105 info->script[3] = nv_ro16(bios, data + 0x0e); in nvbios_dpout_parse()
108 info->script[4] = nv_ro16(bios, data + 0x10); in nvbios_dpout_parse()
112 info->flags = nv_ro08(bios, data + 0x04); in nvbios_dpout_parse()
113 info->script[0] = nv_ro16(bios, data + 0x05); in nvbios_dpout_parse()
114 info->script[1] = nv_ro16(bios, data + 0x07); in nvbios_dpout_parse()
115 info->lnkcmp = nv_ro16(bios, data + 0x09); in nvbios_dpout_parse()
116 info->script[2] = nv_ro16(bios, data + 0x0b); in nvbios_dpout_parse()
117 info->script[3] = nv_ro16(bios, data + 0x0d); in nvbios_dpout_parse()
118 info->script[4] = nv_ro16(bios, data + 0x0f); in nvbios_dpout_parse()
129 nvbios_dpout_match(struct nvkm_bios *bios, u16 type, u16 mask, in nvbios_dpout_match() argument
134 while ((data = nvbios_dpout_parse(bios, idx++, ver, hdr, cnt, len, info)) || *ver) { in nvbios_dpout_match()
144 nvbios_dpcfg_entry(struct nvkm_bios *bios, u16 outp, u8 idx, in nvbios_dpcfg_entry() argument
148 outp = nvbios_dp_table(bios, ver, hdr, cnt, len); in nvbios_dpcfg_entry()
150 *len = nv_ro08(bios, outp + 0x06); in nvbios_dpcfg_entry()
151 *cnt = nv_ro08(bios, outp + 0x07); in nvbios_dpcfg_entry()
161 nvbios_dpcfg_parse(struct nvkm_bios *bios, u16 outp, u8 idx, in nvbios_dpcfg_parse() argument
165 u16 data = nvbios_dpcfg_entry(bios, outp, idx, ver, hdr, cnt, len); in nvbios_dpcfg_parse()
170 info->dc = nv_ro08(bios, data + 0x02); in nvbios_dpcfg_parse()
171 info->pe = nv_ro08(bios, data + 0x03); in nvbios_dpcfg_parse()
172 info->tx_pu = nv_ro08(bios, data + 0x04); in nvbios_dpcfg_parse()
177 info->pc = nv_ro08(bios, data + 0x00); in nvbios_dpcfg_parse()
178 info->dc = nv_ro08(bios, data + 0x01); in nvbios_dpcfg_parse()
179 info->pe = nv_ro08(bios, data + 0x02); in nvbios_dpcfg_parse()
180 info->tx_pu = nv_ro08(bios, data + 0x03) & 0x0f; in nvbios_dpcfg_parse()
191 nvbios_dpcfg_match(struct nvkm_bios *bios, u16 outp, u8 pc, u8 vs, u8 pe, in nvbios_dpcfg_match() argument
206 while ((data = nvbios_dpcfg_entry(bios, outp, ++idx, in nvbios_dpcfg_match()
208 if (nv_ro08(bios, data + 0x00) == vs && in nvbios_dpcfg_match()
209 nv_ro08(bios, data + 0x01) == pe) in nvbios_dpcfg_match()
214 return nvbios_dpcfg_parse(bios, outp, idx, ver, hdr, cnt, len, info); in nvbios_dpcfg_match()