Signed-off-by: Timo Aaltonen <timo.aalto...@canonical.com>
---
 src/init.c    |   35 +++++++++++++++++++++++++----------
 src/init301.c |   48 ++++++++++++++++++++++++------------------------
 src/initdef.h |   19 +------------------
 3 files changed, 50 insertions(+), 52 deletions(-)

diff --git a/src/init.c b/src/init.c
index 74df1f5..9dfb6cf 100644
--- a/src/init.c
+++ b/src/init.c
@@ -1276,7 +1276,7 @@ SiSDetermineROMLayout661(struct SiS_Private *SiS_Pr)
       if((romvmaj != 0) || (romvmin >= 92)) {
         return TRUE;
       }
-   } else if(IS_SIS650740) {
+   } else if((SiS_Pr->ChipType >= SIS_650) && (SiS_Pr->ChipType <= SIS_740)) {
       if((ROMAddr[0x1a] == 'N') &&
         (ROMAddr[0x1b] == 'e') &&
         (ROMAddr[0x1c] == 'w') &&
@@ -1404,7 +1404,7 @@ SiS_ResetSegmentRegOver(struct SiS_Private *SiS_Pr)
 static void
 SiS_ResetSegmentRegisters(struct SiS_Private *SiS_Pr)
 {
-   if((IS_SIS65x) || (SiS_Pr->ChipType >= SIS_661)) {
+   if((SiS_Pr->SiS_SysFlags & SF_Is65x) || (SiS_Pr->ChipType >= SIS_661)) {
       SiS_ResetSegmentReg(SiS_Pr);
       SiS_ResetSegmentRegOver(SiS_Pr);
    }
@@ -1522,7 +1522,9 @@ SiS_Get310DRAMType(struct SiS_Private *SiS_Pr)
         } else {
            data = SiS_GetReg(SiS_Pr->SiS_P3d4,0x78) & 0x07;
         }
-      } else if(IS_SIS550650740) {
+      } else if((SiS_Pr->ChipType == SIS_550) ||
+               (SiS_Pr->ChipType == SIS_650) ||
+               (SiS_Pr->ChipType == SIS_740)) {
         data = SiS_GetReg(SiS_Pr->SiS_P3c4,0x13) & 0x07;
       } else { /* 315, 330 */
         data = SiS_GetReg(SiS_Pr->SiS_P3c4,0x3a) & 0x03;
@@ -1732,17 +1734,25 @@ SiS_SetLowModeTest(struct SiS_Private *SiS_Pr, unsigned 
short ModeNo)
 static void
 SiS_OpenCRTC(struct SiS_Private *SiS_Pr)
 {
-   if(IS_SIS650) {
+   switch(SiS_Pr->ChipType) {
+   case SIS_650:
       SiS_SetRegAND(SiS_Pr->SiS_P3d4,0x51,0x1f);
-      if(IS_SIS651) SiS_SetRegOR(SiS_Pr->SiS_P3d4,0x51,0x20);
+      if(SiS_Pr->SiS_SysFlags & (SF_Is651 | SF_Is652)) {
+       SiS_SetRegOR(SiS_Pr->SiS_P3d4,0x51,0x20);
+      }
       SiS_SetRegAND(SiS_Pr->SiS_P3d4,0x56,0xe7);
-   } else if(IS_SIS661741660760) {
+      break;
+   case SIS_661:
+   case SIS_741:
+   case SIS_660:
+   case SIS_760:
       SiS_SetRegAND(SiS_Pr->SiS_P3d4,0x61,0xf7);
       SiS_SetRegAND(SiS_Pr->SiS_P3d4,0x51,0x1f);
       SiS_SetRegAND(SiS_Pr->SiS_P3d4,0x56,0xe7);
       if(!SiS_Pr->SiS_ROMNew) {
         SiS_SetRegAND(SiS_Pr->SiS_P3d4,0x3a,0xef);
       }
+      break;
    }
 }
 
@@ -1752,7 +1762,11 @@ SiS_CloseCRTC(struct SiS_Private *SiS_Pr)
 #if 0 /* This locks some CRTC registers. We don't want that. */
    unsigned short temp1 = 0, temp2 = 0;
 
-   if(IS_SIS661741660760) {
+   switch(SiS_Pr->ChipType) {
+   case SIS_661:
+   case SIS_741:
+   case SIS_660:
+   case SIS_760:
       if(SiS_Pr->SiS_VBInfo & SetCRT2ToLCDA) {
          temp1 = 0xa0; temp2 = 0x08;
       }
@@ -1953,7 +1967,8 @@ SiS_SetATTRegs(struct SiS_Private *SiS_Pr, unsigned short 
StandTableIndex)
            }
         } else if(SiS_Pr->SiS_VBInfo & SetCRT2ToLCD) {
            if(SiS_Pr->ChipType >= SIS_315H) {
-              if(IS_SIS550650740660) {
+              if((SiS_Pr->ChipType >= SIS_550) &&
+                 (SiS_Pr->ChipType != SIS_330)) {
                  /* 315, 330 don't do this */
                  if(SiS_Pr->SiS_VBType & VB_SIS30xB) {
                     if(SiS_Pr->SiS_VBInfo & SetInSlaveMode) ARdata = 0;
@@ -3134,7 +3149,7 @@ SiS_StrangeStuff(struct SiS_Private *SiS_Pr)
     * this here.
     */
 #ifdef SIS315H
-   if((IS_SIS651) || (IS_SISM650) ||
+   if((SiS_Pr->SiS_SysFlags & SF_Is65x) ||
       SiS_Pr->ChipType == SIS_340 ||
       SiS_Pr->ChipType == XGI_40) {
       SiS_SetReg(SiS_Pr->SiS_VidCapt, 0x3f, 0x00);   /* Fiddle with capture 
regs */
@@ -3401,7 +3416,7 @@ SiSSetMode(struct SiS_Private *SiS_Pr, unsigned short 
ModeNo)
 
         SiS_SetReg(SiS_Pr->SiS_P3d4,0x38,backupreg);
 
-        if((IS_SIS650) && (SiS_GetReg(SiS_Pr->SiS_P3d4,0x30) & 0xfc)) {
+        if((SiS_Pr->ChipType == SIS_650) && (SiS_GetReg(SiS_Pr->SiS_P3d4,0x30) 
& 0xfc)) {
            if((ModeNo == 0x03) || (ModeNo == 0x10)) {
               SiS_SetRegOR(SiS_Pr->SiS_P3d4,0x51,0x80);
               SiS_SetRegOR(SiS_Pr->SiS_P3d4,0x56,0x08);
diff --git a/src/init301.c b/src/init301.c
index ffa6eaa..603ecb6 100644
--- a/src/init301.c
+++ b/src/init301.c
@@ -984,7 +984,7 @@ SiS_GetVBInfo(struct SiS_Private *SiS_Pr, unsigned short 
ModeNo,
                 /* Reset LCDA setting if not driver mode */
                 SiS_SetRegAND(SiS_Pr->SiS_P3d4,0x38,0xfc);
              }
-             if(IS_SIS650) {
+             if(SiS_Pr->ChipType == SIS_650) {
                 if(SiS_Pr->SiS_UseLCDA) {
                    if(SiS_GetReg(SiS_Pr->SiS_P3d4,0x5f) & 0xF0) {
                       if((ModeNo <= 0x13) || 
(!(SiS_GetReg(SiS_Pr->SiS_P3d4,0x31) & (DriverMode >> 8)))) {
@@ -2557,7 +2557,7 @@ SiS_SetCRT2ModeRegs(struct SiS_Private *SiS_Pr, unsigned 
short ModeNo, unsigned
        if(SiS_Pr->SiS_IF_DEF_LVDS == 1) {
           SiS_SetRegANDOR(SiS_Pr->SiS_Part1Port,0x00,0xa0,tempah);
        } else if(SiS_Pr->SiS_VBType & VB_SISVB) {
-          if(IS_SIS740) {
+          if(SiS_Pr->ChipType == SIS_740) {
              SiS_SetReg(SiS_Pr->SiS_Part1Port,0x00,tempah);
           } else {
              SiS_SetRegANDOR(SiS_Pr->SiS_Part1Port,0x00,0xa0,tempah);
@@ -2690,7 +2690,7 @@ SiS_SetCRT2ModeRegs(struct SiS_Private *SiS_Pr, unsigned 
short ModeNo, unsigned
 
        /* 740 variants match for 30xB, 301B-DH, 30xLV */
 
-       if(!(IS_SIS740)) {
+       if(SiS_Pr->ChipType != SIS_740) {
           tempah = 0x04;                                                  /* 
For all bridges */
           tempbl = 0xfb;
           if(!(SiS_Pr->SiS_VBInfo & SetCRT2ToLCDA)) {
@@ -2711,7 +2711,7 @@ SiS_SetCRT2ModeRegs(struct SiS_Private *SiS_Pr, unsigned 
short ModeNo, unsigned
         * chipset than the bridge revision.
         */
 
-       if((IS_SIS740) || (SiS_Pr->ChipType >= SIS_661) || 
(SiS_Pr->SiS_ROMNew)) {
+       if((SiS_Pr->ChipType == SIS_740) || (SiS_Pr->ChipType >= SIS_661) || 
(SiS_Pr->SiS_ROMNew)) {
           tempah = 0x30;
           tempbl = 0xc0;
           if((SiS_Pr->SiS_VBInfo & DisableCRT2Display) ||
@@ -2735,7 +2735,7 @@ SiS_SetCRT2ModeRegs(struct SiS_Private *SiS_Pr, unsigned 
short ModeNo, unsigned
                 tempah = tempah2 = 0x00;
           } else if(SiS_Pr->SiS_TVBlue == -1) {
              /* Set on 651/M650, clear on 315/650 */
-             if(!(IS_SIS65x)) /* (bridgerev != 0xb0) */ {
+            if(!(SiS_Pr->SiS_SysFlags & SF_Is65x)) /* (bridgerev != 0xb0) */ {
                 tempah = tempah2 = 0x00;
              }
           }
@@ -2754,7 +2754,7 @@ SiS_SetCRT2ModeRegs(struct SiS_Private *SiS_Pr, unsigned 
short ModeNo, unsigned
           SiS_SetRegANDOR(SiS_Pr->SiS_Part4Port,0x21,tempbl2,tempah2);
        }
 
-       if(IS_SIS740) {
+       if(SiS_Pr->ChipType == SIS_740) {
           tempah = 0x80;
           if(SiS_Pr->SiS_VBInfo & DisableCRT2Display) tempah = 0x00;
           SiS_SetRegANDOR(SiS_Pr->SiS_Part4Port,0x23,0x7f,tempah);
@@ -4053,7 +4053,7 @@ SiS_DisableBridge(struct SiS_Private *SiS_Pr)
                 SiS_DDC2Delay(SiS_Pr,0xe000);
                 SiS_SetRegByte(SiS_Pr->SiS_P3c6,0x00);
                 pushax = SiS_GetReg(SiS_Pr->SiS_P3c4,0x06);
-                if(IS_SIS740) {
+                if(SiS_Pr->ChipType == SIS_740) {
                    SiS_SetRegAND(SiS_Pr->SiS_P3c4,0x06,0xE3);
                 }
                 SiS_PanelDelay(SiS_Pr, 3);
@@ -4482,7 +4482,7 @@ SiS_EnableBridge(struct SiS_Private *SiS_Pr)
            SiS_SetRegByte(SiS_Pr->SiS_P3c6,0x00);
            SiS_DisplayOff(SiS_Pr);
            pushax = SiS_GetReg(SiS_Pr->SiS_P3c4,0x06);
-           if(IS_SIS740) {
+           if(SiS_Pr->ChipType == SIS_740) {
               SiS_SetRegAND(SiS_Pr->SiS_P3c4,0x06,0xE3);
            }
 
@@ -5564,9 +5564,9 @@ SiS_SetGroup1_LVDS(struct SiS_Private *SiS_Pr, unsigned 
short ModeNo, unsigned s
 
 #ifdef SIS315H
   if((SiS_Pr->ChipType >= SIS_315H) && (SiS_Pr->SiS_VBInfo & SetCRT2ToLCDA)) {
-     if(IS_SIS330) {
+     if(SiS_Pr->ChipType == SIS_330) {
         SiS_SetRegOR(SiS_Pr->SiS_Part1Port,0x2D,0x10);
-     } else if(IS_SIS740) {
+     } else if(SiS_Pr->ChipType == SIS_740) {
         if(islvds) {
            SiS_SetRegANDOR(SiS_Pr->SiS_Part1Port,0x13,0xfb,0x04);
           SiS_SetRegOR(SiS_Pr->SiS_Part1Port,0x2D,0x03);
@@ -9741,7 +9741,7 @@ GetLCDPtrIndexBIOS(struct SiS_Private *SiS_Pr)
 {
   unsigned short index;
 
-  if((IS_SIS650) && (SiS_Pr->SiS_VBType & VB_SISLVDS)) {
+  if((SiS_Pr->ChipType == SIS_650) && (SiS_Pr->SiS_VBType & VB_SISLVDS)) {
      if(!(SiS_IsNotM650orLater(SiS_Pr))) {
         if((index = SiS_GetReg(SiS_Pr->SiS_P3d4,0x36) & 0xf0)) {
           index >>= 4;
@@ -9888,9 +9888,9 @@ SetDelayComp(struct SiS_Private *SiS_Pr, unsigned short 
ModeNo)
      else {
         delay = 0x04;
         if(SiS_Pr->SiS_VBType & VB_SIS30xB) {
-          if(IS_SIS650) {
+          if(SiS_Pr->ChipType == SIS_650) {
              delay = 0x0a;
-          } else if(IS_SIS740) {
+          } else if(SiS_Pr->ChipType == SIS_740) {
              delay = 0x00;
           } else if(SiS_Pr->ChipType < SIS_330) {
              delay = 0x0c;
@@ -9939,7 +9939,7 @@ SetDelayComp(struct SiS_Private *SiS_Pr, unsigned short 
ModeNo)
                 delay = 0x00;
              }
           } else if(SiS_Pr->SiS_VBType & VB_SISLVDS) {
-             if(IS_SIS740) delay = 0x01;
+             if(SiS_Pr->ChipType == SIS_740) delay = 0x01;
              else          delay = 0x03;
           }
           SiS_SetRegANDOR(SiS_Pr->SiS_Part1Port,0x2d,0xf0,delay);
@@ -9986,7 +9986,7 @@ SetDelayComp(struct SiS_Private *SiS_Pr, unsigned short 
ModeNo)
         index = GetLCDPtrIndexBIOS(SiS_Pr);
         myindex = GetLCDPtrIndex(SiS_Pr);
 
-        if(IS_SIS650 && (SiS_Pr->SiS_VBType & VB_SISLVDS)) {
+        if(SiS_Pr->ChipType == SIS_650 && (SiS_Pr->SiS_VBType & VB_SISLVDS)) {
 
            if(SiS_IsNotM650orLater(SiS_Pr)) {
 
@@ -10024,22 +10024,22 @@ SetDelayComp(struct SiS_Private *SiS_Pr, unsigned 
short ModeNo)
 
         } else if(SiS_Pr->SiS_IF_DEF_LVDS == 1) {
 
-          if(IS_SIS740) delay = 0x03;
+          if(SiS_Pr->ChipType == SIS_740) delay = 0x03;
           else          delay = 0x00;
 
        } else {
 
            delay = SiS310_LCDDelayCompensation_301[myindex];
           if(SiS_Pr->SiS_VBType & VB_SISLVDS) {
-             if(IS_SIS740) delay = 0x01;
+             if(SiS_Pr->ChipType == SIS_740) delay = 0x01;
              else if(SiS_Pr->ChipType <= SIS_315PRO) delay = 
SiS310_LCDDelayCompensation_3xx301LV[myindex];
              else          delay = 
SiS310_LCDDelayCompensation_650301LV[myindex];
           } else if(SiS_Pr->SiS_VBType & VB_SIS301C) {
-             if(IS_SIS740) delay = 0x01;  /* ? */
+             if(SiS_Pr->ChipType == SIS_740) delay = 0x01;  /* ? */
              else          delay = 0x03;
              if(SiS_Pr->SiS_LCDResInfo == Panel_1600x1200) delay = 0x00; /* 
experience */
           } else if(SiS_Pr->SiS_VBType & VB_SIS30xB) {
-             if(IS_SIS740) delay = 0x01;
+             if(SiS_Pr->ChipType == SIS_740) delay = 0x01;
              else          delay = 
SiS310_LCDDelayCompensation_3xx301B[myindex];
           }
 
@@ -10056,7 +10056,7 @@ SetDelayComp(struct SiS_Private *SiS_Pr, unsigned short 
ModeNo)
 
      index = GetTVPtrIndex(SiS_Pr);
 
-     if(IS_SIS650 && (SiS_Pr->SiS_VBType & VB_SISLVDS)) {
+     if((SiS_Pr->ChipType == SIS_650) && (SiS_Pr->SiS_VBType & VB_SISLVDS)) {
 
         if(SiS_IsNotM650orLater(SiS_Pr)) {
 
@@ -10112,7 +10112,7 @@ SetDelayComp(struct SiS_Private *SiS_Pr, unsigned short 
ModeNo)
 
        delay = SiS310_TVDelayCompensation_301[index];
         if(SiS_Pr->SiS_VBType & VB_SIS30xBLV) {
-          if(IS_SIS740) {
+          if(SiS_Pr->ChipType == SIS_740) {
              delay = SiS310_TVDelayCompensation_740301B[index];
              /* LV: use 301 data? BIOS bug? */
           } else {
@@ -10134,7 +10134,7 @@ SetDelayComp(struct SiS_Private *SiS_Pr, unsigned short 
ModeNo)
 
   if(SiS_Pr->SiS_VBType & VB_SISVB) {
 
-     if(IS_SIS650 && (SiS_Pr->SiS_VBType & VB_SISLVDS) && dochiptest) {
+    if((SiS_Pr->ChipType == SIS_650) && (SiS_Pr->SiS_VBType & VB_SISLVDS) && 
dochiptest) {
 
         temp = (SiS_GetReg(SiS_Pr->SiS_P3d4,0x36) & 0xf0) >> 4;
         if(temp == 8) {                /* 1400x1050 BIOS (COMPAL) */
@@ -10159,7 +10159,7 @@ SetDelayComp(struct SiS_Private *SiS_Pr, unsigned short 
ModeNo)
      if(SiS_Pr->SiS_VBInfo & SetCRT2ToTV) {
         SiS_SetRegANDOR(SiS_Pr->SiS_Part1Port,0x2D,0xF0,delay);
      } else {
-        if(IS_SIS650 && (SiS_Pr->SiS_IF_DEF_CH70xx != 0)) {
+       if((SiS_Pr->ChipType == SIS_650) && (SiS_Pr->SiS_IF_DEF_CH70xx != 0)) {
            delay <<= 4;
            SiS_SetRegANDOR(SiS_Pr->SiS_Part1Port,0x2D,0x0F,delay);
         } else {
@@ -10705,7 +10705,7 @@ SiS_FinalizeLCD(struct SiS_Private *SiS_Pr, unsigned 
short ModeNo, unsigned shor
      modeflag =  SiS_Pr->SiS_EModeIDTable[ModeIdIndex].Ext_ModeFlag;
   }
 
-  if(IS_SIS650) {
+  if(SiS_Pr->ChipType == SIS_650) {
      if(!(SiS_GetReg(SiS_Pr->SiS_P3d4, 0x5f) & 0xf0)) {
         if(SiS_Pr->SiS_CustomT == CUT_CLEVO1024) {
           SiS_SetRegOR(SiS_Pr->SiS_Part1Port,0x1e,0x02);
diff --git a/src/initdef.h b/src/initdef.h
index 62ec836..a186033 100644
--- a/src/initdef.h
+++ b/src/initdef.h
@@ -51,24 +51,6 @@
 #ifndef _INITDEF_
 #define _INITDEF_
 
-#define IS_SIS330              (SiS_Pr->ChipType == SIS_330)
-#define IS_SIS550              (SiS_Pr->ChipType == SIS_550)
-#define IS_SIS650              (SiS_Pr->ChipType == SIS_650)  /* All versions, 
incl 651, M65x */
-#define IS_SIS740              (SiS_Pr->ChipType == SIS_740)
-#define IS_SIS651              (SiS_Pr->SiS_SysFlags & (SF_Is651 | SF_Is652))
-#define IS_SISM650             (SiS_Pr->SiS_SysFlags & (SF_IsM650 | SF_IsM652 
| SF_IsM653))
-#define IS_SIS65x               (IS_SIS651 || IS_SISM650)       /* Only 
special versions of 65x */
-#define IS_SIS661              (SiS_Pr->ChipType == SIS_661)
-#define IS_SIS741              (SiS_Pr->ChipType == SIS_741)
-#define IS_SIS660              (SiS_Pr->ChipType == SIS_660)
-#define IS_SIS760              (SiS_Pr->ChipType == SIS_760)
-#define IS_SIS761              (SiS_Pr->ChipType == SIS_761)
-#define IS_SIS661741660760     (IS_SIS661 || IS_SIS741 || IS_SIS660 || 
IS_SIS760 || IS_SIS761)
-#define IS_SIS650740            ((SiS_Pr->ChipType >= SIS_650) && 
(SiS_Pr->ChipType < SIS_330))
-#define IS_SIS550650740         (IS_SIS550 || IS_SIS650740)
-#define IS_SIS650740660         (IS_SIS650 || IS_SIS740 || IS_SIS661741660760)
-#define IS_SIS550650740660      (IS_SIS550 || IS_SIS650740660)
-
 #define SISGETROMW(x)          (ROMAddr[(x)] | (ROMAddr[(x)+1] << 8))
 
 /* SiS_VBType */
@@ -225,6 +207,7 @@
 #define SF_Is652               0x0004
 #define SF_IsM652              0x0008
 #define SF_IsM653              0x0010
+#define SF_Is65x               (SF_Is651 | SF_IsM650 | SF_Is652 | SF_IsM652 | 
SF_IsM653)
 #define SF_IsM661              0x0020
 #define SF_IsM741              0x0040
 #define SF_IsM760              0x0080
-- 
1.7.4.1

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to