diff --git a/drivers/staging/xgifb/vb_setmode.c b/drivers/staging/xgifb/vb_setmode.c index 02e76c5edbfc..6f366f4e9be1 100644 --- a/drivers/staging/xgifb/vb_setmode.c +++ b/drivers/staging/xgifb/vb_setmode.c @@ -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 */ } } diff --git a/drivers/staging/xgifb/vb_table.h b/drivers/staging/xgifb/vb_table.h index 39f528b14f01..fca1a1d63408 100644 --- a/drivers/staging/xgifb/vb_table.h +++ b/drivers/staging/xgifb/vb_table.h @@ -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,