Lines Matching refs:info

223 nvbios_pll_parse(struct nvkm_bios *bios, u32 type, struct nvbios_pll *info)  in nvbios_pll_parse()  argument
241 memset(info, 0, sizeof(*info)); in nvbios_pll_parse()
242 info->type = type; in nvbios_pll_parse()
243 info->reg = reg; in nvbios_pll_parse()
250 info->vco1.min_freq = nvbios_rd32(bios, data + 0); in nvbios_pll_parse()
251 info->vco1.max_freq = nvbios_rd32(bios, data + 4); in nvbios_pll_parse()
252 info->vco2.min_freq = nvbios_rd32(bios, data + 8); in nvbios_pll_parse()
253 info->vco2.max_freq = nvbios_rd32(bios, data + 12); in nvbios_pll_parse()
254 info->vco1.min_inputfreq = nvbios_rd32(bios, data + 16); in nvbios_pll_parse()
255 info->vco2.min_inputfreq = nvbios_rd32(bios, data + 20); in nvbios_pll_parse()
256 info->vco1.max_inputfreq = INT_MAX; in nvbios_pll_parse()
257 info->vco2.max_inputfreq = INT_MAX; in nvbios_pll_parse()
259 info->max_p = 0x7; in nvbios_pll_parse()
260 info->max_p_usable = 0x6; in nvbios_pll_parse()
265 info->vco1.min_n = 0x5; in nvbios_pll_parse()
268 info->vco1.min_n = 0x1; in nvbios_pll_parse()
271 info->vco1.max_n = 0xff; in nvbios_pll_parse()
272 info->vco1.min_m = 0x1; in nvbios_pll_parse()
273 info->vco1.max_m = 0xd; in nvbios_pll_parse()
281 info->vco2.min_n = 0x4; in nvbios_pll_parse()
285 info->vco2.max_n = 0x1f; in nvbios_pll_parse()
288 info->vco2.max_n = 0x28; in nvbios_pll_parse()
291 info->vco2.min_m = 0x1; in nvbios_pll_parse()
292 info->vco2.max_m = 0x4; in nvbios_pll_parse()
296 info->vco1.min_freq = nvbios_rd16(bios, data + 4) * 1000; in nvbios_pll_parse()
297 info->vco1.max_freq = nvbios_rd16(bios, data + 6) * 1000; in nvbios_pll_parse()
298 info->vco2.min_freq = nvbios_rd16(bios, data + 8) * 1000; in nvbios_pll_parse()
299 info->vco2.max_freq = nvbios_rd16(bios, data + 10) * 1000; in nvbios_pll_parse()
300 info->vco1.min_inputfreq = nvbios_rd16(bios, data + 12) * 1000; in nvbios_pll_parse()
301 info->vco2.min_inputfreq = nvbios_rd16(bios, data + 14) * 1000; in nvbios_pll_parse()
302 info->vco1.max_inputfreq = nvbios_rd16(bios, data + 16) * 1000; in nvbios_pll_parse()
303 info->vco2.max_inputfreq = nvbios_rd16(bios, data + 18) * 1000; in nvbios_pll_parse()
304 info->vco1.min_n = nvbios_rd08(bios, data + 20); in nvbios_pll_parse()
305 info->vco1.max_n = nvbios_rd08(bios, data + 21); in nvbios_pll_parse()
306 info->vco1.min_m = nvbios_rd08(bios, data + 22); in nvbios_pll_parse()
307 info->vco1.max_m = nvbios_rd08(bios, data + 23); in nvbios_pll_parse()
308 info->vco2.min_n = nvbios_rd08(bios, data + 24); in nvbios_pll_parse()
309 info->vco2.max_n = nvbios_rd08(bios, data + 25); in nvbios_pll_parse()
310 info->vco2.min_m = nvbios_rd08(bios, data + 26); in nvbios_pll_parse()
311 info->vco2.max_m = nvbios_rd08(bios, data + 27); in nvbios_pll_parse()
313 info->max_p = nvbios_rd08(bios, data + 29); in nvbios_pll_parse()
314 info->max_p_usable = info->max_p; in nvbios_pll_parse()
316 info->max_p_usable = 0x6; in nvbios_pll_parse()
317 info->bias_p = nvbios_rd08(bios, data + 30); in nvbios_pll_parse()
320 info->refclk = nvbios_rd32(bios, data + 31); in nvbios_pll_parse()
325 info->vco1.min_freq = nvbios_rd16(bios, data + 0) * 1000; in nvbios_pll_parse()
326 info->vco1.max_freq = nvbios_rd16(bios, data + 2) * 1000; in nvbios_pll_parse()
327 info->vco2.min_freq = nvbios_rd16(bios, data + 4) * 1000; in nvbios_pll_parse()
328 info->vco2.max_freq = nvbios_rd16(bios, data + 6) * 1000; in nvbios_pll_parse()
329 info->vco1.min_inputfreq = nvbios_rd16(bios, data + 8) * 1000; in nvbios_pll_parse()
330 info->vco2.min_inputfreq = nvbios_rd16(bios, data + 10) * 1000; in nvbios_pll_parse()
331 info->vco1.max_inputfreq = nvbios_rd16(bios, data + 12) * 1000; in nvbios_pll_parse()
332 info->vco2.max_inputfreq = nvbios_rd16(bios, data + 14) * 1000; in nvbios_pll_parse()
333 info->vco1.min_n = nvbios_rd08(bios, data + 16); in nvbios_pll_parse()
334 info->vco1.max_n = nvbios_rd08(bios, data + 17); in nvbios_pll_parse()
335 info->vco1.min_m = nvbios_rd08(bios, data + 18); in nvbios_pll_parse()
336 info->vco1.max_m = nvbios_rd08(bios, data + 19); in nvbios_pll_parse()
337 info->vco2.min_n = nvbios_rd08(bios, data + 20); in nvbios_pll_parse()
338 info->vco2.max_n = nvbios_rd08(bios, data + 21); in nvbios_pll_parse()
339 info->vco2.min_m = nvbios_rd08(bios, data + 22); in nvbios_pll_parse()
340 info->vco2.max_m = nvbios_rd08(bios, data + 23); in nvbios_pll_parse()
341 info->max_p_usable = info->max_p = nvbios_rd08(bios, data + 25); in nvbios_pll_parse()
342 info->bias_p = nvbios_rd08(bios, data + 27); in nvbios_pll_parse()
343 info->refclk = nvbios_rd32(bios, data + 28); in nvbios_pll_parse()
346 info->refclk = nvbios_rd16(bios, data + 9) * 1000; in nvbios_pll_parse()
349 info->vco1.min_freq = nvbios_rd16(bios, data + 0) * 1000; in nvbios_pll_parse()
350 info->vco1.max_freq = nvbios_rd16(bios, data + 2) * 1000; in nvbios_pll_parse()
351 info->vco1.min_inputfreq = nvbios_rd16(bios, data + 4) * 1000; in nvbios_pll_parse()
352 info->vco1.max_inputfreq = nvbios_rd16(bios, data + 6) * 1000; in nvbios_pll_parse()
353 info->vco1.min_m = nvbios_rd08(bios, data + 8); in nvbios_pll_parse()
354 info->vco1.max_m = nvbios_rd08(bios, data + 9); in nvbios_pll_parse()
355 info->vco1.min_n = nvbios_rd08(bios, data + 10); in nvbios_pll_parse()
356 info->vco1.max_n = nvbios_rd08(bios, data + 11); in nvbios_pll_parse()
357 info->min_p = nvbios_rd08(bios, data + 12); in nvbios_pll_parse()
358 info->max_p = nvbios_rd08(bios, data + 13); in nvbios_pll_parse()
365 if (!info->refclk) { in nvbios_pll_parse()
366 info->refclk = device->crystal; in nvbios_pll_parse()
369 if ((info->reg == 0x680508 && sel_clk & 0x20) || in nvbios_pll_parse()
370 (info->reg == 0x680520 && sel_clk & 0x80)) { in nvbios_pll_parse()
372 info->refclk = 200000; in nvbios_pll_parse()
374 info->refclk = 25000; in nvbios_pll_parse()
384 if (!info->vco1.max_freq) { in nvbios_pll_parse()
385 info->vco1.max_freq = nvbios_rd32(bios, bios->bmp_offset + 67); in nvbios_pll_parse()
386 info->vco1.min_freq = nvbios_rd32(bios, bios->bmp_offset + 71); in nvbios_pll_parse()
388 info->vco1.max_freq = 256000; in nvbios_pll_parse()
389 info->vco1.min_freq = 128000; in nvbios_pll_parse()
392 info->vco1.min_inputfreq = 0; in nvbios_pll_parse()
393 info->vco1.max_inputfreq = INT_MAX; in nvbios_pll_parse()
394 info->vco1.min_n = 0x1; in nvbios_pll_parse()
395 info->vco1.max_n = 0xff; in nvbios_pll_parse()
396 info->vco1.min_m = 0x1; in nvbios_pll_parse()
401 info->vco1.min_m = 0x7; in nvbios_pll_parse()
402 info->vco1.max_m = 0xd; in nvbios_pll_parse()
405 info->vco1.min_m = 0x8; in nvbios_pll_parse()
406 info->vco1.max_m = 0xe; in nvbios_pll_parse()
412 info->max_p = 4; in nvbios_pll_parse()
414 info->max_p = 5; in nvbios_pll_parse()
415 info->max_p_usable = info->max_p; in nvbios_pll_parse()