Home | History | Annotate | Download | only in radeon

Lines Matching refs:full

86 			tmp.full = dfixed_const(100);
87 rdev->pm.igp_sideport_mclk.full = dfixed_const(le32_to_cpu(info->info.ulBootUpMemoryClock));
88 rdev->pm.igp_sideport_mclk.full = dfixed_div(rdev->pm.igp_sideport_mclk, tmp);
90 rdev->pm.igp_system_mclk.full = dfixed_const(le16_to_cpu(info->info.usK8MemoryClock));
92 rdev->pm.igp_system_mclk.full = dfixed_const(rdev->clock.default_mclk);
93 rdev->pm.igp_system_mclk.full = dfixed_div(rdev->pm.igp_system_mclk, tmp);
95 rdev->pm.igp_system_mclk.full = dfixed_const(400);
96 rdev->pm.igp_ht_link_clk.full = dfixed_const(le16_to_cpu(info->info.usFSBClock));
97 rdev->pm.igp_ht_link_width.full = dfixed_const(info->info.ucHTLinkWidth);
100 tmp.full = dfixed_const(100);
101 rdev->pm.igp_sideport_mclk.full = dfixed_const(le32_to_cpu(info->info_v2.ulBootUpSidePortClock));
102 rdev->pm.igp_sideport_mclk.full = dfixed_div(rdev->pm.igp_sideport_mclk, tmp);
104 rdev->pm.igp_system_mclk.full = dfixed_const(le32_to_cpu(info->info_v2.ulBootUpUMAClock));
106 rdev->pm.igp_system_mclk.full = dfixed_const(rdev->clock.default_mclk);
108 rdev->pm.igp_system_mclk.full = dfixed_const(66700);
109 rdev->pm.igp_system_mclk.full = dfixed_div(rdev->pm.igp_system_mclk, tmp);
110 rdev->pm.igp_ht_link_clk.full = dfixed_const(le32_to_cpu(info->info_v2.ulHTLinkFreq));
111 rdev->pm.igp_ht_link_clk.full = dfixed_div(rdev->pm.igp_ht_link_clk, tmp);
112 rdev->pm.igp_ht_link_width.full = dfixed_const(le16_to_cpu(info->info_v2.usMinHTLinkWidth));
116 rdev->pm.igp_sideport_mclk.full = dfixed_const(200);
117 rdev->pm.igp_system_mclk.full = dfixed_const(200);
118 rdev->pm.igp_ht_link_clk.full = dfixed_const(1000);
119 rdev->pm.igp_ht_link_width.full = dfixed_const(8);
125 rdev->pm.igp_sideport_mclk.full = dfixed_const(200);
126 rdev->pm.igp_system_mclk.full = dfixed_const(200);
127 rdev->pm.igp_ht_link_clk.full = dfixed_const(1000);
128 rdev->pm.igp_ht_link_width.full = dfixed_const(8);
133 tmp.full = dfixed_const(4);
134 rdev->pm.k8_bandwidth.full = dfixed_mul(rdev->pm.igp_system_mclk, tmp);
138 tmp.full = dfixed_const(5);
139 rdev->pm.ht_bandwidth.full = dfixed_mul(rdev->pm.igp_ht_link_clk,
141 rdev->pm.ht_bandwidth.full = dfixed_div(rdev->pm.ht_bandwidth, tmp);
142 if (tmp.full < rdev->pm.max_bandwidth.full) {
144 rdev->pm.max_bandwidth.full = tmp.full;
149 tmp.full = dfixed_const(14);
150 rdev->pm.sideport_bandwidth.full = dfixed_mul(rdev->pm.igp_sideport_mclk, tmp);
151 tmp.full = dfixed_const(10);
152 rdev->pm.sideport_bandwidth.full = dfixed_div(rdev->pm.sideport_bandwidth, tmp);
302 a.full = dfixed_const(100);
303 sclk.full = dfixed_const(selected_sclk);
304 sclk.full = dfixed_div(sclk, a);
307 a.full = dfixed_const(16);
308 core_bandwidth.full = dfixed_div(rdev->pm.sclk, a);
310 if (crtc->vsc.full > dfixed_const(2))
311 wm->num_line_pair.full = dfixed_const(2);
313 wm->num_line_pair.full = dfixed_const(1);
315 b.full = dfixed_const(mode->crtc_hdisplay);
316 c.full = dfixed_const(256);
317 a.full = dfixed_div(b, c);
318 request_fifo_depth.full = dfixed_mul(a, wm->num_line_pair);
319 request_fifo_depth.full = dfixed_ceil(request_fifo_depth);
320 if (a.full < dfixed_const(4)) {
332 a.full = dfixed_const(mode->clock);
333 b.full = dfixed_const(1000);
334 a.full = dfixed_div(a, b);
335 pclk.full = dfixed_div(b, a);
337 b.full = dfixed_const(2);
338 if (crtc->vsc.full > b.full)
339 b.full = crtc->vsc.full;
340 b.full = dfixed_mul(b, crtc->hsc);
341 c.full = dfixed_const(2);
342 b.full = dfixed_div(b, c);
343 consumption_time.full = dfixed_div(pclk, b);
345 consumption_time.full = pclk.full;
347 a.full = dfixed_const(1);
348 wm->consumption_rate.full = dfixed_div(a, consumption_time);
356 a.full = dfixed_const(crtc->base.mode.crtc_htotal);
357 line_time.full = dfixed_mul(a, pclk);
364 a.full = dfixed_const(crtc->base.mode.crtc_htotal);
365 b.full = dfixed_const(crtc->base.mode.crtc_hdisplay);
366 wm->active_time.full = dfixed_mul(line_time, b);
367 wm->active_time.full = dfixed_div(wm->active_time, a);
372 if (max_bandwidth.full > rdev->pm.sideport_bandwidth.full &&
373 rdev->pm.sideport_bandwidth.full)
375 read_delay_latency.full = dfixed_const(370 * 800);
376 a.full = dfixed_const(1000);
377 b.full = dfixed_div(rdev->pm.igp_sideport_mclk, a);
378 read_delay_latency.full = dfixed_div(read_delay_latency, b);
379 read_delay_latency.full = dfixed_mul(read_delay_latency, a);
381 if (max_bandwidth.full > rdev->pm.k8_bandwidth.full &&
382 rdev->pm.k8_bandwidth.full)
384 if (max_bandwidth.full > rdev->pm.ht_bandwidth.full &&
385 rdev->pm.ht_bandwidth.full)
387 read_delay_latency.full = dfixed_const(5000);
391 a.full = dfixed_const(16);
392 sclk.full = dfixed_mul(max_bandwidth, a);
393 a.full = dfixed_const(1000);
394 sclk.full = dfixed_div(a, sclk);
400 a.full = dfixed_const(256 * 13);
401 chunk_time.full = dfixed_mul(sclk, a);
402 a.full = dfixed_const(10);
403 chunk_time.full = dfixed_div(chunk_time, a);
414 a.full = dfixed_const(3);
415 wm->worst_case_latency.full = dfixed_mul(a, chunk_time);
416 wm->worst_case_latency.full += read_delay_latency.full;
418 a.full = dfixed_const(2);
419 wm->worst_case_latency.full = dfixed_mul(a, chunk_time);
420 wm->worst_case_latency.full += read_delay_latency.full;
434 tolerable_latency.full = line_time.full;
436 tolerable_latency.full = dfixed_const(wm->lb_request_fifo_depth - 2);
437 full = request_fifo_depth.full - tolerable_latency.full;
438 tolerable_latency.full = dfixed_mul(tolerable_latency, chunk_time);
439 tolerable_latency.full = line_time.full - tolerable_latency.full;
442 wm->dbpp.full = dfixed_const(4 * 8);
447 a.full = dfixed_const(16);
448 wm->priority_mark_max.full = dfixed_const(crtc->base.mode.crtc_hdisplay);
449 wm->priority_mark_max.full = dfixed_div(wm->priority_mark_max, a);
450 wm->priority_mark_max.full = dfixed_ceil(wm->priority_mark_max);
453 estimated_width.full = tolerable_latency.full - wm->worst_case_latency.full;
454 estimated_width.full = dfixed_div(estimated_width, consumption_time);
456 wm->priority_mark.full = dfixed_const(10);
458 a.full = dfixed_const(16);
459 wm->priority_mark.full = dfixed_div(estimated_width, a);
460 wm->priority_mark.full = dfixed_ceil(wm->priority_mark);
461 wm->priority_mark.full = wm->priority_mark_max.full - wm->priority_mark.full;
481 a.full = dfixed_mul(wm0->dbpp, wm0->num_line_pair);
483 a.full = wm0->num_line_pair.full;
485 b.full = dfixed_mul(wm1->dbpp, wm1->num_line_pair);
487 b.full = wm1->num_line_pair.full;
488 a.full += b.full;
489 fill_rate.full = dfixed_div(wm0->sclk, a);
490 if (wm0->consumption_rate.full > fill_rate.full) {
491 b.full = wm0->consumption_rate.full - fill_rate.full;
492 b.full = dfixed_mul(b, wm0->active_time);
493 a.full = dfixed_mul(wm0->worst_case_latency,
495 a.full = a.full + b.full;
496 b.full = dfixed_const(16 * 1000);
497 priority_mark02.full = dfixed_div(a, b);
499 a.full = dfixed_mul(wm0->worst_case_latency,
501 b.full = dfixed_const(16 * 1000);
502 priority_mark02.full = dfixed_div(a, b);
504 if (wm1->consumption_rate.full > fill_rate.full) {
505 b.full = wm1->consumption_rate.full - fill_rate.full;
506 b.full = dfixed_mul(b, wm1->active_time);
507 a.full = dfixed_mul(wm1->worst_case_latency,
509 a.full = a.full + b.full;
510 b.full = dfixed_const(16 * 1000);
511 priority_mark12.full = dfixed_div(a, b);
513 a.full = dfixed_mul(wm1->worst_case_latency,
515 b.full = dfixed_const(16 * 1000);
516 priority_mark12.full = dfixed_div(a, b);
518 if (wm0->priority_mark.full > priority_mark02.full)
519 priority_mark02.full = wm0->priority_mark.full;
520 if (wm0->priority_mark_max.full > priority_mark02.full)
521 priority_mark02.full = wm0->priority_mark_max.full;
522 if (wm1->priority_mark.full > priority_mark12.full)
523 priority_mark12.full = wm1->priority_mark.full;
524 if (wm1->priority_mark_max.full > priority_mark12.full)
525 priority_mark12.full = wm1->priority_mark_max.full;
534 a.full = dfixed_mul(wm0->dbpp, wm0->num_line_pair);
536 a.full = wm0->num_line_pair.full;
537 fill_rate.full = dfixed_div(wm0->sclk, a);
538 if (wm0->consumption_rate.full > fill_rate.full) {
539 b.full = wm0->consumption_rate.full - fill_rate.full;
540 b.full = dfixed_mul(b, wm0->active_time);
541 a.full = dfixed_mul(wm0->worst_case_latency,
543 a.full = a.full + b.full;
544 b.full = dfixed_const(16 * 1000);
545 priority_mark02.full = dfixed_div(a, b);
547 a.full = dfixed_mul(wm0->worst_case_latency,
549 b.full = dfixed_const(16 * 1000);
550 priority_mark02.full = dfixed_div(a, b);
552 if (wm0->priority_mark.full > priority_mark02.full)
553 priority_mark02.full = wm0->priority_mark.full;
554 if (wm0->priority_mark_max.full > priority_mark02.full)
555 priority_mark02.full = wm0->priority_mark_max.full;
561 a.full = dfixed_mul(wm1->dbpp, wm1->num_line_pair);
563 a.full = wm1->num_line_pair.full;
564 fill_rate.full = dfixed_div(wm1->sclk, a);
565 if (wm1->consumption_rate.full > fill_rate.full) {
566 b.full = wm1->consumption_rate.full - fill_rate.full;
567 b.full = dfixed_mul(b, wm1->active_time);
568 a.full = dfixed_mul(wm1->worst_case_latency,
570 a.full = a.full + b.full;
571 b.full = dfixed_const(16 * 1000);
572 priority_mark12.full = dfixed_div(a, b);
574 a.full = dfixed_mul(wm1->worst_case_latency,
576 b.full = dfixed_const(16 * 1000);
577 priority_mark12.full = dfixed_div(a, b);
579 if (wm1->priority_mark.full > priority_mark12.full)
580 priority_mark12.full = wm1->priority_mark.full;
581 if (wm1->priority_mark_max.full > priority_mark12.full)
582 priority_mark12.full = wm1->priority_mark_max.full;