Lines Matching refs:timing

21  * panel connected. The modes as listed here, should timing-wise be as compatible with analog (CRT) monitors as can be... */
92 note: horizontal CRTC timing must be a multiple of 8! (hardware restriction) */
104 if( mode->virtual_width == 2 * mode->timing.h_display ) {
110 } else if( mode->virtual_height == 2 * mode->timing.v_display ) {
126 if( (mode->timing.flags & RADEON_MODE_MULTIMON_REQUEST) != 0 &&
127 (mode->timing.flags & RADEON_MODE_MULTIMON_REPLY) == 0 )
129 mode->timing.flags &= ~RADEON_MODE_MULTIMON_REQUEST;
130 mode->timing.flags |= RADEON_MODE_MULTIMON_REPLY;
143 || mode->timing.pixel_clock != 0
144 || low->timing.pixel_clock != 'TKTK' || high->timing.pixel_clock != 'KTKT' )
171 mode->timing.flags = 1;
173 mode->timing.flags = 0;
174 LOG(4, ("Haiku: tunnel access target=swap, command=get, value=%u\n", mode->timing.flags));
177 si->Haiku_switch_head = mode->timing.flags != 0;
178 LOG(4, ("Haiku: tunnel access target=swap, command=set, value=%u\n", mode->timing.flags));
187 (mode->v_display_start == 1) ? "set" : "get", mode->timing.flags));
194 (mode->v_display_start == 1) ? "set" : "get", mode->timing.flags));
201 mode->h_display_start, mode->v_display_start, mode->timing.flags));
221 * display_mode.timing.h_display;
222 * display_mode.timing.v_display;
235 double target_refresh = ((double)target->timing.pixel_clock * 1000.0)
236 / ((double)target->timing.h_total * (double)target->timing.v_total);
237 bool want_same_width = target->timing.h_display == target->virtual_width;
238 bool want_same_height = target->timing.v_display == target->virtual_height;
262 /*find a nearby valid timing from that given*/
263 result = head1_validate_timing(&target->timing.h_display,
264 &target->timing.h_sync_start, &target->timing.h_sync_end,
265 &target->timing.h_total, &target->timing.v_display,
266 &target->timing.v_sync_start, &target->timing.v_sync_end,
267 &target->timing.v_total);
269 LOG(4, ("PROPOSEMODE: could not validate timing, aborted.\n"));
280 target_aspect = (target->timing.h_display / ((float)target->timing.v_display));
325 are required for the CRTCs horizontal timing programming) */
327 if ((target->timing.h_display - 2) > si->ps.crtc1_screen.timing.h_display
328 || target->timing.v_display > si->ps.crtc1_screen.timing.v_display) {
334 if ((target->timing.h_display - 2) > si->ps.crtc2_screen.timing.h_display
335 || target->timing.v_display > si->ps.crtc2_screen.timing.v_display) {
343 if (target->timing.h_display > target->virtual_width || want_same_width)
344 target->virtual_width = target->timing.h_display;
345 if (target->timing.v_display > target->virtual_height || want_same_height)
346 target->virtual_height = target->timing.v_display;
362 /* check if timing found is within the requested horizontal limits */
363 if (target->timing.h_display < low->timing.h_display
364 || target->timing.h_display > high->timing.h_display
365 || target->timing.h_sync_start < low->timing.h_sync_start
366 || target->timing.h_sync_start > high->timing.h_sync_start
367 || target->timing.h_sync_end < low->timing.h_sync_end
368 || target->timing.h_sync_end > high->timing.h_sync_end
369 || target->timing.h_total < low->timing.h_total
370 || target->timing.h_total > high->timing.h_total) {
372 if (target->timing.h_display < low->timing.h_display
373 || target->timing.h_display > high->timing.h_display)
376 LOG(4, ("PROPOSEMODE: WARNING: horizontal timing deviates too much\n"));
379 /* check if timing found is within the requested vertical limits */
380 if (target->timing.v_display < low->timing.v_display
381 || target->timing.v_display > high->timing.v_display
382 || target->timing.v_sync_start < low->timing.v_sync_start
383 || target->timing.v_sync_start > high->timing.v_sync_start
384 || target->timing.v_sync_end < low->timing.v_sync_end
385 || target->timing.v_sync_end > high->timing.v_sync_end
386 || target->timing.v_total < low->timing.v_total
387 || target->timing.v_total > high->timing.v_total) {
389 if (target->timing.v_display < low->timing.v_display
390 || target->timing.v_display > high->timing.v_display)
393 LOG(4, ("PROPOSEMODE: WARNING: vertical timing deviates too much\n"));
396 /* adjust pixelclock for possible timing modifications done above */
397 target->timing.pixel_clock = target_refresh * ((double)target->timing.h_total)
398 * ((double)target->timing.v_total) / 1000.0;
405 target->timing.pixel_clock = pix_clock_found * 1000;
408 if (target->timing.pixel_clock < low->timing.pixel_clock
409 || target->timing.pixel_clock > high->timing.pixel_clock) {
411 if (target->timing.pixel_clock < low->timing.pixel_clock - 1000
412 || target->timing.pixel_clock > high->timing.pixel_clock + 1000)
434 if (target->virtual_height < target->timing.v_display) {
491 if (si->ps.secondary_head && target->timing.pixel_clock <= (max_vclk * 1000)) {
497 && (uint16)(row_bytes / bpp) >= target->timing.h_display * 2)
544 /* overrule timing command flags to be (fixed) blank_pedestal = 0.0IRE,
546 target->timing.flags &= ~(B_BLANK_PEDESTAL | B_TIMING_INTERLACED | B_SYNC_ON_GREEN);
590 pix_clk_range = low.timing.pixel_clock >> 5;
591 low.timing.pixel_clock -= pix_clk_range;
592 high.timing.pixel_clock += pix_clk_range;