Lines Matching refs:info

223 nvbios_pll_parse(struct nvkm_bios *bios, u32 type, struct nvbios_pll *info)  in nvbios_pll_parse()  argument
239 memset(info, 0, sizeof(*info)); in nvbios_pll_parse()
240 info->type = type; in nvbios_pll_parse()
241 info->reg = reg; in nvbios_pll_parse()
248 info->vco1.min_freq = nv_ro32(bios, data + 0); in nvbios_pll_parse()
249 info->vco1.max_freq = nv_ro32(bios, data + 4); in nvbios_pll_parse()
250 info->vco2.min_freq = nv_ro32(bios, data + 8); in nvbios_pll_parse()
251 info->vco2.max_freq = nv_ro32(bios, data + 12); in nvbios_pll_parse()
252 info->vco1.min_inputfreq = nv_ro32(bios, data + 16); in nvbios_pll_parse()
253 info->vco2.min_inputfreq = nv_ro32(bios, data + 20); in nvbios_pll_parse()
254 info->vco1.max_inputfreq = INT_MAX; in nvbios_pll_parse()
255 info->vco2.max_inputfreq = INT_MAX; in nvbios_pll_parse()
257 info->max_p = 0x7; in nvbios_pll_parse()
258 info->max_p_usable = 0x6; in nvbios_pll_parse()
263 info->vco1.min_n = 0x5; in nvbios_pll_parse()
266 info->vco1.min_n = 0x1; in nvbios_pll_parse()
269 info->vco1.max_n = 0xff; in nvbios_pll_parse()
270 info->vco1.min_m = 0x1; in nvbios_pll_parse()
271 info->vco1.max_m = 0xd; in nvbios_pll_parse()
279 info->vco2.min_n = 0x4; in nvbios_pll_parse()
283 info->vco2.max_n = 0x1f; in nvbios_pll_parse()
286 info->vco2.max_n = 0x28; in nvbios_pll_parse()
289 info->vco2.min_m = 0x1; in nvbios_pll_parse()
290 info->vco2.max_m = 0x4; in nvbios_pll_parse()
294 info->vco1.min_freq = nv_ro16(bios, data + 4) * 1000; in nvbios_pll_parse()
295 info->vco1.max_freq = nv_ro16(bios, data + 6) * 1000; in nvbios_pll_parse()
296 info->vco2.min_freq = nv_ro16(bios, data + 8) * 1000; in nvbios_pll_parse()
297 info->vco2.max_freq = nv_ro16(bios, data + 10) * 1000; in nvbios_pll_parse()
298 info->vco1.min_inputfreq = nv_ro16(bios, data + 12) * 1000; in nvbios_pll_parse()
299 info->vco2.min_inputfreq = nv_ro16(bios, data + 14) * 1000; in nvbios_pll_parse()
300 info->vco1.max_inputfreq = nv_ro16(bios, data + 16) * 1000; in nvbios_pll_parse()
301 info->vco2.max_inputfreq = nv_ro16(bios, data + 18) * 1000; in nvbios_pll_parse()
302 info->vco1.min_n = nv_ro08(bios, data + 20); in nvbios_pll_parse()
303 info->vco1.max_n = nv_ro08(bios, data + 21); in nvbios_pll_parse()
304 info->vco1.min_m = nv_ro08(bios, data + 22); in nvbios_pll_parse()
305 info->vco1.max_m = nv_ro08(bios, data + 23); in nvbios_pll_parse()
306 info->vco2.min_n = nv_ro08(bios, data + 24); in nvbios_pll_parse()
307 info->vco2.max_n = nv_ro08(bios, data + 25); in nvbios_pll_parse()
308 info->vco2.min_m = nv_ro08(bios, data + 26); in nvbios_pll_parse()
309 info->vco2.max_m = nv_ro08(bios, data + 27); in nvbios_pll_parse()
311 info->max_p = nv_ro08(bios, data + 29); in nvbios_pll_parse()
312 info->max_p_usable = info->max_p; in nvbios_pll_parse()
314 info->max_p_usable = 0x6; in nvbios_pll_parse()
315 info->bias_p = nv_ro08(bios, data + 30); in nvbios_pll_parse()
318 info->refclk = nv_ro32(bios, data + 31); in nvbios_pll_parse()
323 info->vco1.min_freq = nv_ro16(bios, data + 0) * 1000; in nvbios_pll_parse()
324 info->vco1.max_freq = nv_ro16(bios, data + 2) * 1000; in nvbios_pll_parse()
325 info->vco2.min_freq = nv_ro16(bios, data + 4) * 1000; in nvbios_pll_parse()
326 info->vco2.max_freq = nv_ro16(bios, data + 6) * 1000; in nvbios_pll_parse()
327 info->vco1.min_inputfreq = nv_ro16(bios, data + 8) * 1000; in nvbios_pll_parse()
328 info->vco2.min_inputfreq = nv_ro16(bios, data + 10) * 1000; in nvbios_pll_parse()
329 info->vco1.max_inputfreq = nv_ro16(bios, data + 12) * 1000; in nvbios_pll_parse()
330 info->vco2.max_inputfreq = nv_ro16(bios, data + 14) * 1000; in nvbios_pll_parse()
331 info->vco1.min_n = nv_ro08(bios, data + 16); in nvbios_pll_parse()
332 info->vco1.max_n = nv_ro08(bios, data + 17); in nvbios_pll_parse()
333 info->vco1.min_m = nv_ro08(bios, data + 18); in nvbios_pll_parse()
334 info->vco1.max_m = nv_ro08(bios, data + 19); in nvbios_pll_parse()
335 info->vco2.min_n = nv_ro08(bios, data + 20); in nvbios_pll_parse()
336 info->vco2.max_n = nv_ro08(bios, data + 21); in nvbios_pll_parse()
337 info->vco2.min_m = nv_ro08(bios, data + 22); in nvbios_pll_parse()
338 info->vco2.max_m = nv_ro08(bios, data + 23); in nvbios_pll_parse()
339 info->max_p_usable = info->max_p = nv_ro08(bios, data + 25); in nvbios_pll_parse()
340 info->bias_p = nv_ro08(bios, data + 27); in nvbios_pll_parse()
341 info->refclk = nv_ro32(bios, data + 28); in nvbios_pll_parse()
344 info->refclk = nv_ro16(bios, data + 9) * 1000; in nvbios_pll_parse()
347 info->vco1.min_freq = nv_ro16(bios, data + 0) * 1000; in nvbios_pll_parse()
348 info->vco1.max_freq = nv_ro16(bios, data + 2) * 1000; in nvbios_pll_parse()
349 info->vco1.min_inputfreq = nv_ro16(bios, data + 4) * 1000; in nvbios_pll_parse()
350 info->vco1.max_inputfreq = nv_ro16(bios, data + 6) * 1000; in nvbios_pll_parse()
351 info->vco1.min_m = nv_ro08(bios, data + 8); in nvbios_pll_parse()
352 info->vco1.max_m = nv_ro08(bios, data + 9); in nvbios_pll_parse()
353 info->vco1.min_n = nv_ro08(bios, data + 10); in nvbios_pll_parse()
354 info->vco1.max_n = nv_ro08(bios, data + 11); in nvbios_pll_parse()
355 info->min_p = nv_ro08(bios, data + 12); in nvbios_pll_parse()
356 info->max_p = nv_ro08(bios, data + 13); in nvbios_pll_parse()
363 if (!info->refclk) { in nvbios_pll_parse()
364 info->refclk = nv_device(bios)->crystal; in nvbios_pll_parse()
367 if ((info->reg == 0x680508 && sel_clk & 0x20) || in nvbios_pll_parse()
368 (info->reg == 0x680520 && sel_clk & 0x80)) { in nvbios_pll_parse()
370 info->refclk = 200000; in nvbios_pll_parse()
372 info->refclk = 25000; in nvbios_pll_parse()
382 if (!info->vco1.max_freq) { in nvbios_pll_parse()
383 info->vco1.max_freq = nv_ro32(bios, bios->bmp_offset + 67); in nvbios_pll_parse()
384 info->vco1.min_freq = nv_ro32(bios, bios->bmp_offset + 71); in nvbios_pll_parse()
386 info->vco1.max_freq = 256000; in nvbios_pll_parse()
387 info->vco1.min_freq = 128000; in nvbios_pll_parse()
390 info->vco1.min_inputfreq = 0; in nvbios_pll_parse()
391 info->vco1.max_inputfreq = INT_MAX; in nvbios_pll_parse()
392 info->vco1.min_n = 0x1; in nvbios_pll_parse()
393 info->vco1.max_n = 0xff; in nvbios_pll_parse()
394 info->vco1.min_m = 0x1; in nvbios_pll_parse()
399 info->vco1.min_m = 0x7; in nvbios_pll_parse()
400 info->vco1.max_m = 0xd; in nvbios_pll_parse()
403 info->vco1.min_m = 0x8; in nvbios_pll_parse()
404 info->vco1.max_m = 0xe; in nvbios_pll_parse()
410 info->max_p = 4; in nvbios_pll_parse()
412 info->max_p = 5; in nvbios_pll_parse()
413 info->max_p_usable = info->max_p; in nvbios_pll_parse()