Lines Matching refs:target

103  * returns B_BAD_VALUE. It's called by the OS with target, low and high set to
112 * The target mode should be modified to correspond to the mode as it can be made. */
113 status_t PROPOSE_DISPLAY_MODE(display_mode *target, const display_mode *low, const display_mode *high)
121 double target_refresh = ((double)target->timing.pixel_clock * 1000.0) /
123 (double)target->timing.h_total *
124 (double)target->timing.v_total
127 want_same_width = target->timing.h_display == target->virtual_width,
128 want_same_height = target->timing.v_display == target->virtual_height;
131 target->virtual_width, target->virtual_height));
160 target->timing.h_display==valid_mode_list[i].h_display &&
161 target->timing.v_display==valid_mode_list[i].v_display
165 abs(valid_mode_list[i].pixel_clock-target->timing.pixel_clock)<
166 abs(closest_mode_clock-target->timing.pixel_clock)
182 target->timing=valid_mode_list[closest_mode_ptr];
183 target_refresh = ((double)target->timing.pixel_clock * 1000.0) / /*I require this refresh*/
184 ((double)target->timing.h_total * (double)target->timing.v_total);
192 &target->timing.h_display, &target->timing.h_sync_start, &target->timing.h_sync_end, &target->timing.h_total,
193 &target->timing.v_display, &target->timing.v_sync_start, &target->timing.v_sync_end, &target->timing.v_total
203 target_aspect = (target->timing.h_display / ((float)target->timing.v_display));
247 if ((target->timing.h_display == si->ps.p1_timing.h_display) &&
248 (target->timing.v_display == si->ps.p1_timing.v_display))
255 if ((target->timing.h_display == si->ps.p2_timing.h_display) &&
256 (target->timing.v_display == si->ps.p2_timing.v_display))
271 if ((target->timing.h_display > si->ps.p1_timing.h_display) ||
272 (target->timing.v_display > si->ps.p1_timing.v_display))
280 if ((target->timing.h_display > si->ps.p2_timing.h_display) ||
281 (target->timing.v_display > si->ps.p2_timing.v_display))
289 if ((target->timing.h_display > target->virtual_width) || want_same_width)
290 target->virtual_width = target->timing.h_display;
291 if ((target->timing.v_display > target->virtual_height) || want_same_height)
292 target->virtual_height = target->timing.v_display;
295 result = eng_general_validate_pic_size (target, &row_bytes, &acc_mode);
303 if ((target->virtual_width < low->virtual_width) ||
304 (target->virtual_width > high->virtual_width))
311 if ((target->timing.h_display < low->timing.h_display) ||
312 (target->timing.h_display > high->timing.h_display) ||
313 (target->timing.h_sync_start < low->timing.h_sync_start) ||
314 (target->timing.h_sync_start > high->timing.h_sync_start) ||
315 (target->timing.h_sync_end < low->timing.h_sync_end) ||
316 (target->timing.h_sync_end > high->timing.h_sync_end) ||
317 (target->timing.h_total < low->timing.h_total) ||
318 (target->timing.h_total > high->timing.h_total))
321 if ((target->timing.h_display < low->timing.h_display) ||
322 (target->timing.h_display > high->timing.h_display))
331 (target->timing.v_display < low->timing.v_display) ||
332 (target->timing.v_display > high->timing.v_display) ||
333 (target->timing.v_sync_start < low->timing.v_sync_start) ||
334 (target->timing.v_sync_start > high->timing.v_sync_start) ||
335 (target->timing.v_sync_end < low->timing.v_sync_end) ||
336 (target->timing.v_sync_end > high->timing.v_sync_end) ||
337 (target->timing.v_total < low->timing.v_total) ||
338 (target->timing.v_total > high->timing.v_total)
342 if ((target->timing.v_display < low->timing.v_display) ||
343 (target->timing.v_display > high->timing.v_display))
351 target->timing.pixel_clock = target_refresh * ((double)target->timing.h_total) * ((double)target->timing.v_total) / 1000.0;
353 /* Now find the nearest valid pixelclock we actually can setup for the target mode,
356 result = head1_pix_pll_find(*target,&pix_clock_found,&m,&n,&p,0);
357 /* update the target mode */
358 target->timing.pixel_clock = (pix_clock_found * 1000);
361 if ((target->timing.pixel_clock < low->timing.pixel_clock) ||
362 (target->timing.pixel_clock > high->timing.pixel_clock)
366 if ((target->timing.pixel_clock < (low->timing.pixel_clock - 1000)) ||
367 (target->timing.pixel_clock > (high->timing.pixel_clock + 1000)))
378 if ((row_bytes * target->virtual_height) >
381 target->virtual_height =
384 if (target->virtual_height < target->timing.v_display)
390 target->virtual_width, target->virtual_height));
392 if ((target->virtual_height < low->virtual_height) ||
393 (target->virtual_height > high->virtual_height))
400 LOG(1, ("PROPOSEMODE: initial modeflags: $%08x\n", target->flags));
404 target->flags &=
412 target->flags |= (B_PARALLEL_ACCESS | B_8_BIT_DAC | B_DPMS | B_SCROLL);
415 switch (target->space)
443 if (si->ps.secondary_head && (target->timing.pixel_clock <= (max_vclk * 1000)))
445 switch (target->flags & DUALHEAD_BITS)
450 (row_bytes * target->virtual_height)) &&
451 ((uint16)(row_bytes / bpp) >= (target->timing.h_display * 2)))
453 target->flags |= DUALHEAD_CAPABLE;
458 (row_bytes * target->virtual_height))
460 target->flags |= DUALHEAD_CAPABLE;
465 (row_bytes * target->virtual_height * 2))
467 target->flags |= DUALHEAD_CAPABLE;
475 if (target->flags & DUALHEAD_CAPABLE)
478 (target->timing.h_display <= 1024) &&
479 (target->timing.v_display <= 768))
481 target->flags |= TV_CAPABLE;
487 target->flags |= B_HARDWARE_CURSOR;
490 target->flags |= B_SUPPORTS_OVERLAYS;
492 LOG(1, ("PROPOSEMODE: validated status modeflags: $%08x\n", target->flags));
496 target->timing.flags &= ~(B_BLANK_PEDESTAL | B_TIMING_INTERLACED | B_SYNC_ON_GREEN);
567 /* set target values */