Lines Matching defs:target

104  * returns B_BAD_VALUE. It's called by the OS with target, low and high set to
113 * The target mode should be modified to correspond to the mode as it can be made. */
115 PROPOSE_DISPLAY_MODE(display_mode *target, const display_mode *low, const display_mode *high)
123 double target_refresh = ((double)target->timing.pixel_clock * 1000.0)
124 / ((double)target->timing.h_total * (double)target->timing.v_total);
125 bool want_same_width = target->timing.h_display == target->virtual_width;
126 bool want_same_height = target->timing.v_display == target->virtual_height;
129 target->virtual_width, target->virtual_height));
157 if (target->timing.h_display == valid_mode_list[i].h_display
158 && target->timing.v_display == valid_mode_list[i].v_display) {
159 if (abs(valid_mode_list[i].pixel_clock-target->timing.pixel_clock)
160 < abs(closest_mode_clock-target->timing.pixel_clock)) {
172 target->timing = valid_mode_list[closest_mode_ptr];
174 target_refresh = ((double)target->timing.pixel_clock * 1000.0)
175 / ((double)target->timing.h_total * (double)target->timing.v_total);
181 result = head1_validate_timing(&target->timing.h_display,
182 &target->timing.h_sync_start, &target->timing.h_sync_end,
183 &target->timing.h_total, &target->timing.v_display,
184 &target->timing.v_sync_start, &target->timing.v_sync_end,
185 &target->timing.v_total);
193 target_aspect = (target->timing.h_display / ((float)target->timing.v_display));
232 if (target->timing.h_display == si->ps.p1_timing.h_display
233 && target->timing.v_display == si->ps.p1_timing.v_display)
237 if (target->timing.h_display == si->ps.p2_timing.h_display
238 && target->timing.v_display == si->ps.p2_timing.v_display)
249 if (target->timing.h_display > si->ps.p1_timing.h_display
250 || target->timing.v_display > si->ps.p1_timing.v_display) {
256 if (target->timing.h_display > si->ps.p2_timing.h_display
257 || target->timing.v_display > si->ps.p2_timing.v_display) {
264 if (target->timing.h_display > target->virtual_width || want_same_width)
265 target->virtual_width = target->timing.h_display;
266 if (target->timing.v_display > target->virtual_height || want_same_height)
267 target->virtual_height = target->timing.v_display;
270 result = nv_general_validate_pic_size(target, &row_bytes, &acc_mode);
277 if (target->virtual_width < low->virtual_width
278 || target->virtual_width > high->virtual_width) {
284 if (target->timing.h_display < low->timing.h_display
285 || target->timing.h_display > high->timing.h_display
286 || target->timing.h_sync_start < low->timing.h_sync_start
287 || target->timing.h_sync_start > high->timing.h_sync_start
288 || target->timing.h_sync_end < low->timing.h_sync_end
289 || target->timing.h_sync_end > high->timing.h_sync_end
290 || target->timing.h_total < low->timing.h_total
291 || target->timing.h_total > high->timing.h_total) {
293 if (target->timing.h_display < low->timing.h_display
294 || target->timing.h_display > high->timing.h_display)
301 if (target->timing.v_display < low->timing.v_display
302 || target->timing.v_display > high->timing.v_display
303 || target->timing.v_sync_start < low->timing.v_sync_start
304 || target->timing.v_sync_start > high->timing.v_sync_start
305 || target->timing.v_sync_end < low->timing.v_sync_end
306 || target->timing.v_sync_end > high->timing.v_sync_end
307 || target->timing.v_total < low->timing.v_total
308 || target->timing.v_total > high->timing.v_total) {
310 if (target->timing.v_display < low->timing.v_display
311 || target->timing.v_display > high->timing.v_display)
318 target->timing.pixel_clock = target_refresh * ((double)target->timing.h_total)
319 * ((double)target->timing.v_total) / 1000.0;
321 /* Now find the nearest valid pixelclock we actually can setup for the target mode,
324 result = head1_pix_pll_find(*target, &pix_clock_found, &m, &n, &p, 0);
325 /* update the target mode */
326 target->timing.pixel_clock = pix_clock_found * 1000;
329 if (target->timing.pixel_clock < low->timing.pixel_clock
330 || target->timing.pixel_clock > high->timing.pixel_clock) {
332 if (target->timing.pixel_clock < low->timing.pixel_clock - 1000
333 || target->timing.pixel_clock > high->timing.pixel_clock + 1000)
349 if (row_bytes * target->virtual_height > si->ps.memory_size - mem_reservation) {
350 target->virtual_height = (si->ps.memory_size - mem_reservation) / row_bytes;
352 if (target->virtual_height < target->timing.v_display) {
358 target->virtual_width, target->virtual_height));
360 if (target->virtual_height < low->virtual_height
361 || target->virtual_height > high->virtual_height) {
367 LOG(1, ("PROPOSEMODE: initial modeflags: $%08x\n", target->flags));
371 target->flags &=
379 target->flags |= (B_PARALLEL_ACCESS | B_8_BIT_DAC | B_DPMS | B_SCROLL);
382 switch (target->space) {
409 if (si->ps.secondary_head && target->timing.pixel_clock <= (max_vclk * 1000)) {
410 switch (target->flags & DUALHEAD_BITS) {
414 >= row_bytes * target->virtual_height
415 && (uint16)(row_bytes / bpp) >= target->timing.h_display * 2)
416 target->flags |= DUALHEAD_CAPABLE;
420 >= row_bytes * target->virtual_height)
421 target->flags |= DUALHEAD_CAPABLE;
425 >= row_bytes * target->virtual_height * 2)
426 target->flags |= DUALHEAD_CAPABLE;
432 if (!(target->flags & DUALHEAD_CAPABLE))
433 target->flags &= ~DUALHEAD_BITS;
436 if (!(target->flags & TV_CAPABLE))
437 target->flags &= ~TV_BITS;
441 target->flags |= B_HARDWARE_CURSOR;
445 target->flags |= B_SUPPORTS_OVERLAYS;
447 LOG(1, ("PROPOSEMODE: validated modeflags: $%08x\n", target->flags));
451 target->timing.flags &= ~(B_BLANK_PEDESTAL | B_TIMING_INTERLACED | B_SYNC_ON_GREEN);
525 /* set target values */