Lines Matching refs:mode

40 	accelerator_info *ai, crtc_info *crtc, display_mode *mode, impactv_params *tv_params );
68 // list of registers that must be reset before display mode switch
104 // set display mode of one head;
107 accelerator_info *ai, crtc_info *crtc, display_mode *mode, impactv_params *tv_params )
126 crtc->mode = *mode;
129 mode = &crtc->mode;
139 if( mode->timing.h_display > fp_info->panel_xres )
140 mode->timing.h_display = fp_info->panel_xres;
141 if( mode->timing.v_display > fp_info->panel_yres )
142 mode->timing.v_display = fp_info->panel_yres;
146 if( mode->timing.h_display < fp_info->panel_xres )
147 mode->timing.h_display = fp_info->panel_xres;
148 if( mode->timing.v_display < fp_info->panel_yres )
149 mode->timing.v_display = fp_info->panel_yres;
158 mode->timing.h_total = mode->timing.h_display + fp_info->h_blank;
159 mode->timing.h_sync_start = mode->timing.h_display + fp_info->h_over_plus;
160 mode->timing.h_sync_end = mode->timing.h_sync_start + fp_info->h_sync_width;
161 mode->timing.v_total = mode->timing.v_display + fp_info->v_blank;
162 mode->timing.v_sync_start = mode->timing.v_display + fp_info->v_over_plus;
163 mode->timing.v_sync_end = mode->timing.v_sync_start + fp_info->v_sync_width;
165 mode->timing.pixel_clock = fp_info->dot_clock;
170 if( mode->timing.h_display > 1024 )
171 mode->timing.h_display = 1024;
173 if( mode->timing.v_display > 768 )
174 mode->timing.v_display = 768;
182 mode->timing.pixel_clock *= 1000;
184 // TV stuff must be done first as it tweaks the display mode
190 mode, &tweaked_mode );
192 *mode = tweaked_mode;
195 Radeon_GetFormat( mode->space, &format, &bpp );
222 Radeon_CalcCRTCRegisters( ai, crtc, mode, &crtc_values );
227 Radeon_CalcImpacTVRegisters( ai, mode, tv_params, &impactv_values,
232 Radeon_CalcCRTPLLDividers( &si->pll, mode, &dividers );
243 Radeon_CalcPLLRegisters( mode, &dividers, &pll_values );
247 Radeon_CalcRMXRegisters( fp_info, mode,
255 mode->timing.pixel_clock /= 1000;
271 //if( mode->timing.pixel_clock )
346 // public function: set display mode
352 display_mode bounds, mode;
354 mode = bounds = *mode_in;
358 SHOW_FLOW( 2, "width=%d, height=%d", mode.timing.h_display, mode.timing.v_display );
360 // check mode and tweak parameters so we can program hardware
362 if( PROPOSE_DISPLAY_MODE( &mode, &bounds, &bounds ) == B_ERROR ) {
363 SHOW_ERROR0( 2, "invalid mode" );
370 // do this before equality check to recognize changes of multi-monitor mode
371 Radeon_DetectMultiMode( vc, &mode );
373 // mode switches can take quite long and are visible,
375 if( memcmp( &mode, &vc->mode, sizeof( display_mode )) == 0 &&
382 // affects effective display mode
408 memcpy( &vc->mode, &mode, sizeof( display_mode ));
410 // verify hardware restrictions *after* saving mode
411 // e.g. if you want a span mode but have one monitor disconnected,
414 Radeon_VerifyMultiMode( vc, si, &mode );
422 vc->different_heads = Radeon_DifferentPorts( &mode );
425 vc->scroll = mode.flags & B_SCROLL;
453 Radeon_GetFormat( mode.space, &format, &bpp );
454 vc->pitch = Radeon_RoundVWidth( mode.virtual_width, bpp ) * bpp;
455 am.size = vc->pitch * mode.virtual_height;
476 Radeon_InitMultiModeVars( ai, &mode );
502 // then change the mode
504 err1 = Radeon_SetMode( ai, &si->crtc[0], &mode, &tv_params );
506 err2 = Radeon_SetMode( ai, &si->crtc[1], &mode, &tv_params );
542 Radeon_MoveDisplay( ai, mode.h_display_start, mode.v_display_start );