Lines Matching refs:full

81 			tmp.full = dfixed_const(100);
82 rdev->pm.igp_sideport_mclk.full = dfixed_const(le32_to_cpu(info->info.ulBootUpMemoryClock));
83 rdev->pm.igp_sideport_mclk.full = dfixed_div(rdev->pm.igp_sideport_mclk, tmp);
85 rdev->pm.igp_system_mclk.full = dfixed_const(le16_to_cpu(info->info.usK8MemoryClock));
87 rdev->pm.igp_system_mclk.full = dfixed_const(rdev->clock.default_mclk);
88 rdev->pm.igp_system_mclk.full = dfixed_div(rdev->pm.igp_system_mclk, tmp);
90 rdev->pm.igp_system_mclk.full = dfixed_const(400);
91 rdev->pm.igp_ht_link_clk.full = dfixed_const(le16_to_cpu(info->info.usFSBClock));
92 rdev->pm.igp_ht_link_width.full = dfixed_const(info->info.ucHTLinkWidth);
95 tmp.full = dfixed_const(100);
96 rdev->pm.igp_sideport_mclk.full = dfixed_const(le32_to_cpu(info->info_v2.ulBootUpSidePortClock));
97 rdev->pm.igp_sideport_mclk.full = dfixed_div(rdev->pm.igp_sideport_mclk, tmp);
99 rdev->pm.igp_system_mclk.full = dfixed_const(le32_to_cpu(info->info_v2.ulBootUpUMAClock));
101 rdev->pm.igp_system_mclk.full = dfixed_const(rdev->clock.default_mclk);
103 rdev->pm.igp_system_mclk.full = dfixed_const(66700);
104 rdev->pm.igp_system_mclk.full = dfixed_div(rdev->pm.igp_system_mclk, tmp);
105 rdev->pm.igp_ht_link_clk.full = dfixed_const(le32_to_cpu(info->info_v2.ulHTLinkFreq));
106 rdev->pm.igp_ht_link_clk.full = dfixed_div(rdev->pm.igp_ht_link_clk, tmp);
107 rdev->pm.igp_ht_link_width.full = dfixed_const(le16_to_cpu(info->info_v2.usMinHTLinkWidth));
111 rdev->pm.igp_sideport_mclk.full = dfixed_const(200);
112 rdev->pm.igp_system_mclk.full = dfixed_const(200);
113 rdev->pm.igp_ht_link_clk.full = dfixed_const(1000);
114 rdev->pm.igp_ht_link_width.full = dfixed_const(8);
120 rdev->pm.igp_sideport_mclk.full = dfixed_const(200);
121 rdev->pm.igp_system_mclk.full = dfixed_const(200);
122 rdev->pm.igp_ht_link_clk.full = dfixed_const(1000);
123 rdev->pm.igp_ht_link_width.full = dfixed_const(8);
128 tmp.full = dfixed_const(4);
129 rdev->pm.k8_bandwidth.full = dfixed_mul(rdev->pm.igp_system_mclk, tmp);
133 tmp.full = dfixed_const(5);
134 rdev->pm.ht_bandwidth.full = dfixed_mul(rdev->pm.igp_ht_link_clk,
136 rdev->pm.ht_bandwidth.full = dfixed_div(rdev->pm.ht_bandwidth, tmp);
137 if (tmp.full < rdev->pm.max_bandwidth.full) {
139 rdev->pm.max_bandwidth.full = tmp.full;
144 tmp.full = dfixed_const(14);
145 rdev->pm.sideport_bandwidth.full = dfixed_mul(rdev->pm.igp_sideport_mclk, tmp);
146 tmp.full = dfixed_const(10);
147 rdev->pm.sideport_bandwidth.full = dfixed_div(rdev->pm.sideport_bandwidth, tmp);
297 a.full = dfixed_const(100);
298 sclk.full = dfixed_const(selected_sclk);
299 sclk.full = dfixed_div(sclk, a);
302 a.full = dfixed_const(16);
303 core_bandwidth.full = dfixed_div(rdev->pm.sclk, a);
305 if (crtc->vsc.full > dfixed_const(2))
306 wm->num_line_pair.full = dfixed_const(2);
308 wm->num_line_pair.full = dfixed_const(1);
310 b.full = dfixed_const(mode->crtc_hdisplay);
311 c.full = dfixed_const(256);
312 a.full = dfixed_div(b, c);
313 request_fifo_depth.full = dfixed_mul(a, wm->num_line_pair);
314 request_fifo_depth.full = dfixed_ceil(request_fifo_depth);
315 if (a.full < dfixed_const(4)) {
327 a.full = dfixed_const(mode->clock);
328 b.full = dfixed_const(1000);
329 a.full = dfixed_div(a, b);
330 pclk.full = dfixed_div(b, a);
332 b.full = dfixed_const(2);
333 if (crtc->vsc.full > b.full)
334 b.full = crtc->vsc.full;
335 b.full = dfixed_mul(b, crtc->hsc);
336 c.full = dfixed_const(2);
337 b.full = dfixed_div(b, c);
338 consumption_time.full = dfixed_div(pclk, b);
340 consumption_time.full = pclk.full;
342 a.full = dfixed_const(1);
343 wm->consumption_rate.full = dfixed_div(a, consumption_time);
351 a.full = dfixed_const(crtc->base.mode.crtc_htotal);
352 line_time.full = dfixed_mul(a, pclk);
359 a.full = dfixed_const(crtc->base.mode.crtc_htotal);
360 b.full = dfixed_const(crtc->base.mode.crtc_hdisplay);
361 wm->active_time.full = dfixed_mul(line_time, b);
362 wm->active_time.full = dfixed_div(wm->active_time, a);
367 if (max_bandwidth.full > rdev->pm.sideport_bandwidth.full &&
368 rdev->pm.sideport_bandwidth.full)
370 read_delay_latency.full = dfixed_const(370 * 800);
371 a.full = dfixed_const(1000);
372 b.full = dfixed_div(rdev->pm.igp_sideport_mclk, a);
373 read_delay_latency.full = dfixed_div(read_delay_latency, b);
374 read_delay_latency.full = dfixed_mul(read_delay_latency, a);
376 if (max_bandwidth.full > rdev->pm.k8_bandwidth.full &&
377 rdev->pm.k8_bandwidth.full)
379 if (max_bandwidth.full > rdev->pm.ht_bandwidth.full &&
380 rdev->pm.ht_bandwidth.full)
382 read_delay_latency.full = dfixed_const(5000);
386 a.full = dfixed_const(16);
387 sclk.full = dfixed_mul(max_bandwidth, a);
388 a.full = dfixed_const(1000);
389 sclk.full = dfixed_div(a, sclk);
395 a.full = dfixed_const(256 * 13);
396 chunk_time.full = dfixed_mul(sclk, a);
397 a.full = dfixed_const(10);
398 chunk_time.full = dfixed_div(chunk_time, a);
409 a.full = dfixed_const(3);
410 wm->worst_case_latency.full = dfixed_mul(a, chunk_time);
411 wm->worst_case_latency.full += read_delay_latency.full;
413 a.full = dfixed_const(2);
414 wm->worst_case_latency.full = dfixed_mul(a, chunk_time);
415 wm->worst_case_latency.full += read_delay_latency.full;
429 tolerable_latency.full = line_time.full;
431 tolerable_latency.full = dfixed_const(wm->lb_request_fifo_depth - 2);
432 tolerable_latency.full = request_fifo_depth.full - tolerable_latency.full;
433 tolerable_latency.full = dfixed_mul(tolerable_latency, chunk_time);
434 tolerable_latency.full = line_time.full - tolerable_latency.full;
437 wm->dbpp.full = dfixed_const(4 * 8);
442 a.full = dfixed_const(16);
443 wm->priority_mark_max.full = dfixed_const(crtc->base.mode.crtc_hdisplay);
444 wm->priority_mark_max.full = dfixed_div(wm->priority_mark_max, a);
445 wm->priority_mark_max.full = dfixed_ceil(wm->priority_mark_max);
448 estimated_width.full = tolerable_latency.full - wm->worst_case_latency.full;
449 estimated_width.full = dfixed_div(estimated_width, consumption_time);
451 wm->priority_mark.full = dfixed_const(10);
453 a.full = dfixed_const(16);
454 wm->priority_mark.full = dfixed_div(estimated_width, a);
455 wm->priority_mark.full = dfixed_ceil(wm->priority_mark);
456 wm->priority_mark.full = wm->priority_mark_max.full - wm->priority_mark.full;
476 a.full = dfixed_mul(wm0->dbpp, wm0->num_line_pair);
478 a.full = wm0->num_line_pair.full;
480 b.full = dfixed_mul(wm1->dbpp, wm1->num_line_pair);
482 b.full = wm1->num_line_pair.full;
483 a.full += b.full;
484 fill_rate.full = dfixed_div(wm0->sclk, a);
485 if (wm0->consumption_rate.full > fill_rate.full) {
486 b.full = wm0->consumption_rate.full - fill_rate.full;
487 b.full = dfixed_mul(b, wm0->active_time);
488 a.full = dfixed_mul(wm0->worst_case_latency,
490 a.full = a.full + b.full;
491 b.full = dfixed_const(16 * 1000);
492 priority_mark02.full = dfixed_div(a, b);
494 a.full = dfixed_mul(wm0->worst_case_latency,
496 b.full = dfixed_const(16 * 1000);
497 priority_mark02.full = dfixed_div(a, b);
499 if (wm1->consumption_rate.full > fill_rate.full) {
500 b.full = wm1->consumption_rate.full - fill_rate.full;
501 b.full = dfixed_mul(b, wm1->active_time);
502 a.full = dfixed_mul(wm1->worst_case_latency,
504 a.full = a.full + b.full;
505 b.full = dfixed_const(16 * 1000);
506 priority_mark12.full = dfixed_div(a, b);
508 a.full = dfixed_mul(wm1->worst_case_latency,
510 b.full = dfixed_const(16 * 1000);
511 priority_mark12.full = dfixed_div(a, b);
513 if (wm0->priority_mark.full > priority_mark02.full)
514 priority_mark02.full = wm0->priority_mark.full;
515 if (wm0->priority_mark_max.full > priority_mark02.full)
516 priority_mark02.full = wm0->priority_mark_max.full;
517 if (wm1->priority_mark.full > priority_mark12.full)
518 priority_mark12.full = wm1->priority_mark.full;
519 if (wm1->priority_mark_max.full > priority_mark12.full)
520 priority_mark12.full = wm1->priority_mark_max.full;
529 a.full = dfixed_mul(wm0->dbpp, wm0->num_line_pair);
531 a.full = wm0->num_line_pair.full;
532 fill_rate.full = dfixed_div(wm0->sclk, a);
533 if (wm0->consumption_rate.full > fill_rate.full) {
534 b.full = wm0->consumption_rate.full - fill_rate.full;
535 b.full = dfixed_mul(b, wm0->active_time);
536 a.full = dfixed_mul(wm0->worst_case_latency,
538 a.full = a.full + b.full;
539 b.full = dfixed_const(16 * 1000);
540 priority_mark02.full = dfixed_div(a, b);
542 a.full = dfixed_mul(wm0->worst_case_latency,
544 b.full = dfixed_const(16 * 1000);
545 priority_mark02.full = dfixed_div(a, b);
547 if (wm0->priority_mark.full > priority_mark02.full)
548 priority_mark02.full = wm0->priority_mark.full;
549 if (wm0->priority_mark_max.full > priority_mark02.full)
550 priority_mark02.full = wm0->priority_mark_max.full;
556 a.full = dfixed_mul(wm1->dbpp, wm1->num_line_pair);
558 a.full = wm1->num_line_pair.full;
559 fill_rate.full = dfixed_div(wm1->sclk, a);
560 if (wm1->consumption_rate.full > fill_rate.full) {
561 b.full = wm1->consumption_rate.full - fill_rate.full;
562 b.full = dfixed_mul(b, wm1->active_time);
563 a.full = dfixed_mul(wm1->worst_case_latency,
565 a.full = a.full + b.full;
566 b.full = dfixed_const(16 * 1000);
567 priority_mark12.full = dfixed_div(a, b);
569 a.full = dfixed_mul(wm1->worst_case_latency,
571 b.full = dfixed_const(16 * 1000);
572 priority_mark12.full = dfixed_div(a, b);
574 if (wm1->priority_mark.full > priority_mark12.full)
575 priority_mark12.full = wm1->priority_mark.full;
576 if (wm1->priority_mark_max.full > priority_mark12.full)
577 priority_mark12.full = wm1->priority_mark_max.full;