added mga_tvo/maven vid pll shutoff if TVout/dualhead not in use. this fixes primary output distortions after the _driver_ used a TVout mode(on bootup it's not OK yet if TVout was enabled by the cardBIOS).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17437 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Rudolf Cornelissen 2006-05-13 12:06:03 +00:00
parent 839e7aa6de
commit bf1ee0604c
3 changed files with 19 additions and 4 deletions

View File

@ -396,12 +396,11 @@ status_t SET_DISPLAY_MODE(display_mode *mode_to_set)
}
else
{
gx00_maven_shutoff_vid_pll();
gx00_crtc_set_timing(target);
}
//fixme: shut-off the videoPLL when applicable, if it exists...
}
/* update driver's mode store */
si->dm = target;

View File

@ -2,7 +2,7 @@
/* Authors:
Mark Watson 6/2000,
Rudolf Cornelissen 1/2003-12/2003
Rudolf Cornelissen 1/2003-5/2006
Thanx to Petr Vandrovec for writing matroxfb.
*/
@ -226,6 +226,21 @@ status_t gx00_maven_mode(int mode,float brightness)
return B_OK;
}
void gx00_maven_shutoff_vid_pll()
{
switch (si->ps.card_type)
{
case G100:
case G200:
case G400:
case G400MAX:
MAVW(PIXPLLP, ((MAVR(PIXPLLP)) & ~0x80));
break;
default:
break;
}
}
status_t gx00_maven_set_vid_pll(display_mode target)
{
switch (si->ps.card_type)

View File

@ -70,6 +70,7 @@ status_t g100_g400max_maven_vid_pll_find(display_mode target,float * calc_pclk,
uint8 * m_result,uint8 * n_result,uint8 * p_result);
status_t g450_g550_maven_vid_pll_find(display_mode target,float * calc_pclk,
uint8 * m_result,uint8 * n_result,uint8 * p_result, uint8 test);
void gx00_maven_shutoff_vid_pll(void);
status_t gx00_maven_set_vid_pll(display_mode target);
/*MAVENTV functions*/