summaryrefslogtreecommitdiff
path: root/src/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/init.c')
-rw-r--r--src/init.c29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/init.c b/src/init.c
index 62270a8..c5ee185 100644
--- a/src/init.c
+++ b/src/init.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/init.c,v 1.37 2003/11/20 19:53:20 twini Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/init.c,v 1.39 2003/12/02 16:44:36 twini Exp $ */
/*
* Mode initializing code (CRT1 section) for
* for SiS 300/305/540/630/730 and
@@ -916,7 +916,8 @@ SiS_GetModeID_LCD(int VGAEngine, ULONG VBFlags, int HDisplay, int VDisplay,
case 1280:
if(VDisplay == 1024) ModeIndex = ModeIndex_1280x1024[Depth];
else if(VDisplay == 768) {
- if((LCDheight != 1050) && (LCDheight != 960)) {
+ if((LCDheight == 768) ||
+ ((LCDheight == 1024) && (VBFlags & (VB_301|VB_301B|VB_301C|VB_302B)))) {
if(VGAEngine == SIS_300_VGA) {
ModeIndex = ModeIndex_300_1280x768[Depth];
} else {
@@ -924,7 +925,8 @@ SiS_GetModeID_LCD(int VGAEngine, ULONG VBFlags, int HDisplay, int VDisplay,
}
}
} else if(VDisplay == 960) {
- if((LCDheight != 1050) && (LCDheight != 768)) {
+ if((LCDheight == 960) ||
+ ((LCDheight == 1024) && (VBFlags & (VB_301|VB_301B|VB_301C|VB_302B)))) {
ModeIndex = ModeIndex_1280x960[Depth];
}
}
@@ -932,7 +934,9 @@ SiS_GetModeID_LCD(int VGAEngine, ULONG VBFlags, int HDisplay, int VDisplay,
case 1400:
if(VGAEngine == SIS_315_VGA) {
if(VBFlags & (VB_301B | VB_301C | VB_302B | VB_302LV | VB_302ELV)) {
- if(VDisplay == 1050) ModeIndex = ModeIndex_1400x1050[Depth];
+ if(LCDheight != 1200) {
+ if(VDisplay == 1050) ModeIndex = ModeIndex_1400x1050[Depth];
+ }
}
}
break;
@@ -996,7 +1000,7 @@ SiS_GetModeID_TV(int VGAEngine, ULONG VBFlags, int HDisplay, int VDisplay, int D
else if(VDisplay == 400) ModeIndex = ModeIndex_640x400[Depth];
break;
case 720:
- if(!(VBFlags & (TV_HIVISION | TV_HIVISION_LV))) {
+ if(!(VBFlags & (TV_HIVISION | TV_YPBPR))) {
if(VDisplay == 480) {
if((VBFlags & TV_NTSC) || (VBFlags & TV_PALM))
ModeIndex = ModeIndex_720x480[Depth];
@@ -1007,7 +1011,7 @@ SiS_GetModeID_TV(int VGAEngine, ULONG VBFlags, int HDisplay, int VDisplay, int D
}
break;
case 768:
- if(!(VBFlags & (TV_HIVISION | TV_HIVISION_LV))) {
+ if(!(VBFlags & (TV_HIVISION | TV_YPBPR))) {
if((VBFlags & TV_PAL) && (!(VBFlags & TV_PALM))) {
if(VDisplay == 576) ModeIndex = ModeIndex_768x576[Depth];
}
@@ -1016,7 +1020,7 @@ SiS_GetModeID_TV(int VGAEngine, ULONG VBFlags, int HDisplay, int VDisplay, int D
case 800:
if(VDisplay == 600) ModeIndex = ModeIndex_800x600[Depth];
else if(VDisplay == 480) {
- if(VBFlags & (TV_HIVISION | TV_HIVISION_LV)) {
+ if(VBFlags & (TV_HIVISION | TV_YPBPR)) {
ModeIndex = ModeIndex_800x480[Depth];
}
}
@@ -1027,13 +1031,13 @@ SiS_GetModeID_TV(int VGAEngine, ULONG VBFlags, int HDisplay, int VDisplay, int D
ModeIndex = ModeIndex_1024x768[Depth];
}
} else if(VDisplay == 576) {
- if(VBFlags & (TV_HIVISION | TV_HIVISION_LV)) {
+ if(VBFlags & (TV_HIVISION | TV_YPBPR)) {
ModeIndex = ModeIndex_1024x576[Depth];
}
}
break;
case 1280:
- if(VBFlags & (TV_HIVISION | TV_HIVISION_LV)) {
+ if(VBFlags & (TV_HIVISION | TV_YPBPR)) {
if(VDisplay == 720) ModeIndex = ModeIndex_1280x720[Depth];
else if(VDisplay == 1024) ModeIndex = ModeIndex_1280x1024[Depth];
}
@@ -1368,7 +1372,6 @@ SiSSetLVDSetc(SiS_Private *SiS_Pr, PSIS_HW_INFO HwInfo)
SiS_Pr->SiS_IF_DEF_LVDS = 0;
SiS_Pr->SiS_IF_DEF_TRUMPION = 0;
SiS_Pr->SiS_IF_DEF_CH70xx = 0;
- SiS_Pr->SiS_IF_DEF_HiVision = 0;
SiS_Pr->SiS_IF_DEF_DSTN = 0;
SiS_Pr->SiS_IF_DEF_FSTN = 0;
SiS_Pr->SiS_IF_DEF_CONEX = 0;
@@ -3626,7 +3629,7 @@ SiSSetMode(SiS_Private *SiS_Pr, PSIS_HW_INFO HwInfo,USHORT ModeNo)
/* Get VB information (connectors, connected devices) */
SiS_GetVBInfo(SiS_Pr, ModeNo, ModeIdIndex, HwInfo, (SiS_Pr->UseCustomMode) ? 0 : 1);
- SiS_SetHiVision(SiS_Pr, HwInfo);
+ SiS_SetYPbPr(SiS_Pr, HwInfo);
SiS_SetTVMode(SiS_Pr, ModeNo, ModeIdIndex, HwInfo);
SiS_GetLCDResInfo(SiS_Pr, ModeNo, ModeIdIndex, HwInfo);
SiS_SetLowModeTest(SiS_Pr, ModeNo, HwInfo);
@@ -3927,7 +3930,7 @@ SiSBIOSSetModeCRT2(SiS_Private *SiS_Pr, PSIS_HW_INFO HwInfo, ScrnInfoPtr pScrn,
/* If this is a custom mode, we don't check the modeflag for CRT2Mode */
SiS_GetVBInfo(SiS_Pr, ModeNo, ModeIdIndex, HwInfo, 0);
}
- SiS_SetHiVision(SiS_Pr, HwInfo);
+ SiS_SetYPbPr(SiS_Pr, HwInfo);
SiS_SetTVMode(SiS_Pr, ModeNo, ModeIdIndex, HwInfo);
SiS_GetLCDResInfo(SiS_Pr, ModeNo, ModeIdIndex, HwInfo);
SiS_SetLowModeTest(SiS_Pr, ModeNo, HwInfo);
@@ -4071,7 +4074,7 @@ SiSBIOSSetModeCRT1(SiS_Private *SiS_Pr, PSIS_HW_INFO HwInfo, ScrnInfoPtr pScrn,
/* Get VB information (connectors, connected devices) */
/* (We don't care if the current mode is a CRT2 mode) */
SiS_GetVBInfo(SiS_Pr, ModeNo, ModeIdIndex, HwInfo, 0);
- SiS_SetHiVision(SiS_Pr, HwInfo);
+ SiS_SetYPbPr(SiS_Pr, HwInfo);
SiS_SetTVMode(SiS_Pr, ModeNo, ModeIdIndex, HwInfo);
SiS_GetLCDResInfo(SiS_Pr, ModeNo, ModeIdIndex, HwInfo);
SiS_SetLowModeTest(SiS_Pr, ModeNo, HwInfo);