staging: xgifb: XGI_GetLcdPtr: use real pointers for data tables

Use real pointers for LCD data tables to simplify the code.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Aaro Koskinen 2012-11-04 21:14:44 +02:00 committed by Greg Kroah-Hartman
parent 515e9a603f
commit 4736783cca
3 changed files with 119 additions and 445 deletions

View File

@ -1310,7 +1310,7 @@ static void *XGI_GetLcdPtr(unsigned short BX, unsigned short ModeNo,
unsigned short RefreshRateTableIndex,
struct vb_device_info *pVBInfo)
{
unsigned short i, tempdx, tempbx, tempal, modeflag, table;
unsigned short i, tempdx, tempbx, tempal, modeflag;
struct XGI330_LCDDataTablStruct *tempdi = NULL;
@ -1365,7 +1365,6 @@ static void *XGI_GetLcdPtr(unsigned short BX, unsigned short ModeNo,
if (tempdi == NULL) /* OEMUtil */
return NULL;
table = tempbx;
i = 0;
while (tempdi[i].PANELID != 0xff) {
@ -1392,319 +1391,7 @@ static void *XGI_GetLcdPtr(unsigned short BX, unsigned short ModeNo,
i++;
}
if (table == 0) {
switch (tempdi[i].DATAPTR) {
case 0:
return &XGI_LVDSCRT11024x768_1_H[tempal];
break;
case 1:
return &XGI_LVDSCRT11024x768_2_H[tempal];
break;
case 2:
return &XGI_LVDSCRT11280x1024_1_H[tempal];
break;
case 3:
return &XGI_LVDSCRT11280x1024_2_H[tempal];
break;
case 4:
return &XGI_LVDSCRT11400x1050_1_H[tempal];
break;
case 5:
return &XGI_LVDSCRT11400x1050_2_H[tempal];
break;
case 6:
return &XGI_LVDSCRT11600x1200_1_H[tempal];
break;
case 7:
return &XGI_LVDSCRT11024x768_1_Hx75[tempal];
break;
case 8:
return &XGI_LVDSCRT11024x768_2_Hx75[tempal];
break;
case 9:
return &XGI_LVDSCRT11280x1024_1_Hx75[tempal];
break;
case 10:
return &XGI_LVDSCRT11280x1024_2_Hx75[tempal];
break;
default:
break;
}
} else if (table == 1) {
switch (tempdi[i].DATAPTR) {
case 0:
return &XGI_LVDSCRT11024x768_1_V[tempal];
break;
case 1:
return &XGI_LVDSCRT11024x768_2_V[tempal];
break;
case 2:
return &XGI_LVDSCRT11280x1024_1_V[tempal];
break;
case 3:
return &XGI_LVDSCRT11280x1024_2_V[tempal];
break;
case 4:
return &XGI_LVDSCRT11400x1050_1_V[tempal];
break;
case 5:
return &XGI_LVDSCRT11400x1050_2_V[tempal];
break;
case 6:
return &XGI_LVDSCRT11600x1200_1_V[tempal];
break;
case 7:
return &XGI_LVDSCRT11024x768_1_Vx75[tempal];
break;
case 8:
return &XGI_LVDSCRT11024x768_2_Vx75[tempal];
break;
case 9:
return &XGI_LVDSCRT11280x1024_1_Vx75[tempal];
break;
case 10:
return &XGI_LVDSCRT11280x1024_2_Vx75[tempal];
break;
default:
break;
}
} else if (table == 2) {
switch (tempdi[i].DATAPTR) {
case 0:
return &XGI_LVDS1024x768Data_1[tempal];
break;
case 1:
return &XGI_LVDS1024x768Data_2[tempal];
break;
case 2:
return &XGI_LVDS1280x1024Data_1[tempal];
break;
case 3:
return &XGI_LVDS1280x1024Data_2[tempal];
break;
case 4:
return &XGI_LVDS1400x1050Data_1[tempal];
break;
case 5:
return &XGI_LVDS1400x1050Data_2[tempal];
break;
case 6:
return &XGI_LVDS1600x1200Data_1[tempal];
break;
case 7:
return &XGI_LVDSNoScalingData[tempal];
break;
case 8:
return &XGI_LVDS1024x768Data_1x75[tempal];
break;
case 9:
return &XGI_LVDS1024x768Data_2x75[tempal];
break;
case 10:
return &XGI_LVDS1280x1024Data_1x75[tempal];
break;
case 11:
return &XGI_LVDS1280x1024Data_2x75[tempal];
break;
case 12:
return &XGI_LVDSNoScalingDatax75[tempal];
break;
default:
break;
}
} else if (table == 3) {
switch (tempdi[i].DATAPTR) {
case 0:
return &XGI_LVDS1024x768Des_1[tempal];
break;
case 1:
return &XGI_LVDS1024x768Des_3[tempal];
break;
case 2:
return &XGI_LVDS1024x768Des_2[tempal];
break;
case 3:
return &XGI_LVDS1280x1024Des_1[tempal];
break;
case 4:
return &XGI_LVDS1280x1024Des_2[tempal];
break;
case 5:
return &XGI_LVDS1400x1050Des_1[tempal];
break;
case 6:
return &XGI_LVDS1400x1050Des_2[tempal];
break;
case 7:
return &XGI_LVDS1600x1200Des_1[tempal];
break;
case 8:
return &XGI_LVDSNoScalingDesData[tempal];
break;
case 9:
return &XGI_LVDS1024x768Des_1x75[tempal];
break;
case 10:
return &XGI_LVDS1024x768Des_3x75[tempal];
break;
case 11:
return &XGI_LVDS1024x768Des_2x75[tempal];
break;
case 12:
return &XGI_LVDS1280x1024Des_1x75[tempal];
break;
case 13:
return &XGI_LVDS1280x1024Des_2x75[tempal];
break;
case 14:
return &XGI_LVDSNoScalingDesDatax75[tempal];
break;
default:
break;
}
} else if (table == 4) {
switch (tempdi[i].DATAPTR) {
case 0:
return &XGI_ExtLCD1024x768Data[tempal];
break;
case 1:
return &XGI_StLCD1024x768Data[tempal];
break;
case 2:
return &XGI_CetLCD1024x768Data[tempal];
break;
case 3:
return &XGI_ExtLCD1280x1024Data[tempal];
break;
case 4:
return &XGI_StLCD1280x1024Data[tempal];
break;
case 5:
return &XGI_CetLCD1280x1024Data[tempal];
break;
case 6:
case 7:
return &xgifb_lcd_1400x1050[tempal];
break;
case 8:
return &XGI_CetLCD1400x1050Data[tempal];
break;
case 9:
return &XGI_ExtLCD1600x1200Data[tempal];
break;
case 10:
return &XGI_StLCD1600x1200Data[tempal];
break;
case 11:
return &XGI_NoScalingData[tempal];
break;
case 12:
return &XGI_ExtLCD1024x768x75Data[tempal];
break;
case 13:
return &XGI_ExtLCD1024x768x75Data[tempal];
break;
case 14:
return &XGI_CetLCD1024x768x75Data[tempal];
break;
case 15:
case 16:
return &xgifb_lcd_1280x1024x75[tempal];
break;
case 17:
return &XGI_CetLCD1280x1024x75Data[tempal];
break;
case 18:
return &XGI_NoScalingDatax75[tempal];
break;
default:
break;
}
} else if (table == 5 && ((pVBInfo->VBType & VB_SIS301LV) ||
(pVBInfo->VBType & VB_SIS302LV))) {
switch (tempdi[i].DATAPTR) {
case 0: return &XGI_ExtLCDDes1024x768Data[tempal];
case 1: return &XGI_StLCDDes1024x768Data[tempal];
case 2: return &XGI_CetLCDDes1024x768Data[tempal];
case 3: return &XGI_ExtLCDDLDes1280x1024Data[tempal];
case 4: return &XGI_StLCDDLDes1280x1024Data[tempal];
case 5: return &XGI_CetLCDDLDes1280x1024Data[tempal];
case 6:
case 7: return &xgifb_lcddldes_1400x1050[tempal];
case 8: return &XGI_CetLCDDes1400x1050Data[tempal];
case 9: return &XGI_CetLCDDes1400x1050Data2[tempal];
case 10: return &XGI_ExtLCDDLDes1600x1200Data[tempal];
case 11: return &XGI_StLCDDLDes1600x1200Data[tempal];
case 12: return &XGI_NoScalingDesData[tempal];
case 13:
case 14: return &xgifb_lcddes_1024x768x75[tempal];
case 15: return &XGI_CetLCDDes1024x768x75Data[tempal];
case 16:
case 17: return &xgifb_lcddldes_1280x1024x75[tempal];
case 18: return &XGI_CetLCDDLDes1280x1024x75Data[tempal];
case 19: return &XGI_NoScalingDesDatax75[tempal];
}
} else if (table == 5) {
switch (tempdi[i].DATAPTR) {
case 0:
return &XGI_ExtLCDDes1024x768Data[tempal];
break;
case 1:
return &XGI_StLCDDes1024x768Data[tempal];
break;
case 2:
return &XGI_CetLCDDes1024x768Data[tempal];
break;
case 3:
return &XGI_ExtLCDDes1280x1024Data[tempal];
break;
case 4:
return &XGI_StLCDDes1280x1024Data[tempal];
break;
case 5:
return &XGI_CetLCDDes1280x1024Data[tempal];
break;
case 6:
case 7:
return &xgifb_lcddes_1400x1050[tempal];
break;
case 8:
return &XGI_CetLCDDes1400x1050Data[tempal];
break;
case 9:
return &XGI_CetLCDDes1400x1050Data2[tempal];
break;
case 10:
return &XGI_ExtLCDDes1600x1200Data[tempal];
break;
case 11:
return &XGI_StLCDDes1600x1200Data[tempal];
break;
case 12:
return &XGI_NoScalingDesData[tempal];
break;
case 13:
case 14:
return &xgifb_lcddes_1024x768x75[tempal];
break;
case 15:
return &XGI_CetLCDDes1024x768x75Data[tempal];
break;
case 16:
case 17:
return &xgifb_lcddes_1280x1024x75[tempal];
break;
case 18:
return &XGI_CetLCDDes1280x1024x75Data[tempal];
break;
case 19:
return &XGI_NoScalingDesDatax75[tempal];
break;
default:
break;
}
}
return NULL;
return tempdi[i].DATAPTR;
}
static struct SiS_TVData const *XGI_GetTVPtr(unsigned short ModeNo,

View File

@ -56,7 +56,7 @@ struct XGI330_LCDDataTablStruct {
unsigned char PANELID;
unsigned short MASK;
unsigned short CAP;
unsigned short DATAPTR;
void *DATAPTR;
};
struct XGI330_TVDataTablStruct {

View File

@ -1749,153 +1749,140 @@ static struct XGI_LVDSCRT1VDataStruct XGI_LVDSCRT11280x1024_2_Vx75[] = {
/*add for new UNIVGABIOS*/
static struct XGI330_LCDDataTablStruct XGI_LCDDataTable[] = {
{Panel_1024x768, 0x0019, 0x0001, 0}, /* XGI_ExtLCD1024x768Data */
{Panel_1024x768, 0x0019, 0x0000, 1}, /* XGI_StLCD1024x768Data */
{Panel_1024x768, 0x0018, 0x0010, 2}, /* XGI_CetLCD1024x768Data */
{Panel_1280x1024, 0x0019, 0x0001, 3}, /* XGI_ExtLCD1280x1024Data */
{Panel_1280x1024, 0x0019, 0x0000, 4}, /* XGI_StLCD1280x1024Data */
{Panel_1280x1024, 0x0018, 0x0010, 5}, /* XGI_CetLCD1280x1024Data */
{Panel_1400x1050, 0x0019, 0x0001, 6}, /* XGI_ExtLCD1400x1050Data */
{Panel_1400x1050, 0x0019, 0x0000, 7}, /* XGI_StLCD1400x1050Data */
{Panel_1400x1050, 0x0018, 0x0010, 8}, /* XGI_CetLCD1400x1050Data */
{Panel_1600x1200, 0x0019, 0x0001, 9}, /* XGI_ExtLCD1600x1200Data */
{Panel_1600x1200, 0x0019, 0x0000, 10}, /* XGI_StLCD1600x1200Data */
{PanelRef60Hz, 0x0008, 0x0008, 11}, /* XGI_NoScalingData */
{Panel_1024x768x75, 0x0019, 0x0001, 12}, /* XGI_ExtLCD1024x768x75Data */
{Panel_1024x768x75, 0x0019, 0x0000, 13}, /* XGI_StLCD1024x768x75Data */
{Panel_1024x768x75, 0x0018, 0x0010, 14}, /* XGI_CetLCD1024x768x75Data */
/* XGI_ExtLCD1280x1024x75Data */
{Panel_1280x1024x75, 0x0019, 0x0001, 15},
/* XGI_StLCD1280x1024x75Data */
{Panel_1280x1024x75, 0x0019, 0x0000, 16},
/* XGI_CetLCD1280x1024x75Data */
{Panel_1280x1024x75, 0x0018, 0x0010, 17},
{PanelRef75Hz, 0x0008, 0x0008, 18}, /* XGI_NoScalingDatax75 */
{0xFF, 0x0000, 0x0000, 0} /* End of table */
{Panel_1024x768, 0x0019, 0x0001, XGI_ExtLCD1024x768Data },
{Panel_1024x768, 0x0019, 0x0000, XGI_StLCD1024x768Data },
{Panel_1024x768, 0x0018, 0x0010, XGI_CetLCD1024x768Data },
{Panel_1280x1024, 0x0019, 0x0001, XGI_ExtLCD1280x1024Data },
{Panel_1280x1024, 0x0019, 0x0000, XGI_StLCD1280x1024Data },
{Panel_1280x1024, 0x0018, 0x0010, XGI_CetLCD1280x1024Data },
{Panel_1400x1050, 0x0019, 0x0001, xgifb_lcd_1400x1050 },
{Panel_1400x1050, 0x0019, 0x0000, xgifb_lcd_1400x1050 },
{Panel_1400x1050, 0x0018, 0x0010, XGI_CetLCD1400x1050Data },
{Panel_1600x1200, 0x0019, 0x0001, XGI_ExtLCD1600x1200Data },
{Panel_1600x1200, 0x0019, 0x0000, XGI_StLCD1600x1200Data },
{PanelRef60Hz, 0x0008, 0x0008, XGI_NoScalingData },
{Panel_1024x768x75, 0x0019, 0x0001, XGI_ExtLCD1024x768x75Data },
{Panel_1024x768x75, 0x0019, 0x0000, XGI_ExtLCD1024x768x75Data },
{Panel_1024x768x75, 0x0018, 0x0010, XGI_CetLCD1024x768x75Data },
{Panel_1280x1024x75, 0x0019, 0x0001, xgifb_lcd_1280x1024x75 },
{Panel_1280x1024x75, 0x0019, 0x0000, xgifb_lcd_1280x1024x75 },
{Panel_1280x1024x75, 0x0018, 0x0010, XGI_CetLCD1280x1024x75Data },
{PanelRef75Hz, 0x0008, 0x0008, XGI_NoScalingDatax75 },
{0xFF, 0x0000, 0x0000, NULL } /* End of table */
};
static struct XGI330_LCDDataTablStruct XGI_LCDDesDataTable[] = {
{Panel_1024x768, 0x0019, 0x0001, 0}, /* XGI_ExtLCDDes1024x768Data */
{Panel_1024x768, 0x0019, 0x0000, 1}, /* XGI_StLCDDes1024x768Data */
{Panel_1024x768, 0x0018, 0x0010, 2}, /* XGI_CetLCDDes1024x768Data */
{Panel_1280x1024, 0x0019, 0x0001, 3}, /* XGI_ExtLCDDes1280x1024Data */
{Panel_1280x1024, 0x0019, 0x0000, 4}, /* XGI_StLCDDes1280x1024Data */
{Panel_1280x1024, 0x0018, 0x0010, 5}, /* XGI_CetLCDDes1280x1024Data */
{Panel_1400x1050, 0x0019, 0x0001, 6}, /* XGI_ExtLCDDes1400x1050Data */
{Panel_1400x1050, 0x0019, 0x0000, 7}, /* XGI_StLCDDes1400x1050Data */
{Panel_1400x1050, 0x0418, 0x0010, 8}, /* XGI_CetLCDDes1400x1050Data */
{Panel_1400x1050, 0x0418, 0x0410, 9}, /* XGI_CetLCDDes1400x1050Data2 */
{Panel_1600x1200, 0x0019, 0x0001, 10}, /* XGI_ExtLCDDes1600x1200Data */
{Panel_1600x1200, 0x0019, 0x0000, 11}, /* XGI_StLCDDes1600x1200Data */
{PanelRef60Hz, 0x0008, 0x0008, 12}, /* XGI_NoScalingDesData */
/* XGI_ExtLCDDes1024x768x75Data */
{Panel_1024x768x75, 0x0019, 0x0001, 13},
/* XGI_StLCDDes1024x768x75Data */
{Panel_1024x768x75, 0x0019, 0x0000, 14},
/* XGI_CetLCDDes1024x768x75Data */
{Panel_1024x768x75, 0x0018, 0x0010, 15},
/* XGI_ExtLCDDes1280x1024x75Data */
{Panel_1280x1024x75, 0x0019, 0x0001, 16},
/* XGI_StLCDDes1280x1024x75Data */
{Panel_1280x1024x75, 0x0019, 0x0000, 17},
/* XGI_CetLCDDes1280x1024x75Data */
{Panel_1280x1024x75, 0x0018, 0x0010, 18},
{PanelRef75Hz, 0x0008, 0x0008, 19}, /* XGI_NoScalingDesDatax75 */
{0xFF, 0x0000, 0x0000, 0}
{Panel_1024x768, 0x0019, 0x0001, XGI_ExtLCDDes1024x768Data },
{Panel_1024x768, 0x0019, 0x0000, XGI_StLCDDes1024x768Data },
{Panel_1024x768, 0x0018, 0x0010, XGI_CetLCDDes1024x768Data },
{Panel_1280x1024, 0x0019, 0x0001, XGI_ExtLCDDes1280x1024Data },
{Panel_1280x1024, 0x0019, 0x0000, XGI_StLCDDes1280x1024Data },
{Panel_1280x1024, 0x0018, 0x0010, XGI_CetLCDDes1280x1024Data },
{Panel_1400x1050, 0x0019, 0x0001, xgifb_lcddes_1400x1050 },
{Panel_1400x1050, 0x0019, 0x0000, xgifb_lcddes_1400x1050 },
{Panel_1400x1050, 0x0418, 0x0010, XGI_CetLCDDes1400x1050Data },
{Panel_1400x1050, 0x0418, 0x0410, XGI_CetLCDDes1400x1050Data2 },
{Panel_1600x1200, 0x0019, 0x0001, XGI_ExtLCDDes1600x1200Data },
{Panel_1600x1200, 0x0019, 0x0000, XGI_StLCDDes1600x1200Data },
{PanelRef60Hz, 0x0008, 0x0008, XGI_NoScalingDesData },
{Panel_1024x768x75, 0x0019, 0x0001, xgifb_lcddes_1024x768x75 },
{Panel_1024x768x75, 0x0019, 0x0000, xgifb_lcddes_1024x768x75 },
{Panel_1024x768x75, 0x0018, 0x0010, XGI_CetLCDDes1024x768x75Data },
{Panel_1280x1024x75, 0x0019, 0x0001, xgifb_lcddes_1280x1024x75 },
{Panel_1280x1024x75, 0x0019, 0x0000, xgifb_lcddes_1280x1024x75 },
{Panel_1280x1024x75, 0x0018, 0x0010, XGI_CetLCDDes1280x1024x75Data },
{PanelRef75Hz, 0x0008, 0x0008, XGI_NoScalingDesDatax75 },
{0xFF, 0x0000, 0x0000, NULL }
};
static struct XGI330_LCDDataTablStruct xgifb_lcddldes[] = {
{Panel_1024x768, 0x0019, 0x0001, 0}, /* XGI_ExtLCDDes1024x768Data */
{Panel_1024x768, 0x0019, 0x0000, 1}, /* XGI_StLCDDes1024x768Data */
{Panel_1024x768, 0x0018, 0x0010, 2}, /* XGI_CetLCDDes1024x768Data */
{Panel_1280x1024, 0x0019, 0x0001, 3}, /* XGI_ExtLCDDLDes1280x1024Data */
{Panel_1280x1024, 0x0019, 0x0000, 4}, /* XGI_StLCDDLDes1280x1024Data */
{Panel_1280x1024, 0x0018, 0x0010, 5}, /* XGI_CetLCDDLDes1280x1024Data */
{Panel_1400x1050, 0x0019, 0x0001, 6}, /* xgifb_lcddldes_1400x1050 */
{Panel_1400x1050, 0x0019, 0x0000, 7}, /* xgifb_lcddldes_1400x1050 */
{Panel_1400x1050, 0x0418, 0x0010, 8}, /* XGI_CetLCDDes1400x1050Data */
{Panel_1400x1050, 0x0418, 0x0410, 9}, /* XGI_CetLCDDes1400x1050Data2 */
{Panel_1600x1200, 0x0019, 0x0001, 10}, /* XGI_ExtLCDDLDes1600x1200Data */
{Panel_1600x1200, 0x0019, 0x0000, 11}, /* XGI_StLCDDes1600x1200Data */
{PanelRef60Hz, 0x0008, 0x0008, 12}, /* XGI_NoScalingDesData */
{Panel_1024x768x75, 0x0019, 0x0001, 13}, /* xgifb_lcddes_1024x768x75 */
{Panel_1024x768x75, 0x0019, 0x0000, 14}, /* xgifb_lcddes_1024x768x75 */
{Panel_1024x768x75, 0x0018, 0x0010, 15}, /* XGI_CetLCDDes1024x768x75Data */
{Panel_1280x1024x75, 0x0019, 0x0001, 16}, /* xgifb_lcddldes_1280x1024x75 */
{Panel_1280x1024x75, 0x0019, 0x0000, 17}, /* xgifb_lcddldes_1280x1024x75 */
{Panel_1280x1024x75, 0x0018, 0x0010, 18}, /* XGI_CetLCDDes1280x1024x75Data */
{PanelRef75Hz, 0x0008, 0x0008, 19}, /* XGI_NoScalingDesDatax75 */
{0xFF, 0x0000, 0x0000, 0}
{Panel_1024x768, 0x0019, 0x0001, XGI_ExtLCDDes1024x768Data },
{Panel_1024x768, 0x0019, 0x0000, XGI_StLCDDes1024x768Data },
{Panel_1024x768, 0x0018, 0x0010, XGI_CetLCDDes1024x768Data },
{Panel_1280x1024, 0x0019, 0x0001, XGI_ExtLCDDLDes1280x1024Data },
{Panel_1280x1024, 0x0019, 0x0000, XGI_StLCDDLDes1280x1024Data },
{Panel_1280x1024, 0x0018, 0x0010, XGI_CetLCDDLDes1280x1024Data },
{Panel_1400x1050, 0x0019, 0x0001, xgifb_lcddldes_1400x1050 },
{Panel_1400x1050, 0x0019, 0x0000, xgifb_lcddldes_1400x1050 },
{Panel_1400x1050, 0x0418, 0x0010, XGI_CetLCDDes1400x1050Data },
{Panel_1400x1050, 0x0418, 0x0410, XGI_CetLCDDes1400x1050Data2 },
{Panel_1600x1200, 0x0019, 0x0001, XGI_ExtLCDDLDes1600x1200Data },
{Panel_1600x1200, 0x0019, 0x0000, XGI_StLCDDLDes1600x1200Data },
{PanelRef60Hz, 0x0008, 0x0008, XGI_NoScalingDesData },
{Panel_1024x768x75, 0x0019, 0x0001, xgifb_lcddes_1024x768x75 },
{Panel_1024x768x75, 0x0019, 0x0000, xgifb_lcddes_1024x768x75 },
{Panel_1024x768x75, 0x0018, 0x0010, XGI_CetLCDDes1024x768x75Data },
{Panel_1280x1024x75, 0x0019, 0x0001, xgifb_lcddldes_1280x1024x75 },
{Panel_1280x1024x75, 0x0019, 0x0000, xgifb_lcddldes_1280x1024x75 },
{Panel_1280x1024x75, 0x0018, 0x0010, XGI_CetLCDDLDes1280x1024x75Data },
{PanelRef75Hz, 0x0008, 0x0008, XGI_NoScalingDesDatax75 },
{0xFF, 0x0000, 0x0000, NULL }
};
static struct XGI330_LCDDataTablStruct xgifb_epllcd_crt1_h[] = {
{Panel_1024x768, 0x0018, 0x0000, 0}, /* XGI_LVDSCRT11024x768_1_H */
{Panel_1024x768, 0x0018, 0x0010, 1}, /* XGI_LVDSCRT11024x768_2_H */
{Panel_1280x1024, 0x0018, 0x0000, 2}, /* XGI_LVDSCRT11280x1024_1_H */
{Panel_1280x1024, 0x0018, 0x0010, 3}, /* XGI_LVDSCRT11280x1024_2_H */
{Panel_1400x1050, 0x0018, 0x0000, 4}, /* XGI_LVDSCRT11400x1050_1_H */
{Panel_1400x1050, 0x0018, 0x0010, 5}, /* XGI_LVDSCRT11400x1050_2_H */
{Panel_1600x1200, 0x0018, 0x0000, 6}, /* XGI_LVDSCRT11600x1200_1_H */
{Panel_1024x768x75, 0x0018, 0x0000, 7}, /* XGI_LVDSCRT11024x768_1_Hx75 */
{Panel_1024x768x75, 0x0018, 0x0010, 8}, /* XGI_LVDSCRT11024x768_2_Hx75 */
{Panel_1280x1024x75, 0x0018, 0x0000, 9}, /*XGI_LVDSCRT11280x1024_1_Hx75 */
{Panel_1280x1024x75, 0x0018, 0x0010, 10},/*XGI_LVDSCRT11280x1024_2_Hx75 */
{0xFF, 0x0000, 0x0000, 0}
{Panel_1024x768, 0x0018, 0x0000, XGI_LVDSCRT11024x768_1_H },
{Panel_1024x768, 0x0018, 0x0010, XGI_LVDSCRT11024x768_2_H },
{Panel_1280x1024, 0x0018, 0x0000, XGI_LVDSCRT11280x1024_1_H },
{Panel_1280x1024, 0x0018, 0x0010, XGI_LVDSCRT11280x1024_2_H },
{Panel_1400x1050, 0x0018, 0x0000, XGI_LVDSCRT11400x1050_1_H },
{Panel_1400x1050, 0x0018, 0x0010, XGI_LVDSCRT11400x1050_2_H },
{Panel_1600x1200, 0x0018, 0x0000, XGI_LVDSCRT11600x1200_1_H },
{Panel_1024x768x75, 0x0018, 0x0000, XGI_LVDSCRT11024x768_1_Hx75 },
{Panel_1024x768x75, 0x0018, 0x0010, XGI_LVDSCRT11024x768_2_Hx75 },
{Panel_1280x1024x75, 0x0018, 0x0000, XGI_LVDSCRT11280x1024_1_Hx75 },
{Panel_1280x1024x75, 0x0018, 0x0010, XGI_LVDSCRT11280x1024_2_Hx75 },
{0xFF, 0x0000, 0x0000, NULL }
};
static struct XGI330_LCDDataTablStruct xgifb_epllcd_crt1_v[] = {
{Panel_1024x768, 0x0018, 0x0000, 0}, /* XGI_LVDSCRT11024x768_1_V */
{Panel_1024x768, 0x0018, 0x0010, 1}, /* XGI_LVDSCRT11024x768_2_V */
{Panel_1280x1024, 0x0018, 0x0000, 2}, /* XGI_LVDSCRT11280x1024_1_V */
{Panel_1280x1024, 0x0018, 0x0010, 3}, /* XGI_LVDSCRT11280x1024_2_V */
{Panel_1400x1050, 0x0018, 0x0000, 4}, /* XGI_LVDSCRT11400x1050_1_V */
{Panel_1400x1050, 0x0018, 0x0010, 5}, /* XGI_LVDSCRT11400x1050_2_V */
{Panel_1600x1200, 0x0018, 0x0000, 6}, /* XGI_LVDSCRT11600x1200_1_V */
{Panel_1024x768x75, 0x0018, 0x0000, 7}, /* XGI_LVDSCRT11024x768_1_Vx75 */
{Panel_1024x768x75, 0x0018, 0x0010, 8}, /* XGI_LVDSCRT11024x768_2_Vx75 */
{Panel_1280x1024x75, 0x0018, 0x0000, 9}, /*XGI_LVDSCRT11280x1024_1_Vx75 */
{Panel_1280x1024x75, 0x0018, 0x0010, 10},/*XGI_LVDSCRT11280x1024_2_Vx75 */
{0xFF, 0x0000, 0x0000, 0}
{Panel_1024x768, 0x0018, 0x0000, XGI_LVDSCRT11024x768_1_V },
{Panel_1024x768, 0x0018, 0x0010, XGI_LVDSCRT11024x768_2_V },
{Panel_1280x1024, 0x0018, 0x0000, XGI_LVDSCRT11280x1024_1_V },
{Panel_1280x1024, 0x0018, 0x0010, XGI_LVDSCRT11280x1024_2_V },
{Panel_1400x1050, 0x0018, 0x0000, XGI_LVDSCRT11400x1050_1_V },
{Panel_1400x1050, 0x0018, 0x0010, XGI_LVDSCRT11400x1050_2_V },
{Panel_1600x1200, 0x0018, 0x0000, XGI_LVDSCRT11600x1200_1_V },
{Panel_1024x768x75, 0x0018, 0x0000, XGI_LVDSCRT11024x768_1_Vx75 },
{Panel_1024x768x75, 0x0018, 0x0010, XGI_LVDSCRT11024x768_2_Vx75 },
{Panel_1280x1024x75, 0x0018, 0x0000, XGI_LVDSCRT11280x1024_1_Vx75 },
{Panel_1280x1024x75, 0x0018, 0x0010, XGI_LVDSCRT11280x1024_2_Vx75 },
{0xFF, 0x0000, 0x0000, NULL }
};
static struct XGI330_LCDDataTablStruct XGI_EPLLCDDataPtr[] = {
{Panel_1024x768, 0x0018, 0x0000, 0}, /* XGI_LVDS1024x768Data_1 */
{Panel_1024x768, 0x0018, 0x0010, 1}, /* XGI_LVDS1024x768Data_2 */
{Panel_1280x1024, 0x0018, 0x0000, 2}, /* XGI_LVDS1280x1024Data_1 */
{Panel_1280x1024, 0x0018, 0x0010, 3}, /* XGI_LVDS1280x1024Data_2 */
{Panel_1400x1050, 0x0018, 0x0000, 4}, /* XGI_LVDS1400x1050Data_1 */
{Panel_1400x1050, 0x0018, 0x0010, 5}, /* XGI_LVDS1400x1050Data_2 */
{Panel_1600x1200, 0x0018, 0x0000, 6}, /* XGI_LVDS1600x1200Data_1 */
{PanelRef60Hz, 0x0008, 0x0008, 7}, /* XGI_LVDSNoScalingData */
{Panel_1024x768x75, 0x0018, 0x0000, 8}, /* XGI_LVDS1024x768Data_1x75 */
{Panel_1024x768x75, 0x0018, 0x0010, 9}, /* XGI_LVDS1024x768Data_2x75 */
/* XGI_LVDS1280x1024Data_1x75 */
{Panel_1280x1024x75, 0x0018, 0x0000, 10},
/* XGI_LVDS1280x1024Data_2x75 */
{Panel_1280x1024x75, 0x0018, 0x0010, 11},
{PanelRef75Hz, 0x0008, 0x0008, 12}, /* XGI_LVDSNoScalingDatax75 */
{0xFF, 0x0000, 0x0000, 0}
{Panel_1024x768, 0x0018, 0x0000, XGI_LVDS1024x768Data_1 },
{Panel_1024x768, 0x0018, 0x0010, XGI_LVDS1024x768Data_2 },
{Panel_1280x1024, 0x0018, 0x0000, XGI_LVDS1280x1024Data_1 },
{Panel_1280x1024, 0x0018, 0x0010, XGI_LVDS1280x1024Data_2 },
{Panel_1400x1050, 0x0018, 0x0000, XGI_LVDS1400x1050Data_1 },
{Panel_1400x1050, 0x0018, 0x0010, XGI_LVDS1400x1050Data_2 },
{Panel_1600x1200, 0x0018, 0x0000, XGI_LVDS1600x1200Data_1 },
{PanelRef60Hz, 0x0008, 0x0008, XGI_LVDSNoScalingData },
{Panel_1024x768x75, 0x0018, 0x0000, XGI_LVDS1024x768Data_1x75 },
{Panel_1024x768x75, 0x0018, 0x0010, XGI_LVDS1024x768Data_2x75 },
{Panel_1280x1024x75, 0x0018, 0x0000, XGI_LVDS1280x1024Data_1x75 },
{Panel_1280x1024x75, 0x0018, 0x0010, XGI_LVDS1280x1024Data_2x75 },
{PanelRef75Hz, 0x0008, 0x0008, XGI_LVDSNoScalingDatax75 },
{0xFF, 0x0000, 0x0000, NULL }
};
static struct XGI330_LCDDataTablStruct XGI_EPLLCDDesDataPtr[] = {
{Panel_1024x768, 0x0018, 0x0000, 0}, /* XGI_LVDS1024x768Des_1 */
{Panel_1024x768, 0x0618, 0x0410, 1}, /* XGI_LVDS1024x768Des_3 */
{Panel_1024x768, 0x0018, 0x0010, 2}, /* XGI_LVDS1024x768Des_2 */
{Panel_1280x1024, 0x0018, 0x0000, 3}, /* XGI_LVDS1280x1024Des_1 */
{Panel_1280x1024, 0x0018, 0x0010, 4}, /* XGI_LVDS1280x1024Des_2 */
{Panel_1400x1050, 0x0018, 0x0000, 5}, /* XGI_LVDS1400x1050Des_1 */
{Panel_1400x1050, 0x0018, 0x0010, 6}, /* XGI_LVDS1400x1050Des_2 */
{Panel_1600x1200, 0x0018, 0x0000, 7}, /* XGI_LVDS1600x1200Des_1 */
{PanelRef60Hz, 0x0008, 0x0008, 8}, /* XGI_LVDSNoScalingDesData */
{Panel_1024x768x75, 0x0018, 0x0000, 9}, /* XGI_LVDS1024x768Des_1x75 */
{Panel_1024x768x75, 0x0618, 0x0410, 10}, /* XGI_LVDS1024x768Des_3x75 */
{Panel_1024x768x75, 0x0018, 0x0010, 11}, /* XGI_LVDS1024x768Des_2x75 */
/* XGI_LVDS1280x1024Des_1x75 */
{Panel_1280x1024x75, 0x0018, 0x0000, 12},
/* XGI_LVDS1280x1024Des_2x75 */
{Panel_1280x1024x75, 0x0018, 0x0010, 13},
{PanelRef75Hz, 0x0008, 0x0008, 14}, /* XGI_LVDSNoScalingDesDatax75 */
{0xFF, 0x0000, 0x0000, 0}
{Panel_1024x768, 0x0018, 0x0000, XGI_LVDS1024x768Des_1 },
{Panel_1024x768, 0x0618, 0x0410, XGI_LVDS1024x768Des_3 },
{Panel_1024x768, 0x0018, 0x0010, XGI_LVDS1024x768Des_2 },
{Panel_1280x1024, 0x0018, 0x0000, XGI_LVDS1280x1024Des_1 },
{Panel_1280x1024, 0x0018, 0x0010, XGI_LVDS1280x1024Des_2 },
{Panel_1400x1050, 0x0018, 0x0000, XGI_LVDS1400x1050Des_1 },
{Panel_1400x1050, 0x0018, 0x0010, XGI_LVDS1400x1050Des_2 },
{Panel_1600x1200, 0x0018, 0x0000, XGI_LVDS1600x1200Des_1 },
{PanelRef60Hz, 0x0008, 0x0008, XGI_LVDSNoScalingDesData },
{Panel_1024x768x75, 0x0018, 0x0000, XGI_LVDS1024x768Des_1x75 },
{Panel_1024x768x75, 0x0618, 0x0410, XGI_LVDS1024x768Des_3x75 },
{Panel_1024x768x75, 0x0018, 0x0010, XGI_LVDS1024x768Des_2x75 },
{Panel_1280x1024x75, 0x0018, 0x0000, XGI_LVDS1280x1024Des_1x75 },
{Panel_1280x1024x75, 0x0018, 0x0010, XGI_LVDS1280x1024Des_2x75 },
{PanelRef75Hz, 0x0008, 0x0008, XGI_LVDSNoScalingDesDatax75 },
{0xFF, 0x0000, 0x0000, NULL }
};
static const struct XGI330_TVDataTablStruct XGI_TVDataTable[] = {