Lines Matching refs:bios

31 nvbios_perf_table(struct nvkm_bios *bios, u8 *ver, u8 *hdr,  in nvbios_perf_table()  argument
37 if (!bit_entry(bios, 'P', &bit_P)) { in nvbios_perf_table()
39 perf = nv_ro16(bios, bit_P.offset + 0); in nvbios_perf_table()
41 *ver = nv_ro08(bios, perf + 0); in nvbios_perf_table()
42 *hdr = nv_ro08(bios, perf + 1); in nvbios_perf_table()
44 *cnt = nv_ro08(bios, perf + 5); in nvbios_perf_table()
45 *len = nv_ro08(bios, perf + 2); in nvbios_perf_table()
46 *snr = nv_ro08(bios, perf + 4); in nvbios_perf_table()
47 *ssz = nv_ro08(bios, perf + 3); in nvbios_perf_table()
51 *cnt = nv_ro08(bios, perf + 2); in nvbios_perf_table()
52 *len = nv_ro08(bios, perf + 3); in nvbios_perf_table()
53 *snr = nv_ro08(bios, perf + 4); in nvbios_perf_table()
54 *ssz = nv_ro08(bios, perf + 5); in nvbios_perf_table()
61 if (bios->bmp_offset) { in nvbios_perf_table()
62 if (nv_ro08(bios, bios->bmp_offset + 6) >= 0x25) { in nvbios_perf_table()
63 perf = nv_ro16(bios, bios->bmp_offset + 0x94); in nvbios_perf_table()
65 *hdr = nv_ro08(bios, perf + 0); in nvbios_perf_table()
66 *ver = nv_ro08(bios, perf + 1); in nvbios_perf_table()
67 *cnt = nv_ro08(bios, perf + 2); in nvbios_perf_table()
68 *len = nv_ro08(bios, perf + 3); in nvbios_perf_table()
80 nvbios_perf_entry(struct nvkm_bios *bios, int idx, in nvbios_perf_entry() argument
84 u16 perf = nvbios_perf_table(bios, ver, hdr, cnt, len, &snr, &ssz); in nvbios_perf_entry()
96 nvbios_perfEp(struct nvkm_bios *bios, int idx, in nvbios_perfEp() argument
99 u16 perf = nvbios_perf_entry(bios, idx, ver, hdr, cnt, len); in nvbios_perfEp()
101 info->pstate = nv_ro08(bios, perf + 0x00); in nvbios_perfEp()
106 info->core = nv_ro32(bios, perf + 0x01) * 10; in nvbios_perfEp()
107 info->memory = nv_ro32(bios, perf + 0x05) * 20; in nvbios_perfEp()
108 info->fanspeed = nv_ro08(bios, perf + 0x37); in nvbios_perfEp()
110 info->voltage = nv_ro08(bios, perf + 0x38); in nvbios_perfEp()
115 info->fanspeed = nv_ro08(bios, perf + 0x04); in nvbios_perfEp()
116 info->voltage = nv_ro08(bios, perf + 0x05); in nvbios_perfEp()
117 info->shader = nv_ro16(bios, perf + 0x06) * 1000; in nvbios_perfEp()
119 nv_ro08(bios, perf + 0x08) * 1000; in nvbios_perfEp()
120 switch (nv_device(bios)->chipset) { in nvbios_perfEp()
123 info->memory = nv_ro16(bios, perf + 0x0b) * 1000; in nvbios_perfEp()
126 info->memory = nv_ro16(bios, perf + 0x0b) * 2000; in nvbios_perfEp()
131 info->fanspeed = nv_ro08(bios, perf + 0x04); in nvbios_perfEp()
132 info->voltage = nv_ro08(bios, perf + 0x05); in nvbios_perfEp()
133 info->core = nv_ro16(bios, perf + 0x06) * 1000; in nvbios_perfEp()
134 info->shader = nv_ro16(bios, perf + 0x0a) * 1000; in nvbios_perfEp()
135 info->memory = nv_ro16(bios, perf + 0x0c) * 1000; in nvbios_perfEp()
138 info->script = nv_ro16(bios, perf + 0x02); in nvbios_perfEp()
140 info->fanspeed = nv_ro08(bios, perf + 0x06); in nvbios_perfEp()
141 info->voltage = nv_ro08(bios, perf + 0x07); in nvbios_perfEp()
142 info->core = nv_ro16(bios, perf + 0x08) * 1000; in nvbios_perfEp()
143 info->shader = nv_ro16(bios, perf + 0x0a) * 1000; in nvbios_perfEp()
144 info->memory = nv_ro16(bios, perf + 0x0c) * 1000; in nvbios_perfEp()
145 info->vdec = nv_ro16(bios, perf + 0x10) * 1000; in nvbios_perfEp()
146 info->disp = nv_ro16(bios, perf + 0x14) * 1000; in nvbios_perfEp()
149 info->voltage = nv_ro08(bios, perf + 0x02); in nvbios_perfEp()
158 nvbios_perfSe(struct nvkm_bios *bios, u32 perfE, int idx, in nvbios_perfSe() argument
170 nvbios_perfSp(struct nvkm_bios *bios, u32 perfE, int idx, in nvbios_perfSp() argument
174 u32 data = nvbios_perfSe(bios, perfE, idx, ver, hdr, cnt, len); in nvbios_perfSp()
178 info->v40.freq = (nv_ro16(bios, data + 0x00) & 0x3fff) * 1000; in nvbios_perfSp()
187 nvbios_perf_fan_parse(struct nvkm_bios *bios, in nvbios_perf_fan_parse() argument
191 u16 perf = nvbios_perf_table(bios, &ver, &hdr, &cnt, &len, &snr, &ssz); in nvbios_perf_fan_parse()
196 fan->pwm_divisor = nv_ro16(bios, perf + 6); in nvbios_perf_fan_parse()