staging/xgifb: Simplify XGI_SetSeqRegs
authorPeter Huewe <peterhuewe@gmx.de>
Sun, 3 Feb 2013 21:54:34 +0000 (22:54 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 4 Feb 2013 18:46:27 +0000 (10:46 -0800)
Since SR[0] in the (readonly) XGI330_StandTable is always 0x01 we can
skip or'ing with 0x01 and make the code simpler by removing the if
statements.

Since this function is the only user of the XGI330_StandTable we can
also include the unconditional |= 0x20 into the input data and move the
assignment to SR1 into the loop, which I prefer to start at 0.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/xgifb/vb_setmode.c
drivers/staging/xgifb/vb_table.h

index 02e76c5edbfc7915cad5df13ce57d32b64dd516e..6f366f4e9be175c2203e86a11ff2fc30d05f62e3 100644 (file)
@@ -64,26 +64,15 @@ static void XGI_SetSeqRegs(unsigned short ModeNo,
                           unsigned short ModeIdIndex,
                           struct vb_device_info *pVBInfo)
 {
-       unsigned char tempah, SRdata;
-       unsigned short i;
+       unsigned char SRdata, i;
 
        xgifb_reg_set(pVBInfo->P3c4, 0x00, 0x03); /* Set SR0 */
-       tempah = XGI330_StandTable.SR[0];
-
-       if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) {
-               tempah |= 0x01;
-       } else if (pVBInfo->VBInfo & (SetCRT2ToTV | SetCRT2ToLCD)) {
-               if (pVBInfo->VBInfo & SetInSlaveMode)
-                       tempah |= 0x01;
-       }
 
-       tempah |= 0x20; /* screen off */
-       xgifb_reg_set(pVBInfo->P3c4, 0x01, tempah); /* Set SR1 */
-
-       for (i = 02; i <= 04; i++) {
-               /* Get SR2,3,4 from file */
-               SRdata = XGI330_StandTable.SR[i - 1];
-               xgifb_reg_set(pVBInfo->P3c4, i, SRdata); /* Set SR2 3 4 */
+       for (i = 0; i < 4; i++) {
+               /* Get SR1,2,3,4 from file */
+               /* SR1 is with screen off 0x20 */
+               SRdata = XGI330_StandTable.SR[i];
+               xgifb_reg_set(pVBInfo->P3c4, i+1, SRdata); /* Set SR 1 2 3 4 */
        }
 }
 
index 39f528b14f01674490f47344f68a9daf7948b626..fca1a1d6340864093b456c15041e879352e1e6ca 100644 (file)
@@ -195,7 +195,7 @@ const struct XGI_ExtStruct XGI330_EModeIDTable[] = {
 static const struct SiS_StandTable_S XGI330_StandTable = {
 /* ExtVGATable */
        0x00, 0x00, 0x00, 0x0000,
-       {0x01, 0x0f, 0x00, 0x0e},
+       {0x21, 0x0f, 0x00, 0x0e}, /* 0x21 = 0x01 | (0x20 = screen off) */
         0x23,
        {0x5f, 0x4f, 0x50, 0x82, 0x54, 0x80, 0x0b, 0x3e,
         0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,