Several cleanings and style fixes
cover Several cleanings and style fixes
Hi!
The goal of this round of patches is to perform a cleaning of the code and to remove the style problems found on it.
The first patch removes a lot of comments and commented code, leaving only those that seem interesting to understand the code.
Then there are some patches removing useless structures and pieces of code that I found during the comment revision.
And also a patch improving some debug strings that I had pending from my previous round of patches.
Patches 10 to 17 rework some conditions in some places of the code to fix style errors related to excessive indentation. And patch 18 fixes the remaining style errors.
Finally patch 19 removes a useless condition.
After this round of pathches, there are no style errors in the code that are reported by checkpatch.
Regards!
Miguel Gómez (19):
Staging: xgifb: Comment cleaning.
Staging: xgifb: Remove unneeded XGI_LCD_TYPE enumeration.
Staging: xgifb: Remove LCDA detection in xgifb_probe().
Staging: xgifb: Remove unused struct _chswtable.
Staging: xgifb: Improve debug strings.
Staging: xgifb: Remove useless switch in XGIfb_detect_VB().
Staging: xgifb: Simplify XGIfb_GetXG21DefaultLVDSModeIdx().
Staging: xgifb: Remove unneeded var and condition in
XGIfb_search_vesamode().
Staging: xgifb: Remove useless always true condition.
Staging: xgifb: Rework conditions in XGI_SetATTRegs().
Staging: xgifb: Refactor XGI_AjustCRT2Rate().
Staging: xgifb: Refactor XGI_GetVBType().
Staging: xgifb: Rework conditions in XGI_GetVBInfo().
Staging: xgifb: Refactor XGI_GetCRT2ResInfo().
Staging: xgifb: Rework conditions in XGI_SetLockRegs().
Staging: xgifb: Rework conditions in XGI_EnableBridge().
Staging: xgifb: Rework some conditions in XGI_SetCRT2ModeRegs().
Staging: xgifb: Fix coding style.
Staging: xgifb: Remove useless condition.
drivers/staging/xgifb/XGI_main.h | 14 - drivers/staging/xgifb/XGI_main_26.c | 245 ++---------- drivers/staging/xgifb/XGIfb.h | 8 +- drivers/staging/xgifb/vb_def.h | 3 - drivers/staging/xgifb/vb_init.c | 166 +------- drivers/staging/xgifb/vb_init.h | 1 - drivers/staging/xgifb/vb_setmode.c | 742 ++++++++++++++++------------------- drivers/staging/xgifb/vb_struct.h | 3 - drivers/staging/xgifb/vb_table.h | 55 +-- drivers/staging/xgifb/vb_util.h | 1 - drivers/staging/xgifb/vgatypes.h | 37 -- 11 files changed, 437 insertions(+), 838 deletions(-)
Signature · 1 line
1.7.9.5
PATCH 1/19 Staging: xgifb: Comment cleaning.
Remove commented code and useless comments. Leave only those with relevant hints to the code.
--- drivers/staging/xgifb/XGI_main.h | 4 - drivers/staging/xgifb/XGI_main_26.c | 131 +++-------------------------- drivers/staging/xgifb/XGIfb.h | 8 +- drivers/staging/xgifb/vb_def.h | 3 - drivers/staging/xgifb/vb_init.c | 155 ++++------------------------------- drivers/staging/xgifb/vb_init.h | 1 - drivers/staging/xgifb/vb_setmode.c | 26 +++--- drivers/staging/xgifb/vb_struct.h | 3 - drivers/staging/xgifb/vb_table.h | 35 +++----- drivers/staging/xgifb/vb_util.h | 1 - drivers/staging/xgifb/vgatypes.h | 3 - 11 files changed, 55 insertions(+), 315 deletions(-)
drivers/staging/xgifb/XGI_main.h +0 -4
@@ -68,9 +68,6 @@ static int XGIfb_crt2type = -1;/* PR: Tv plug type (for overriding autodetection) */ static int XGIfb_tvplug =-1 ; -/* TW: For ioctl XGIFB_GET_INFO */ -/* XGIfb_info XGIfbinfo; */ -#define MD_XGI315 1/* mode table */
@@ -240,7 +237,6 @@ static const struct _chswtable { { 0, 0, "" , "" } }; -/* Eden Chen */ static const struct _XGI_TV_filter {u8 filter[9 ][4 ]; } XGI_TV_filter[] = {
drivers/staging/xgifb/XGI_main_26.c +12 -119
247 lines not on this page · raw message
drivers/staging/xgifb/XGIfb.h +4 -4
@@ -30,13 +30,13 @@ enum xgi_tvtype {TVMODE_NTSC =0 ,TVMODE_PAL ,TVMODE_HIVISION , -TVTYPE_PALM ,/* vicki@030226 */ -TVTYPE_PALN ,/* vicki@030226 */ -TVTYPE_NTSCJ ,/* vicki@030226 */ +TVTYPE_PALM , +TVTYPE_PALN , +TVTYPE_NTSCJ ,TVMODE_TOTAL }; -enum xgi_tv_plug {/* vicki@030226 */ +enum xgi_tv_plug {TVPLUG_UNKNOWN =0 ,TVPLUG_COMPOSITE =1 , TVPLUG_SVIDEO = 2,
drivers/staging/xgifb/vb_def.h +0 -3
@@ -1,5 +1,3 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/xgi/initdef.h -* ,v 1.4 2000/12/02 01:16:17 dawes Exp $*/ #ifndef _VB_DEF_#define _VB_DEF_#include "../../video/sis/initdef.h"
@@ -12,7 +10,6 @@#define SetCHTVOverScan 0x8000#define Panel_320x480 0x07/*fstn*/ -/* [ycchen] 02/12/03 Modify for Multi-Sync. LCD Support */ #define PanelResInfo 0x1F/* CR36 Panel Type/LCDResInfo */ #define Panel_1024x768x75 0x22#define Panel_1280x1024x75 0x23
drivers/staging/xgifb/vb_init.c +18 -137
328 lines not on this page · raw message
drivers/staging/xgifb/vb_init.h +0 -1
@@ -3,4 +3,3 @@extern unsigned char XGIInitNew (struct pci_dev *pdev);extern struct XGI21_LVDSCapStruct XGI21_LCDCapList[13 ];#endif -
drivers/staging/xgifb/vb_setmode.c +11 -15
@@ -1859,7 +1859,6 @@ static void *XGI_GetTVPtr(unsigned short BX, unsigned short ModeNo, i++; } -/* 07/05/22 */ if (table ==0x04 ) {switch (tempdi[i].DATAPTR) {case 0 :
@@ -2519,7 +2518,7 @@ static void XGI_UpdateModeInfo(struct xgi_hw_device_info *HwDeviceExtension, temp &=0x0f ;if (!(temp ==0x08 )) { -/* Check ChannelA by Part1_13 [2003/10/03] */ +/* Check ChannelA */ tempax =xgifb_reg_get (pVBInfo->Part1Port,0x13 );if (tempax &0x04 ) tempcl = tempcl | ActiveLCD;
@@ -2675,7 +2674,6 @@ static void XGI_GetVBInfo(unsigned short ModeNo, unsigned short ModeIdIndex, }if (pVBInfo->IF_DEF_YPbPr ==1 ) { -/* [Billy] 07/05/04 */ if (((pVBInfo->IF_DEF_LVDS == 0) && ((pVBInfo->VBType & VB_SIS301LV) || (pVBInfo->VBType & VB_SIS302LV) ||
@@ -2927,7 +2925,7 @@ static unsigned char XGI_GetLCDInfo(unsigned short ModeNo,if (tempbx ==0 ) tempbx = Panel_1024x768;/* default */ -/* LCD75 [2003/8/22] Vicent */ +/* LCD75 */ if ((tempbx == Panel_1024x768) || (tempbx == Panel_1280x1024)) {if (pVBInfo->VBInfo & DriverMode) { tempax =xgifb_reg_get (pVBInfo->P3d4,0x33 );
@@ -4591,7 +4589,7 @@ static void XGI_SetGroup2(unsigned short ModeNo, unsigned short ModeIdIndex, } } -/* [ycchen] 01/14/03 Modify for 301C PALM Support */ +/* Modify for 301C PALM Support */ if (pVBInfo->VBType &VB_XGI301C ) {if (pVBInfo->TVInfo & TVSetPALM) xgifb_reg_and_or(pVBInfo->Part2Port, 0x4E, ~0x08,
@@ -6245,8 +6243,7 @@ unsigned short XGI_GetRatePtrCRT2(struct xgi_hw_device_info *pXGIHWDE, (pVBInfo->RefIndex[RefreshRateTableIndex].YRes == 600)) { index++; } -/* Alan 10/19/2007; -* do the similar adjustment like XGISearchCRT1Rate() */ +/* do the similar adjustment like XGISearchCRT1Rate() */ if ((pVBInfo->RefIndex[RefreshRateTableIndex].XRes ==1024 ) && (pVBInfo->RefIndex[RefreshRateTableIndex].YRes ==768 )) { index++;
@@ -6354,7 +6351,7 @@ void XGI_SenseCRT1(struct vb_device_info *pVBInfo)int i;xgifb_reg_set (pVBInfo->P3c4,0x05 ,0x86 ); -/* [2004/05/06] Vicent to fix XG42 single LCD sense to CRT+LCD */ +/* to fix XG42 single LCD sense to CRT+LCD */ xgifb_reg_set (pVBInfo->P3d4,0x57 ,0x4A );xgifb_reg_set (pVBInfo->P3d4,0x53 , (unsigned char ) (xgifb_reg_get ( pVBInfo->P3d4,0x53 ) |0x02 ));
@@ -6419,7 +6416,7 @@ void XGI_SenseCRT1(struct vb_device_info *pVBInfo)else xgifb_reg_and_or (pVBInfo->P3d4,0x32 ,0xDF ,0x00 ); -/* alan, avoid display something, set BLACK DAC if not restore DAC */ +/* avoid display something, set BLACK DAC if not restore DAC */ outb (0x00 , pVBInfo->P3c8);for (i =0 ; i <256 ; i++) {
@@ -6432,7 +6429,6 @@ void XGI_SenseCRT1(struct vb_device_info *pVBInfo)xgifb_reg_set (pVBInfo->P3d4,0x63 ,CR63 );xgifb_reg_set (pVBInfo->P3c4,0x31 ,SR31 ); -/* [2004/05/11] Vicent */ xgifb_reg_set (pVBInfo->P3d4,0x53 , (unsigned char ) (xgifb_reg_get ( pVBInfo->P3d4,0x53 ) &0xFD ));xgifb_reg_set (pVBInfo->P3c4,0x1F , (unsigned char )SR1F );
@@ -6653,7 +6649,7 @@ unsigned char XGISetModeNew(struct xgifb_video_info *xgifb_info, pVBInfo->IF_DEF_LVDS =0 ; pVBInfo->IF_DEF_LCDA =1 ; -if (HwDeviceExtension->jChipType >=XG20 ) {/* kuku 2004/06/25 */ +if (HwDeviceExtension->jChipType >=XG20 ) { pVBInfo->IF_DEF_YPbPr =0 ; pVBInfo->IF_DEF_HiVision =0 ; pVBInfo->IF_DEF_CRT2Monitor =0 ;
@@ -6695,7 +6691,7 @@ unsigned char XGISetModeNew(struct xgifb_video_info *xgifb_info, } } -if (HwDeviceExtension->jChipType <XG20 )/* kuku 2004/06/25 */ +if (HwDeviceExtension->jChipType <XG20 )XGI_GetVBType (pVBInfo);InitTo330Pointer (HwDeviceExtension->jChipType, pVBInfo);
@@ -6703,12 +6699,12 @@ unsigned char XGISetModeNew(struct xgifb_video_info *xgifb_info, ModeNo = ModeNo &0x7F ;xgifb_reg_set (pVBInfo->P3c4,0x05 ,0x86 ); -if (HwDeviceExtension->jChipType <XG20 )/* kuku 2004/06/25 1.Openkey */ +if (HwDeviceExtension->jChipType <XG20 )XGI_UnLockCRT2 (HwDeviceExtension, pVBInfo);XGI_SearchModeID (ModeNo, &ModeIdIndex, pVBInfo); -if (HwDeviceExtension->jChipType <XG20 ) {/* kuku 2004/06/25 */ +if (HwDeviceExtension->jChipType <XG20 ) {XGI_GetVBInfo (ModeNo, ModeIdIndex, HwDeviceExtension, pVBInfo);XGI_GetTVInfo (ModeNo, ModeIdIndex, pVBInfo);XGI_GetLCDInfo (ModeNo, ModeIdIndex, pVBInfo);
@@ -6779,7 +6775,7 @@ unsigned char XGISetModeNew(struct xgifb_video_info *xgifb_info,XGI_UpdateModeInfo (HwDeviceExtension, pVBInfo); -if (HwDeviceExtension->jChipType <XG20 ) {/* kuku 2004/06/25 */ +if (HwDeviceExtension->jChipType <XG20 ) {XGI_LockCRT2 (HwDeviceExtension, pVBInfo); }
drivers/staging/xgifb/vb_struct.h +0 -3
@@ -28,7 +28,6 @@ struct XGI_Ext2Struct {unsigned char ModeID;unsigned short XRes;unsigned short YRes; -/* unsigned short ROM_OFFSET; */ };struct XGI_ECLKDataStruct {
@@ -167,7 +166,6 @@ struct vb_device_info {unsigned short LCDHRS ,LCDVRS ,LCDHDES ,LCDVDES ;unsigned short ModeType; -/* ,IF_DEF_FSTN; add for dstn */ unsigned short IF_DEF_LVDS ,IF_DEF_TRUMPION ,IF_DEF_DSTN ;unsigned short IF_DEF_CRT2Monitor;unsigned short IF_DEF_LCDA , IF_DEF_YPbPr;
@@ -225,7 +223,6 @@ struct vb_device_info {struct SiS_StandTable_S *StandTable;struct XGI_ExtStruct *EModeIDTable;struct XGI_Ext2Struct *RefIndex; -/* XGINew_CRT1TableStruct *CRT1Table; */ struct XGI_CRT1TableStruct *XGINEWUB_CRT1Table;struct SiS_VCLKData *VCLKData;struct SiS_VBVCLKData *VBVCLKData;
drivers/staging/xgifb/vb_table.h +10 -25
@@ -1,6 +1,5 @@#ifndef _VB_TABLE_#define _VB_TABLE_ -/* yilin modify for xgi20 */ static struct SiS_MCLKData XGI340New_MCLKData[] = { {0x16 ,0x01 ,0x01 ,166 }, {0x19, 0x02, 0x01, 124},
@@ -23,7 +22,6 @@ static struct SiS_MCLKData XGI27New_MCLKData[] = { {0x5c, 0x23, 0x01, 166} }; -/* yilin modify for xgi20 */ static struct XGI_ECLKDataStruct XGI340_ECLKData[] = { {0x5c ,0x23 ,0x01 ,166 }, {0x55 ,0x84 ,0x01 ,123 },
@@ -424,13 +422,9 @@ static struct SiS_LCDData XGI_StLCD1024x768Data[] = { };static struct SiS_LCDData XGI_ExtLCD1024x768Data[] = { -/* { 12, 5, 896, 512,1344, 806}, // alan 09/12/2003 */ {42 ,25 ,1536 ,419 ,1344 ,806 }, -/* { 12, 5, 896, 510,1344, 806}, // alan 09/12/2003 */ {48 ,25 ,1536 ,369 ,1344 ,806 }, -/* { 32, 15,1008, 505,1344, 806}, // alan 09/12/2003 */ {42 ,25 ,1536 ,419 ,1344 ,806 }, -/* { 32, 15,1008, 514,1344, 806}, // alan 09/12/2003 */ {48 ,25 ,1536 ,369 ,1344 ,806 }, {12 ,5 ,896 ,500 ,1344 ,806 }, {42 ,25 ,1024 ,625 ,1344 ,806 },
@@ -504,14 +498,10 @@ static struct SiS_LCDData xgifb_lcd_1400x1050[] = { };static struct SiS_LCDData XGI_ExtLCD1600x1200Data[] = { - {4 ,1 ,1620 ,420 ,2160 ,1250 },/* { 3,1,2160,425,2160,1250 }, -// 00 (320x200,320x400, -// 640x200,640x400) -// // alan 10/14/2003 */ + {4 ,1 ,1620 ,420 ,2160 ,1250 },/* 00 (320x200,320x400, +640x200,640x400)*/ {27 ,7 ,1920 ,375 ,2160 ,1250 },/* 01 (320x350,640x350) */ - {4 ,1 ,1620 ,420 ,2160 ,1250 },/* { 3,1,2160,425,2160,1250 }, -// 02 (360x400,720x400) -// // alan 10/14/2003 */ + {4 ,1 ,1620 ,420 ,2160 ,1250 },/* 02 (360x400,720x400)*/ {27 ,7 ,1920 ,375 ,2160 ,1250 },/* 03 (720x350) */ {27 ,4 ,800 ,500 ,2160 ,1250 },/* 04 (640x480x60Hz) */ {4 ,1 ,1080 ,625 ,2160 ,1250 },/* 05 (800x600x60Hz) */
@@ -615,8 +605,7 @@ static struct SiS_LCDData XGI_NoScalingDatax75[] = { {1, 1, 1056, 625, 1056, 625}, /* ; 05 (800x600x75Hz) */ {1, 1, 1312, 800, 1312, 800}, /* ; 06 (1024x768x75Hz) */ {1, 1, 1688, 1066, 1688, 1066}, /* ; 07 (1280x1024x75Hz) */ - {1, 1, 1688, 1066, 1688, 1066}, /* ; 08 (1400x1050x75Hz) -;;[ycchen] 12/19/02 */ + {1, 1, 1688, 1066, 1688, 1066}, /* ; 08 (1400x1050x75Hz)*/ {1, 1, 2160, 1250, 2160, 1250}, /* ; 09 (1600x1200x75Hz) */ {1, 1, 1688, 806, 1688, 806} /* ; 0A (1280x768x75Hz) */ };
@@ -823,8 +812,7 @@ static struct XGI330_LCDDataDesStruct2 XGI_NoScalingDesData[] = { {9, 849, 627, 600, 128, 4}, /* 05 (800x600x60Hz) */ {9, 1057, 805, 770, 0136, 6}, /* 06 (1024x768x60Hz) */ {9, 1337, 0, 1025, 112, 3}, /* 07 (1280x1024x60Hz) */ - {9, 1457, 0, 1051, 112, 3}, /* 08 (1400x1050x60Hz) }, -//;[ycchen] 12/19/02 */ + {9, 1457, 0, 1051, 112, 3}, /* 08 (1400x1050x60Hz)*/ {9, 1673, 0, 1201, 192, 3}, /* 09 (1600x1200x60Hz) */ {9, 1337, 0, 771, 112, 6} /* 0A (1280x768x60Hz) */ };
@@ -910,8 +898,7 @@ static struct XGI330_LCDDataDesStruct2 XGI_NoScalingDesDatax75[] = { {9, 825, 0, 601, 80, 3}, /* ; 05 (800x600x75Hz) */ {9, 1049, 0, 769, 96, 3}, /* ; 06 (1024x768x75Hz) */ {9, 1305, 0, 1025, 144, 3}, /* ; 07 (1280x1024x75Hz) */ - {9, 1457, 0, 1051, 112, 3}, /* ; 08 (1400x1050x60Hz) -;;[ycchen] 12/19/02 */ + {9, 1457, 0, 1051, 112, 3}, /* ; 08 (1400x1050x60Hz)*/ {9, 1673, 0, 1201, 192, 3}, /* ; 09 (1600x1200x75Hz) */ {9, 1337, 0, 771, 112, 6} /* ; 0A (1280x768x60Hz) */ };
@@ -1308,7 +1295,7 @@ static struct SiS_LVDSData XGI_LVDSNoScalingData[] = { {1056, 628, 1056, 628}, /* 05 (800x600x60Hz) */ {1344, 806, 1344, 806}, /* 06 (1024x768x60Hz) */ {1688, 1066, 1688, 1066}, /* 07 (1280x1024x60Hz) */ - {1688, 1066, 1688, 1066}, /* 08 (1400x1050x60Hz) ;;[ycchen] 12/19/02 */ + {1688, 1066, 1688, 1066}, /* 08 (1400x1050x60Hz) */ {2160, 1250, 2160, 1250}, /* 09 (1600x1200x60Hz) */ {1688, 806, 1688, 806} /* 0A (1280x768x60Hz) */ };
@@ -1469,8 +1456,7 @@ static struct XGI330_LCDDataDesStruct2 XGI_LVDSNoScalingDesData[] = { {0, 840, 627, 600, 128, 4}, /* 05 (800x600x60Hz) */ {0, 1048, 805, 770, 136, 6}, /* 06 (1024x768x60Hz) */ {0, 1328, 0, 1025, 112, 3}, /* 07 (1280x1024x60Hz) */ - {0, 1438, 0, 1051, 112, 3}, /* 08 (1400x1050x60Hz) -;;[ycchen] 12/19/02 */ + {0, 1438, 0, 1051, 112, 3}, /* 08 (1400x1050x60Hz)*/ {0, 1664, 0, 1201, 192, 3}, /* 09 (1600x1200x60Hz) */ {0, 1328, 0, 0771, 112, 6} /* 0A (1280x768x60Hz) */ };
@@ -1518,7 +1504,7 @@ static struct SiS_LVDSData XGI_LVDS1280x1024Des_1x75[] = { };/* The Display setting for DE Mode Panel */ -/* [ycchen] 02/18/03 Set DE as default */ +/* Set DE as default */ static struct SiS_LVDSData XGI_LVDS1280x1024Des_2x75[] = { {1368 ,976 ,752 ,711 },/* ; 00 (320x200,320x400,640x200,640x400) */ {1368 ,976 ,729 ,688 },/* ; 01 (320x350,640x350) */
@@ -1541,8 +1527,7 @@ static struct XGI330_LCDDataDesStruct2 XGI_LVDSNoScalingDesDatax75[] = { {0, 816, 0, 601, 80, 3}, /* ; 05 (800x600x75Hz) */ {0, 1040, 0, 769, 96, 3}, /* ; 06 (1024x768x75Hz) */ {0, 1296, 0, 1025, 144, 3}, /* ; 07 (1280x1024x75Hz) */ - {0, 1448, 0, 1051, 112, 3}, /* ; 08 (1400x1050x75Hz) -;;[ycchen] 12/19/02 */ + {0, 1448, 0, 1051, 112, 3}, /* ; 08 (1400x1050x75Hz) */ {0, 1664, 0, 1201, 192, 3}, /* ; 09 (1600x1200x75Hz) */ {0, 1328, 0, 771, 112, 6} /* ; 0A (1280x768x75Hz) */ };
drivers/staging/xgifb/vb_util.h +0 -1
@@ -6,4 +6,3 @@ extern void xgifb_reg_or(unsigned long, u8, unsigned);extern void xgifb_reg_and (unsigned long ,u8 ,unsigned );extern void xgifb_reg_and_or (unsigned long ,u8 ,unsigned ,unsigned );#endif -
drivers/staging/xgifb/vgatypes.h +0 -3
@@ -79,7 +79,4 @@ struct xgi_hw_device_info { unsigned long ulCRT2LCDType; /* defined in the data structure type */ }; -/* Additional IOCTL for communication xgifb <> X driver */ -/* If changing this, xgifb.h must also be changed (for xgifb) */ #endif -
Signature · 1 line
1.7.9.5
Re: [PATCH 01/19] Staging: xgifb: Comment cleaning.
Hi,
Quoted 4 lines · Miguel Gómez
Remove commented code and useless comments. Leave only those with relevant hints to the code.
Signed-off-by Miguel Gómez <[email protected]>
Some minor comments below:
Quoted 4 lines
-/*
- * XG20, XG21, XG40, XG42 frame buffer device
- * for Linux kernels 2.5.x, 2.6.x
- * Base on TW's sis fbdev code.
A lot of code was copy-pasted from Thomas Winischhofer's sisfb driver, I'm not sure if it's OK to remove the credit...?
drivers/staging/xgifb/XGI_main_26.c static void XGIfb_post_setmode(struct xgifb_video_info *xgifb_info) · line 737
Quoted 10 lines
drivers/staging/xgifb/XGI_main_26.c +2
-2-/* TW: We can't switch off CRT1 on LVDS/Chrontel +/* We can't switch off CRT1 on LVDS/Chrontel * in 8bpp Modes */ if ((xgifb_info->hasVB ==HASVB_LVDS ) || (xgifb_info->hasVB ==HASVB_LVDS_CHRONTEL )) { doit =0 ; } -/* TW: We can't switch off CRT1 on 301B-DH +/* We can't switch off CRT1 on 301B-DH * in 8bpp Modes if using LCD */
These could be also fixed according to multiline comment style at the same go.
Quoted 9 lines
drivers/staging/xgifb/vb_init.h +0
-1@@ -3,4 +3,3 @@extern unsigned char XGIInitNew (struct pci_dev *pdev);extern struct XGI21_LVDSCapStruct XGI21_LCDCapList[13 ];#endif -
[...]
drivers/staging/xgifb/vb_util.h extern void xgifb_reg_or(unsigned long, u8, unsigned); · line 9
Quoted 9 lines
drivers/staging/xgifb/vb_util.h +0
-1@@ -6,4 +6,3 @@ extern void xgifb_reg_or(unsigned long, u8, unsigned);extern void xgifb_reg_and (unsigned long ,u8 ,unsigned );extern void xgifb_reg_and_or (unsigned long ,u8 ,unsigned ,unsigned );#endif -
These changes are not really "comment cleaning".
A.
Re: [PATCH 01/19] Staging: xgifb: Comment cleaning.
Hi!
Quoted 9 lines
Some minor comments below:
Quoted 4 lines
-/*
- * XG20, XG21, XG40, XG42 frame buffer device
- * for Linux kernels 2.5.x, 2.6.x
- * Base on TW's sis fbdev code.A lot of code was copy-pasted from Thomas Winischhofer's sisfb driver, I'm not sure if it's OK to remove the credit...?
You're right. I'll keep the credit.
Quoted 5 lines
Quoted 5 lines
drivers/staging/xgifb/XGI_main_26.c +1
-1-/* TW: We can't switch off CRT1 on LVDS/Chrontel +/* We can't switch off CRT1 on LVDS/Chrontel * in 8bpp Modes */ if ((xgifb_info->hasVB ==HASVB_LVDS ) || (xgifb_info->hasVB ==HASVB_LVDS_CHRONTEL )) {
Quoted 8 lines
drivers/staging/xgifb/XGI_main_26.c static void XGIfb_post_setmode(struct xgifb_video_info *xgifb_info) · line 737
Quoted 5 lines
doit = 0; }drivers/staging/xgifb/XGI_main_26.c +1
-1-/* TW: We can't switch off CRT1 on 301B-DH +/* We can't switch off CRT1 on 301B-DH * in 8bpp Modes if using LCD */ These could be also fixed according to multiline comment style at the same go.
Written down for the next version ;)
Quoted 10 lines
Quoted 9 lines
drivers/staging/xgifb/vb_init.h +0
-1@@ -3,4 +3,3 @@extern unsigned char XGIInitNew (struct pci_dev *pdev);extern struct XGI21_LVDSCapStruct XGI21_LCDCapList[13 ];#endif -[...]
Quoted 11 lines
drivers/staging/xgifb/vb_util.h extern void xgifb_reg_or(unsigned long, u8, unsigned); · line 9
Quoted 9 lines
drivers/staging/xgifb/vb_util.h +0
-1@@ -6,4 +6,3 @@ extern void xgifb_reg_or(unsigned long, u8, unsigned);extern void xgifb_reg_and (unsigned long ,u8 ,unsigned );extern void xgifb_reg_and_or (unsigned long ,u8 ,unsigned ,unsigned );#endif -These changes are not really "comment cleaning".
Mmmm no they aren't... seems I committed them by mistake while I was berserker cleaning XD... I'll remove them.
Signature · 2 lines
Miguel Gómez Igalia - http://www.igalia.com
Re: [PATCH 01/19] Staging: xgifb: Comment cleaning.
In reply to Miguel GómezQuoted 2 lines · Miguel Gómez
Remove commented code and useless comments. Leave only those with relevant hints to the code.
[]
drivers/staging/xgifb/XGI_main_26.c
Quoted 1 line
drivers/staging/xgifb/XGI_main_26.c +0
-0
[]
drivers/staging/xgifb/XGI_main_26.c line 5
Quoted 6 lines
drivers/staging/xgifb/XGI_main_26.c +0
-5@@ -1,9 +1,3 @@ -/* -* XG20, XG21, XG40, XG42 frame buffer device -* for Linux kernels 2.5.x, 2.6.x -* Base on TW's sis fbdev code. -*/
Maybe the comment removal is a bit aggressive.
Perhaps two of these are relevant comments.
drivers/staging/xgifb/vgatypes.h
Quoted 1 line
drivers/staging/xgifb/vgatypes.h +0
-0
[]
drivers/staging/xgifb/vgatypes.h struct xgi_hw_device_info { · line 85
Quoted 8 lines
drivers/staging/xgifb/vgatypes.h +0
-3@@ -79,7 +79,4 @@ struct xgi_hw_device_info { unsigned long ulCRT2LCDType; /* defined in the data structure type */ }; -/* Additional IOCTL for communication xgifb <> X driver */ -/* If changing this, xgifb.h must also be changed (for xgifb) */ #endif -
Maybe this too.
Quoted 1 line
From a quick glance, the rest of the patches look like
nice cleanups.
btw: most kernel code uses logical line continuations at the end of the line not at the beginning of the next line.
ie:
if (foo && bar) not if (foo && bar)
cheers, Joe
Re: [PATCH 01/19] Staging: xgifb: Comment cleaning.
Hi!
Quoted 18 lines
drivers/staging/xgifb/XGI_main_26.c
Quoted 1 line
drivers/staging/xgifb/XGI_main_26.c +0
-0[]
drivers/staging/xgifb/XGI_main_26.c line 5
Quoted 6 lines
drivers/staging/xgifb/XGI_main_26.c +0
-5@@ -1,9 +1,3 @@ -/* -* XG20, XG21, XG40, XG42 frame buffer device -* for Linux kernels 2.5.x, 2.6.x -* Base on TW's sis fbdev code. -*/ Maybe the comment removal is a bit aggressive.
Perhaps two of these are relevant comments.drivers/staging/xgifb/vgatypes.h
Quoted 1 line
drivers/staging/xgifb/vgatypes.h +0
-0[]
Quoted 4 lines
drivers/staging/xgifb/vgatypes.h +0
-0@@ -79,7 +79,4 @@ struct xgi_hw_device_info {unsigned long ulCRT2LCDType;/* defined in the data structure type */ };
Quoted 6 lines
drivers/staging/xgifb/vgatypes.h struct xgi_hw_device_info { · line 85
Quoted 4 lines
drivers/staging/xgifb/vgatypes.h +0
-3-/* Additional IOCTL for communication xgifb <> X driver */ -/* If changing this, xgifb.h must also be changed (for xgifb) */ #endif -Maybe this too.
Yes, true, Point taken :)
Quoted 7 lines
From a quick glance, the rest of the patches look like
nice cleanups.btw: most kernel code uses logical line continuations at the end of the line not at the beginning of the next line.
Quoted 6 lines
ie:
if (foo && bar) not if (foo && bar)
Thanks for the tip! I wasn't really sure about the preferred way to do it.
Regards!
Signature · 2 lines
Miguel Gómez Igalia - http://www.igalia.com
Re: [PATCH 01/19] Staging: xgifb: Comment cleaning.
In reply to Miguel GómezThis is sent as:
Content-Transfer-Encoding: base64
Which sucks...
regards,
dan carpenter
Re: [PATCH 01/19] Staging: xgifb: Comment cleaning.
Quoted 5 lines
This is sent as:
Content-Transfer-Encoding: base64
Which sucks...
... weird... not sure why send-email decided to use base64 instead of 8bit... when I finish with the proposed changes I'll send the whole round again removing that base64.
Regards! :)
Signature · 2 lines
Miguel Gómez Igalia - http://www.igalia.com
PATCH 2/19 Staging: xgifb: Remove unneeded XGI_LCD_TYPE enumeration.
In reply to Miguel GómezLCD_TYPEs are taken from drivers/video/sis/sis.h, so this enumeration is not needed.
--- drivers/staging/xgifb/vgatypes.h | 34 ---------------------------------- 1 file changed, 34 deletions(-)
drivers/staging/xgifb/vgatypes.h +0 -34
@@ -21,40 +21,6 @@ enum XGI_VB_CHIP_TYPE { };#endif - -#define XGI_LCD_TYPE -/* Since the merge with video/sis the LCD_TYPEs are used from -drivers/video/sis/sis.h . Nevertheless we keep this (for the moment) for -future reference until the code is merged completely and we are sure -nothing of this should be added to the sis.h header */ -#ifndef XGI_LCD_TYPE -enum XGI_LCD_TYPE { -LCD_INVALID =0 , - LCD_320x480,/* FSTN, DSTN */ - LCD_640x480, - LCD_640x480_2,/* FSTN, DSTN */ - LCD_640x480_3,/* FSTN, DSTN */ - LCD_800x600, - LCD_848x480, - LCD_1024x600, - LCD_1024x768, - LCD_1152x768, - LCD_1152x864, - LCD_1280x720, - LCD_1280x768, - LCD_1280x800, - LCD_1280x960, - LCD_1280x1024, - LCD_1400x1050, - LCD_1600x1200, - LCD_1680x1050, - LCD_1920x1440, - LCD_2048x1536, -LCD_CUSTOM , -LCD_UNKNOWN -}; -#endif -struct xgi_hw_device_info {unsigned long ulExternalChip;/* NO VB or other video bridge*/ /* if ujVBChipID = VB_CHIP_UNKNOWN, */
Signature · 1 line
1.7.9.5
PATCH 3/19 Staging: xgifb: Remove LCDA detection in xgifb_probe().
In reply to Miguel GómezThe piece of code that checks for LCDA in xgifb_probe() just checks for some register values but doesn't really do anything in response to them (the actions that should be executed are commented).
As nothing is really being done, the code can be safely removed.
--- drivers/staging/xgifb/XGI_main_26.c | 30 ------------------------------ 1 file changed, 30 deletions(-)
drivers/staging/xgifb/XGI_main_26.c +0 -30
@@ -1942,36 +1942,6 @@ static int __devinit xgifb_probe(struct pci_dev *pdev, } } -if ((hw_info->ujVBChipID ==VB_CHIP_302B ) || - (hw_info->ujVBChipID ==VB_CHIP_301LV ) || - (hw_info->ujVBChipID ==VB_CHIP_302LV )) { -int tmp; - tmp =xgifb_reg_get (XGICR ,0x34 ); -if (tmp <=0x13 ) { -/* Currently on LCDA? -*(Some BIOSes leave CR38) */ - tmp =xgifb_reg_get (XGICR ,0x38 ); -if ((tmp &0x03 ) ==0x03 ) { -/* XGI_Pr.XGI_UseLCDA = 1; */ - }else { -/* Currently on LCDA? -*(Some newer BIOSes set D0 in CR35) */ - tmp =xgifb_reg_get (XGICR ,0x35 ); -if (tmp &0x01 ) { -/* XGI_Pr.XGI_UseLCDA = 1; */ - }else { - tmp =xgifb_reg_get (XGICR , -0x30 ); -if (tmp &0x20 ) { - tmp =xgifb_reg_get ( -XGIPART1 ,0x13 ); - } - } - } - } - - } - xgifb_info->mode_idx =-1 ;if (mode)
Signature · 1 line
1.7.9.5
PATCH 4/19 Staging: xgifb: Remove unused struct _chswtable.
In reply to Miguel GómezStruct _chswtable and the variable mychswtable are not used anywhere, so remove them.
--- drivers/staging/xgifb/XGI_main.h | 10 ---------- 1 file changed, 10 deletions(-)
drivers/staging/xgifb/XGI_main.h +0 -10
@@ -227,16 +227,6 @@ static const struct _XGI_vrate { {0, 0, 0, 0} }; -static const struct _chswtable { -int subsysVendor; -int subsysCard; -char *vendorName; -char *cardName; -} mychswtable[] = { - {0x1631 ,0x1002 ,"Mitachi" ,"0x1002" }, - {0 ,0 ,"" ,"" } -}; -static const struct _XGI_TV_filter {u8 filter[9 ][4 ]; } XGI_TV_filter[] = {
Signature · 1 line
1.7.9.5
PATCH 5/19 Staging: xgifb: Improve debug strings.
In reply to Miguel Gómez--- drivers/staging/xgifb/XGI_main_26.c | 34 +++++++++++++++++----------------- drivers/staging/xgifb/vb_init.c | 4 ++-- 2 files changed, 19 insertions(+), 19 deletions(-)
drivers/staging/xgifb/XGI_main_26.c +17 -17
@@ -33,14 +33,14 @@ static void dumpVGAReg(void)for (i =0 ; i <0x4f ; i++) { reg =xgifb_reg_get (XGISR , i); -pr_debug ("\no 3c4 %x" , i); -pr_debug ("\ni 3c5 => %x" , reg); +pr_debug ("o 3c4 %x\n" , i); +pr_debug ("i 3c5 => %x\n" , reg); }for (i =0 ; i <0xF0 ; i++) { reg =xgifb_reg_get (XGICR , i); -pr_debug ("\no 3d4 %x" , i); -pr_debug ("\ni 3d5 => %x" , reg); +pr_debug ("o 3d4 %x\n" , i); +pr_debug ("i 3d5 => %x\n" , reg); } }#else
@@ -585,7 +585,7 @@ static u8 XGIfb_search_refresh_rate(struct xgifb_video_info *xgifb_info,break ; }else if (XGIfb_vrate[i].refresh > rate) {if ((XGIfb_vrate[i].refresh - rate) <=3 ) { -pr_debug ("XGIfb: Adjusting rate from %d up to %d\n" , +pr_debug ("Adjusting rate from %d up to %d\n" , rate, XGIfb_vrate[i].refresh); xgifb_info->rate_idx = XGIfb_vrate[i].idx;
@@ -594,7 +594,7 @@ static u8 XGIfb_search_refresh_rate(struct xgifb_video_info *xgifb_info, }else if (((rate - XGIfb_vrate[i -1 ].refresh) <=2 ) && (XGIfb_vrate[i].idx !=1 )) { -pr_debug ("XGIfb: Adjusting rate from %d down to %d\n" , +pr_debug ("Adjusting rate from %d down to %d\n" , rate, XGIfb_vrate[i-1 ].refresh); xgifb_info->rate_idx = XGIfb_vrate[i -1 ].idx;
@@ -603,7 +603,7 @@ static u8 XGIfb_search_refresh_rate(struct xgifb_video_info *xgifb_info, }break ; }else if ((rate - XGIfb_vrate[i].refresh) <=2 ) { -pr_debug ("XGIfb: Adjusting rate from %d down to %d\n" , +pr_debug ("Adjusting rate from %d down to %d\n" , rate, XGIfb_vrate[i].refresh); xgifb_info->rate_idx = XGIfb_vrate[i].idx;break ;
@@ -977,7 +977,7 @@ static int XGIfb_do_set_var(struct fb_var_screeninfo *var, int isactive, }if (!htotal || !vtotal) { -pr_debug ("XGIfb: Invalid 'var' information\n" ); +pr_debug ("Invalid 'var' information\n" );return -EINVAL ; }pr_debug ("var->pixclock=%d, htotal=%d, vtotal=%d\n" , var->pixclock, htotal, vtotal);
@@ -1053,7 +1053,7 @@ static int XGIfb_do_set_var(struct fb_var_screeninfo *var, int isactive,XGIfb_post_setmode (xgifb_info); - pr_debug("XGIfb: Set new mode: %dx%dx%d-%d\n", + pr_debug("Set new mode: %dx%dx%d-%d\n", XGIbios_mode[xgifb_info->mode_idx].xres, XGIbios_mode[xgifb_info->mode_idx].yres, XGIbios_mode[xgifb_info->mode_idx].bpp,
@@ -1099,7 +1099,7 @@ static int XGIfb_do_set_var(struct fb_var_screeninfo *var, int isactive,break ;default : xgifb_info->video_cmap_len =16 ; -pr_err ("Unsupported depth %d" , +pr_err ("Unsupported depth %d\n" , xgifb_info->video_bpp);break ; }
@@ -1293,7 +1293,7 @@ static int XGIfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) + var->vsync_len;if (!(htotal) || !(vtotal)) { -pr_debug ("XGIfb: no valid timing data\n" ); +pr_debug ("No valid timing data\n" );return -EINVAL ; }
@@ -1651,7 +1651,7 @@ static int __init xgifb_optval(char *fullopt, int validx)unsigned long lres;if (kstrtoul (fullopt + validx,0 , &lres) <0 || lres >INT_MAX ) { -pr_err ("xgifb: invalid value for option: %s\n" , fullopt); +pr_err ("Invalid value for option: %s\n" , fullopt);return 0 ; }return lres;
@@ -1664,7 +1664,7 @@ static int __init XGIfb_setup(char *options)if (!options || !*options)return 0 ; -pr_info ("xgifb: options: %s\n" , options); +pr_info ("Options: %s\n" , options);while ((this_opt =strsep (&options,"," )) !=NULL ) {
@@ -1757,7 +1757,7 @@ static int __devinit xgifb_probe(struct pci_dev *pdev, reg1 =xgifb_reg_get (XGISR ,IND_SIS_PASSWORD );if (reg1 !=0xa1 ) {/*I/O error */ -dev_err (&pdev->dev,"I/O error!!!" ); +dev_err (&pdev->dev,"I/O error!!!\n" ); ret = -EIO ; goto error_disable; }
@@ -1807,7 +1807,7 @@ static int __devinit xgifb_probe(struct pci_dev *pdev,if (!request_mem_region (xgifb_info->video_base, xgifb_info->video_size,"XGIfb FB" )) { -dev_err (&pdev->dev,"unable request memory size %x\n" , +dev_err (&pdev->dev,"Unable request memory size %x\n" , xgifb_info->video_size);dev_err (&pdev->dev, "Fatal error: Unable to reserve frame buffer memory. "
@@ -1963,7 +1963,7 @@ static int __devinit xgifb_probe(struct pci_dev *pdev, }if (xgifb_info->mode_idx <0 ) { -dev_err (&pdev->dev,"no supported video mode found\n" ); +dev_err (&pdev->dev,"No supported video mode found\n" ); goto error_1; }
@@ -2075,7 +2075,7 @@ static int __devinit xgifb_probe(struct pci_dev *pdev, xgifb_info->mtrr =mtrr_add (xgifb_info->video_base, xgifb_info->video_size,MTRR_TYPE_WRCOMB ,1 );if (xgifb_info->mtrr >=0 ) -dev_info (&pdev->dev,"added MTRR\n" ); +dev_info (&pdev->dev,"Added MTRR\n" );#endif if (register_framebuffer (fb_info) <0 ) {
drivers/staging/xgifb/vb_init.c +2 -2
@@ -951,7 +951,7 @@ static void xgifb_read_vbios(struct pci_dev *pdev, pVBInfo->IF_DEF_LVDS =0 ; vbios =xgifb_copy_rom (pdev, &vbios_size);if (vbios ==NULL ) { -dev_err (&pdev->dev,"video BIOS not available\n" ); +dev_err (&pdev->dev,"Video BIOS not available\n" );return ; }if (vbios_size <=0x65 )
@@ -1006,7 +1006,7 @@ static void xgifb_read_vbios(struct pci_dev *pdev, pVBInfo->IF_DEF_LVDS =1 ;return ; error: -dev_err (&pdev->dev,"video BIOS corrupted\n" ); +dev_err (&pdev->dev,"Video BIOS corrupted\n" );vfree (vbios); }
Signature · 1 line
1.7.9.5
Re: [PATCH 05/19] Staging: xgifb: Improve debug strings.
Hi,
Quoted 3 lines · Miguel Gómez
drivers/staging/xgifb/XGI_main_26.c +1
-1if (!htotal || !vtotal) { -pr_debug ("XGIfb: Invalid 'var' information\n" ); +pr_debug ("Invalid 'var' information\n" );
[...]
Quoted 2 lines
drivers/staging/xgifb/XGI_main_26.c +1
-1-pr_err ("xgifb: invalid value for option: %s\n" , fullopt); +pr_err ("Invalid value for option: %s\n" , fullopt);
[...]
drivers/staging/xgifb/XGI_main_26.c static int __init XGIfb_setup(char *options) · line 1667
Quoted 2 lines
drivers/staging/xgifb/XGI_main_26.c +1
-1-pr_info ("xgifb: options: %s\n" , options); +pr_info ("Options: %s\n" , options);
Can you really remove the driver prefix?
drivers/staging/xgifb/XGI_main_26.c static int __devinit xgifb_probe(struct pci_dev *pdev, · line 1760
Quoted 3 lines
drivers/staging/xgifb/XGI_main_26.c +1
-1if (reg1 !=0xa1 ) {/*I/O error */ -dev_err (&pdev->dev,"I/O error!!!" ); +dev_err (&pdev->dev,"I/O error!!!\n" );
Those exclamation marks are just redundant noise.
Quoted 2 lines
drivers/staging/xgifb/XGI_main_26.c +1
-1- dev_err(&pdev->dev, "unable request memory size %x\n", + dev_err(&pdev->dev, "Unable request memory size %x\n",
[...]
Quoted 2 lines
drivers/staging/xgifb/XGI_main_26.c +1
-1-dev_err (&pdev->dev,"no supported video mode found\n" ); +dev_err (&pdev->dev,"No supported video mode found\n" );
[...]
Quoted 2 lines
drivers/staging/xgifb/XGI_main_26.c +1
-1-dev_info (&pdev->dev,"added MTRR\n" ); +dev_info (&pdev->dev,"Added MTRR\n" );
[...]
Quoted 2 lines
drivers/staging/xgifb/vb_init.c +1
-1-dev_err (&pdev->dev,"video BIOS not available\n" ); +dev_err (&pdev->dev,"Video BIOS not available\n" );
[...]
drivers/staging/xgifb/vb_init.c static void xgifb_read_vbios(struct pci_dev *pdev, · line 1009
Quoted 2 lines
drivers/staging/xgifb/vb_init.c +1
-1-dev_err (&pdev->dev,"video BIOS corrupted\n" ); +dev_err (&pdev->dev,"Video BIOS corrupted\n" );
What is the improvement?
A.
Re: [PATCH 05/19] Staging: xgifb: Improve debug strings.
Hi!
Quoted 5 lines · Miguel Gómez
Quoted 3 lines
if (!htotal || !vtotal) {drivers/staging/xgifb/XGI_main_26.c +1
-1-pr_debug ("XGIfb: Invalid 'var' information\n" ); +pr_debug ("Invalid 'var' information\n" );[...]
Quoted 7 lines
Quoted 2 lines
drivers/staging/xgifb/XGI_main_26.c +1
-1-pr_err ("xgifb: invalid value for option: %s\n" , fullopt); +pr_err ("Invalid value for option: %s\n" , fullopt);[...]
drivers/staging/xgifb/XGI_main_26.c static int __init XGIfb_setup(char *options) · line 1667
Quoted 2 lines
drivers/staging/xgifb/XGI_main_26.c +1
-1-pr_info ("xgifb: options: %s\n" , options); +pr_info ("Options: %s\n" , options);Can you really remove the driver prefix?
As the pr format is defined as
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
it will include the module name for free.
Quoted 5 lines
drivers/staging/xgifb/XGI_main_26.c static int __devinit xgifb_probe(struct pci_dev *pdev, · line 1760
Quoted 3 lines
if (reg1 !=
0xa1) { /*I/O error */drivers/staging/xgifb/XGI_main_26.c +1
-1-dev_err (&pdev->dev,"I/O error!!!" ); +dev_err (&pdev->dev,"I/O error!!!\n" );Those exclamation marks are just redundant noise.
Written down for the next round ;)
Quoted 9 lines
Quoted 2 lines
drivers/staging/xgifb/XGI_main_26.c +1
-1- dev_err(&pdev->dev, "unable request memory size %x\n", + dev_err(&pdev->dev, "Unable request memory size %x\n",[...]
Quoted 2 lines
drivers/staging/xgifb/XGI_main_26.c +1
-1-dev_err (&pdev->dev,"no supported video mode found\n" ); +dev_err (&pdev->dev,"No supported video mode found\n" );[...]
Quoted 2 lines
drivers/staging/xgifb/XGI_main_26.c +1
-1-dev_info (&pdev->dev,"added MTRR\n" ); +dev_info (&pdev->dev,"Added MTRR\n" );[...]
Quoted 7 lines
Quoted 2 lines
drivers/staging/xgifb/vb_init.c +1
-1-dev_err (&pdev->dev,"video BIOS not available\n" ); +dev_err (&pdev->dev,"Video BIOS not available\n" );[...]
drivers/staging/xgifb/vb_init.c static void xgifb_read_vbios(struct pci_dev *pdev, · line 1009
Quoted 2 lines
drivers/staging/xgifb/vb_init.c +1
-1-dev_err (&pdev->dev,"video BIOS corrupted\n" ); +dev_err (&pdev->dev,"Video BIOS corrupted\n" );What is the improvement?
Capitalizing the first letter, just to keep coherency. It's not the most important change in the world, but it's nice :)
Regards!
Signature · 2 lines
Miguel Gómez Igalia - http://www.igalia.com
PATCH 6/19 Staging: xgifb: Remove useless switch in XGIfb_detect_VB().
In reply to Miguel GómezThe switch performs no action so it can be removed.
--- drivers/staging/xgifb/XGI_main_26.c | 10 ---------- 1 file changed, 10 deletions(-)
drivers/staging/xgifb/XGI_main_26.c +0 -10
@@ -1546,16 +1546,6 @@ static void XGIfb_detect_VB(struct xgifb_video_info *xgifb_info) xgifb_info->TV_plug = xgifb_info->TV_type =0 ; -switch (xgifb_info->hasVB) { -case HASVB_LVDS_CHRONTEL : -case HASVB_CHRONTEL : -break ; -case HASVB_301 : -case HASVB_302 : -/* XGI_Sense30x(); */ /* Yi-Lin TV Sense? */ -break ; - } - cr32 =xgifb_reg_get (XGICR ,IND_XGI_SCRATCH_REG_CR32 );if ((cr32 &SIS_CRT1 ) && !XGIfb_crt1off)
Signature · 1 line
1.7.9.5
PATCH 7/19 Staging: xgifb: Simplify XGIfb_GetXG21DefaultLVDSModeIdx().
In reply to Miguel GómezSimplify the code and make it more readable.
--- drivers/staging/xgifb/XGI_main_26.c | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-)
drivers/staging/xgifb/XGI_main_26.c +9 -18
@@ -256,28 +256,19 @@ static void XGIRegInit(struct vb_device_info *XGI_Pr, unsigned long BaseAddr)static int XGIfb_GetXG21DefaultLVDSModeIdx (struct xgifb_video_info *xgifb_info) { +int i =0 ; -int found_mode =0 ; -int XGIfb_mode_idx =0 ; - - found_mode =0 ; -while ((XGIbios_mode[XGIfb_mode_idx].mode_no !=0 ) - && (XGIbios_mode[XGIfb_mode_idx].xres - <= xgifb_info->lvds_data.LVDSHDE)) { -if ((XGIbios_mode[XGIfb_mode_idx].xres - == xgifb_info->lvds_data.LVDSHDE) - && (XGIbios_mode[XGIfb_mode_idx].yres - == xgifb_info->lvds_data.LVDSVDE) - && (XGIbios_mode[XGIfb_mode_idx].bpp ==8 )) { - found_mode =1 ; -break ; +while ((XGIbios_mode[i].mode_no !=0 ) + && (XGIbios_mode[i].xres <= xgifb_info->lvds_data.LVDSHDE)) { +if ((XGIbios_mode[i].xres == xgifb_info->lvds_data.LVDSHDE) + && (XGIbios_mode[i].yres == xgifb_info->lvds_data.LVDSVDE) + && (XGIbios_mode[i].bpp ==8 )) { +return i; } - XGIfb_mode_idx++; + i++; } -if (!found_mode) - XGIfb_mode_idx =-1 ; -return XGIfb_mode_idx; +return -1 ; } static void XGIfb_search_mode(struct xgifb_video_info *xgifb_info,
Signature · 1 line
1.7.9.5
PATCH 8/19 Staging: xgifb: Remove unneeded var and condition in XGIfb_search_vesamode().
In reply to Miguel Gómez--- drivers/staging/xgifb/XGI_main_26.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
drivers/staging/xgifb/XGI_main_26.c +3 -5
@@ -299,7 +299,7 @@ invalid_mode:static void XGIfb_search_vesamode (struct xgifb_video_info *xgifb_info,unsigned int vesamode) { -int i =0 , j =0 ; +int i =0 ;if (vesamode ==0 ) goto invalid;
@@ -310,15 +310,13 @@ static void XGIfb_search_vesamode(struct xgifb_video_info *xgifb_info,if ((XGIbios_mode[i].vesa_mode_no_1 == vesamode) || (XGIbios_mode[i].vesa_mode_no_2 == vesamode)) { xgifb_info->mode_idx = i; - j =1 ; -break ; +return ; } i++; } invalid: -if (!j) -pr_info ("Invalid VESA mode 0x%x'\n" , vesamode); +pr_info ("Invalid VESA mode 0x%x'\n" , vesamode); }static int XGIfb_validate_mode (struct xgifb_video_info *xgifb_info,int myindex)
Signature · 1 line
1.7.9.5
PATCH 9/19 Staging: xgifb: Remove useless always true condition.
In reply to Miguel Gómez--- drivers/staging/xgifb/vb_init.c | 4 ---- 1 file changed, 4 deletions(-)
drivers/staging/xgifb/vb_init.c +0 -4
@@ -1185,13 +1185,11 @@ static void XGINew_GetXG21Sense(struct xgi_hw_device_info *HwDeviceExtension, {unsigned char Temp; -#if 1 if (pVBInfo->IF_DEF_LVDS) {/* For XG21 LVDS */ xgifb_reg_or (pVBInfo->P3d4,0x32 , LCDSense);/* LVDS on chip */ xgifb_reg_and_or (pVBInfo->P3d4,0x38 , ~0xE0 ,0xC0 ); }else { -#endif /* Enable GPIOA/B read */ xgifb_reg_and_or (pVBInfo->P3d4,0x4A , ~0x03 ,0x03 ); Temp =xgifb_reg_get (pVBInfo->P3d4,0x48 ) &0xC0 ;
@@ -1214,9 +1212,7 @@ static void XGINew_GetXG21Sense(struct xgi_hw_device_info *HwDeviceExtension,/* Disable read GPIOF */ xgifb_reg_and (pVBInfo->P3d4,0x4A , ~0x20 ); } -#if 1 } -#endif } static void XGINew_GetXG27Sense(struct xgi_hw_device_info *HwDeviceExtension,
Signature · 1 line
1.7.9.5
PATCH 10/19 Staging: xgifb: Rework conditions in XGI_SetATTRegs().
In reply to Miguel GómezRework some conditions to reduce indentation and fix style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-)
drivers/staging/xgifb/vb_setmode.c +8 -11
@@ -161,18 +161,15 @@ static void XGI_SetATTRegs(unsigned short ModeNo,for (i =0 ; i <=0x13 ; i++) { ARdata = pVBInfo->StandTable->ATTR[i]; -if (modeflag & Charx8Dot) {/* ifndef Dot9 */ -if (i ==0x13 ) { -if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) { + +if ((modeflag & Charx8Dot) && i ==0x13 ) {/* ifndef Dot9 */ +if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) { + ARdata =0 ; + }else { +if ((pVBInfo->VBInfo & + (SetCRT2ToTV | SetCRT2ToLCD)) && + (pVBInfo->VBInfo & SetInSlaveMode)) ARdata =0 ; - }else { -if (pVBInfo->VBInfo & (SetCRT2ToTV - | SetCRT2ToLCD)) { -if (pVBInfo->VBInfo & - SetInSlaveMode) - ARdata =0 ; - } - } } }
Signature · 1 line
1.7.9.5
PATCH 11/19 Staging: xgifb: Refactor XGI_AjustCRT2Rate().
In reply to Miguel GómezRefactor some conditions to reduce indentation and fix style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 73 ++++++++++++------------------------ 1 file changed, 25 insertions(+), 48 deletions(-)
drivers/staging/xgifb/vb_setmode.c +25 -48
@@ -250,48 +250,30 @@ static unsigned char XGI_AjustCRT2Rate(unsigned short ModeNo,if (pVBInfo->VBInfo & (SetCRT2ToLCD | XGI_SetCRT2ToLCDA)) { tempax |= SupportLCD; -if (pVBInfo->LCDResInfo != Panel_1280x1024) { -if (pVBInfo->LCDResInfo != Panel_1280x960) { -if (pVBInfo->LCDInfo & - LCDNonExpanding) { -if (resinfo >=9 ) { - tempax =0 ; -return 0 ; - } - } - } - } +if (pVBInfo->LCDResInfo != Panel_1280x1024 && + pVBInfo->LCDResInfo != Panel_1280x960 && + (pVBInfo->LCDInfo & LCDNonExpanding) && + resinfo >=9 ) +return 0 ; }if (pVBInfo->VBInfo & SetCRT2ToHiVision) {/* for HiTV */ if ((pVBInfo->VBType &VB_SIS301LV ) && (pVBInfo->VBExtInfo == VB_YPbPr1080i)) { tempax |= SupportYPbPr750p; -if (pVBInfo->VBInfo & SetInSlaveMode) { -if (resinfo ==4 ) -return 0 ; - -if (resinfo ==3 ) -return 0 ; - -if (resinfo >7 ) -return 0 ; - } +if ((pVBInfo->VBInfo & SetInSlaveMode) && + ((resinfo ==3 ) || + (resinfo ==4 ) || + (resinfo >7 ))) +return 0 ; }else { tempax |= SupportHiVision; -if (pVBInfo->VBInfo & SetInSlaveMode) { -if (resinfo ==4 ) +if ((pVBInfo->VBInfo & SetInSlaveMode) && + ((resinfo ==4 ) || + (resinfo ==3 && + (pVBInfo->SetFlag & TVSimuMode)) || + (resinfo >7 )))return 0 ; - -if (resinfo ==3 ) { -if (pVBInfo->SetFlag - & TVSimuMode) -return 0 ; - } - -if (resinfo >7 ) -return 0 ; - } } }else { if (pVBInfo->VBInfo & (SetCRT2ToAVIDEO |
@@ -301,23 +283,18 @@ static unsigned char XGI_AjustCRT2Rate(unsigned short ModeNo, SetCRT2ToHiVision)) { tempax |= SupportTV; -if (pVBInfo->VBType & (VB_SIS301B |VB_SIS302B - |VB_SIS301LV |VB_SIS302LV - |VB_XGI301C )) { +if (pVBInfo->VBType & (VB_SIS301B | +VB_SIS302B | +VB_SIS301LV | +VB_SIS302LV | +VB_XGI301C )) tempax |= SupportTV1024; - } -if (!(pVBInfo->VBInfo & TVSetPAL)) { -if (modeflag & NoSupportSimuTV) { -if (pVBInfo->VBInfo & - SetInSlaveMode) { -if (!(pVBInfo->VBInfo & - SetNotSimuMode)) { -return 0 ; - } - } - } - } +if (!(pVBInfo->VBInfo & TVSetPAL) && + (modeflag & NoSupportSimuTV) && + (pVBInfo->VBInfo & SetInSlaveMode) && + (!(pVBInfo->VBInfo & SetNotSimuMode))) +return 0 ; } } }else {/* for LVDS */
Signature · 1 line
1.7.9.5
PATCH 12/19 Staging: xgifb: Refactor XGI_GetVBType().
In reply to Miguel GómezRefactor XGI_GetVBType() to reduce indentation and fix style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 69 +++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 33 deletions(-)
drivers/staging/xgifb/vb_setmode.c +36 -33
@@ -2559,42 +2559,45 @@ void XGI_GetVBType(struct vb_device_info *pVBInfo) {unsigned short flag, tempbx, tempah; -if (pVBInfo->IF_DEF_LVDS ==0 ) { - tempbx =VB_SIS302B ; - flag =xgifb_reg_get (pVBInfo->Part4Port,0x00 ); -if (flag !=0x02 ) { - tempbx =VB_SIS301 ; - flag =xgifb_reg_get (pVBInfo->Part4Port,0x01 ); -if (flag >=0xB0 ) { - tempbx =VB_SIS301B ; -if (flag >=0xC0 ) { - tempbx =VB_XGI301C ; -if (flag >=0xD0 ) { - tempbx =VB_SIS301LV ; -if (flag >=0xE0 ) { - tempbx =VB_SIS302LV ; - tempah =xgifb_reg_get ( - pVBInfo->Part4Port, -0x39 ); -if (tempah !=0xFF ) - tempbx = -VB_XGI301C ; - } - } - } +if (pVBInfo->IF_DEF_LVDS !=0 ) +return ; -if (tempbx & (VB_SIS301B |VB_SIS302B )) { - flag =xgifb_reg_get ( - pVBInfo->Part4Port, -0x23 ); + tempbx =VB_SIS302B ; + flag =xgifb_reg_get (pVBInfo->Part4Port,0x00 ); +if (flag ==0x02 ) + goto finish; -if (!(flag &0x02 )) - tempbx = tempbx | VB_NoLCD; - } - } - } - pVBInfo->VBType = tempbx; + tempbx =VB_SIS301 ; + flag =xgifb_reg_get (pVBInfo->Part4Port,0x01 ); +if (flag <0xB0 ) + goto finish; + + tempbx =VB_SIS301B ; +if (flag <0xC0 ) + goto bigger_than_0xB0; + + tempbx =VB_XGI301C ; +if (flag <0xD0 ) + goto bigger_than_0xB0; + + tempbx =VB_SIS301LV ; +if (flag <0xE0 ) + goto bigger_than_0xB0; + + tempbx =VB_SIS302LV ; + tempah =xgifb_reg_get (pVBInfo->Part4Port,0x39 ); +if (tempah !=0xFF ) + tempbx =VB_XGI301C ; + +bigger_than_0xB0: +if (tempbx & (VB_SIS301B |VB_SIS302B )) { + flag =xgifb_reg_get (pVBInfo->Part4Port,0x23 ); +if (!(flag &0x02 )) + tempbx = tempbx | VB_NoLCD; } + +finish: + pVBInfo->VBType = tempbx; } static void XGI_GetVBInfo(unsigned short ModeNo, unsigned short ModeIdIndex,
Signature · 1 line
1.7.9.5
PATCH 13/19 Staging: xgifb: Rework conditions in XGI_GetVBInfo().
In reply to Miguel GómezRework some conditions to reduce indentation and fix style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 287 ++++++++++++++++++------------------ 1 file changed, 142 insertions(+), 145 deletions(-)
drivers/staging/xgifb/vb_setmode.c +142 -145
@@ -2611,186 +2611,183 @@ static void XGI_GetVBInfo(unsigned short ModeNo, unsigned short ModeIdIndex, pVBInfo->ModeType = modeflag & ModeTypeMask; tempbx =0 ; -if (pVBInfo->VBType &0xFFFF ) { -/* Check Display Device */ - temp =xgifb_reg_get (pVBInfo->P3d4,0x30 ); - tempbx = tempbx | temp; - temp =xgifb_reg_get (pVBInfo->P3d4,0x31 ); - push = temp; - push = push <<8 ; - tempax = temp <<8 ; - tempbx = tempbx | tempax; - temp = (SetCRT2ToDualEdge | SetCRT2ToYPbPr525750 | XGI_SetCRT2ToLCDA - | SetInSlaveMode | DisableCRT2Display); - temp =0xFFFF ^ temp; - tempbx &= temp; - - temp =xgifb_reg_get (pVBInfo->P3d4,0x38 ); +if (!(pVBInfo->VBType &0xFFFF )) +return ; -if (pVBInfo->IF_DEF_LCDA ==1 ) { - -if ((HwDeviceExtension->jChipType >=XG20 ) || - (HwDeviceExtension->jChipType >=XG40 )) { -if (pVBInfo->IF_DEF_LVDS ==0 ) { -if (pVBInfo->VBType & - (VB_SIS302B | -VB_SIS301LV | -VB_SIS302LV | -VB_XGI301C )) { -if (temp & EnableDualEdge) { - tempbx |= - SetCRT2ToDualEdge; - -if (temp & SetToLCDA) - tempbx |= - XGI_SetCRT2ToLCDA; - } - } +/* Check Display Device */ + temp =xgifb_reg_get (pVBInfo->P3d4,0x30 ); + tempbx = tempbx | temp; + temp =xgifb_reg_get (pVBInfo->P3d4,0x31 ); + push = temp; + push = push <<8 ; + tempax = temp <<8 ; + tempbx = tempbx | tempax; + temp = (SetCRT2ToDualEdge | SetCRT2ToYPbPr525750 | XGI_SetCRT2ToLCDA + | SetInSlaveMode | DisableCRT2Display); + temp =0xFFFF ^ temp; + tempbx &= temp; + + temp =xgifb_reg_get (pVBInfo->P3d4,0x38 ); + +if (pVBInfo->IF_DEF_LCDA ==1 ) { + +if (((HwDeviceExtension->jChipType >=XG20 ) || + (HwDeviceExtension->jChipType >=XG40 )) && + (pVBInfo->IF_DEF_LVDS ==0 )) { +if (pVBInfo->VBType & + (VB_SIS302B | +VB_SIS301LV | +VB_SIS302LV | +VB_XGI301C )) { +if (temp & EnableDualEdge) { + tempbx |= SetCRT2ToDualEdge; +if (temp & SetToLCDA) + tempbx |= XGI_SetCRT2ToLCDA; } } } + } -if (pVBInfo->IF_DEF_YPbPr ==1 ) { -if (((pVBInfo->IF_DEF_LVDS ==0 ) && - ((pVBInfo->VBType &VB_SIS301LV ) || - (pVBInfo->VBType &VB_SIS302LV ) || - (pVBInfo->VBType &VB_XGI301C )))) { -if (temp & SetYPbPr) { -if (pVBInfo->IF_DEF_HiVision ==1 ) { -/* shampoo add for new -* scratch */ - temp =xgifb_reg_get ( - pVBInfo->P3d4, -0x35 ); - temp &= YPbPrMode; - tempbx |= SetCRT2ToHiVision; - -if (temp != YPbPrMode1080i) { - tempbx &= - (~SetCRT2ToHiVision); - tempbx |= - SetCRT2ToYPbPr525750; - } +if (pVBInfo->IF_DEF_YPbPr ==1 ) { +if (((pVBInfo->IF_DEF_LVDS ==0 ) && + ((pVBInfo->VBType &VB_SIS301LV ) || + (pVBInfo->VBType &VB_SIS302LV ) || + (pVBInfo->VBType &VB_XGI301C )))) { +if (temp & SetYPbPr) { +if (pVBInfo->IF_DEF_HiVision ==1 ) { +/* shampoo add for new +* scratch */ + temp =xgifb_reg_get ( + pVBInfo->P3d4, +0x35 ); + temp &= YPbPrMode; + tempbx |= SetCRT2ToHiVision; + +if (temp != YPbPrMode1080i) { + tempbx &= + (~SetCRT2ToHiVision); + tempbx |= + SetCRT2ToYPbPr525750; } } } } + } - tempax = push;/* restore CR31 */ + tempax = push;/* restore CR31 */ -if (pVBInfo->IF_DEF_LVDS ==0 ) { -if (pVBInfo->IF_DEF_YPbPr ==1 ) { -if (pVBInfo->IF_DEF_HiVision ==1 ) - temp =0x09FC ; -else - temp =0x097C ; - }else { -if (pVBInfo->IF_DEF_HiVision ==1 ) - temp =0x01FC ; -else - temp =0x017C ; - } - }else {/* 3nd party chip */ - temp = SetCRT2ToLCD; - } - -if (!(tempbx & temp)) { - tempax |= DisableCRT2Display; - tempbx =0 ; - } - -if (pVBInfo->IF_DEF_LCDA ==1 ) {/* Select Display Device */ -if (!(pVBInfo->VBType & VB_NoLCD)) { -if (tempbx & XGI_SetCRT2ToLCDA) { -if (tempbx & SetSimuScanMode) - tempbx &= (~(SetCRT2ToLCD | - SetCRT2ToRAMDAC | - SwitchCRT2)); -else - tempbx &= (~(SetCRT2ToLCD | - SetCRT2ToRAMDAC | - SetCRT2ToTV | - SwitchCRT2)); - } - } +if (pVBInfo->IF_DEF_LVDS ==0 ) { +if (pVBInfo->IF_DEF_YPbPr ==1 ) { +if (pVBInfo->IF_DEF_HiVision ==1 ) + temp =0x09FC ; +else + temp =0x097C ; + }else { +if (pVBInfo->IF_DEF_HiVision ==1 ) + temp =0x01FC ; +else + temp =0x017C ; } + }else {/* 3nd party chip */ + temp = SetCRT2ToLCD; + } -/* shampoo add */ -/* for driver abnormal */ -if (!(tempbx & (SwitchCRT2 | SetSimuScanMode))) { -if (pVBInfo->IF_DEF_CRT2Monitor ==1 ) { -if (tempbx & SetCRT2ToRAMDAC) { - tempbx &= (0xFF00 | - SetCRT2ToRAMDAC | - SwitchCRT2 | - SetSimuScanMode); - tempbx &= (0x00FF | (~SetCRT2ToYPbPr525750)); - } - }else { - tempbx &= (~(SetCRT2ToRAMDAC | - SetCRT2ToLCD | - SetCRT2ToTV)); +if (!(tempbx & temp)) { + tempax |= DisableCRT2Display; + tempbx =0 ; + } + +if (pVBInfo->IF_DEF_LCDA ==1 ) {/* Select Display Device */ +if (!(pVBInfo->VBType & VB_NoLCD)) { +if (tempbx & XGI_SetCRT2ToLCDA) { +if (tempbx & SetSimuScanMode) + tempbx &= (~(SetCRT2ToLCD | + SetCRT2ToRAMDAC | + SwitchCRT2)); +else + tempbx &= (~(SetCRT2ToLCD | + SetCRT2ToRAMDAC | + SetCRT2ToTV | + SwitchCRT2)); } } + } -if (!(pVBInfo->VBType & VB_NoLCD)) { -if (tempbx & SetCRT2ToLCD) { +/* shampoo add */ +/* for driver abnormal */ +if (!(tempbx & (SwitchCRT2 | SetSimuScanMode))) { +if (pVBInfo->IF_DEF_CRT2Monitor ==1 ) { +if (tempbx & SetCRT2ToRAMDAC) { tempbx &= (0xFF00 | - SetCRT2ToLCD | + SetCRT2ToRAMDAC | SwitchCRT2 | SetSimuScanMode); tempbx &= (0x00FF | (~SetCRT2ToYPbPr525750)); } + }else { + tempbx &= (~(SetCRT2ToRAMDAC | + SetCRT2ToLCD | + SetCRT2ToTV)); } + } -if (tempbx & SetCRT2ToSCART) { +if (!(pVBInfo->VBType & VB_NoLCD)) { +if (tempbx & SetCRT2ToLCD) { tempbx &= (0xFF00 | - SetCRT2ToSCART | + SetCRT2ToLCD | SwitchCRT2 | SetSimuScanMode); tempbx &= (0x00FF | (~SetCRT2ToYPbPr525750)); } + } -if (pVBInfo->IF_DEF_YPbPr ==1 ) { -if (tempbx & SetCRT2ToYPbPr525750) - tempbx &= (0xFF00 | - SwitchCRT2 | - SetSimuScanMode); - } +if (tempbx & SetCRT2ToSCART) { + tempbx &= (0xFF00 | + SetCRT2ToSCART | + SwitchCRT2 | + SetSimuScanMode); + tempbx &= (0x00FF | (~SetCRT2ToYPbPr525750)); + } -if (pVBInfo->IF_DEF_HiVision ==1 ) { -if (tempbx & SetCRT2ToHiVision) - tempbx &= (0xFF00 | - SetCRT2ToHiVision | - SwitchCRT2 | - SetSimuScanMode); - } +if (pVBInfo->IF_DEF_YPbPr ==1 ) { +if (tempbx & SetCRT2ToYPbPr525750) + tempbx &= (0xFF00 | + SwitchCRT2 | + SetSimuScanMode); + } -if (tempax & DisableCRT2Display) {/* Set Display Device Info */ -if (!(tempbx & (SwitchCRT2 | SetSimuScanMode))) - tempbx = DisableCRT2Display; - } +if (pVBInfo->IF_DEF_HiVision ==1 ) { +if (tempbx & SetCRT2ToHiVision) + tempbx &= (0xFF00 | + SetCRT2ToHiVision | + SwitchCRT2 | + SetSimuScanMode); + } -if (!(tempbx & DisableCRT2Display)) { -if ((!(tempbx & DriverMode)) || - (!(modeflag & CRT2Mode))) { -if (pVBInfo->IF_DEF_LCDA ==1 ) { -if (!(tempbx & XGI_SetCRT2ToLCDA)) - tempbx |= (SetInSlaveMode | - SetSimuScanMode); - } - } +if (tempax & DisableCRT2Display) {/* Set Display Device Info */ +if (!(tempbx & (SwitchCRT2 | SetSimuScanMode))) + tempbx = DisableCRT2Display; + } -/* LCD+TV can't support in slave mode -* (Force LCDA+TV->LCDB) */ -if ((tempbx & SetInSlaveMode) && - (tempbx & XGI_SetCRT2ToLCDA)) { - tempbx ^= (SetCRT2ToLCD | - XGI_SetCRT2ToLCDA | - SetCRT2ToDualEdge); - pVBInfo->SetFlag |= ReserveTVOption; +if (!(tempbx & DisableCRT2Display)) { +if ((!(tempbx & DriverMode)) || + (!(modeflag & CRT2Mode))) { +if (pVBInfo->IF_DEF_LCDA ==1 ) { +if (!(tempbx & XGI_SetCRT2ToLCDA)) + tempbx |= (SetInSlaveMode | + SetSimuScanMode); } } + +/* LCD+TV can't support in slave mode +* (Force LCDA+TV->LCDB) */ +if ((tempbx & SetInSlaveMode) && + (tempbx & XGI_SetCRT2ToLCDA)) { + tempbx ^= (SetCRT2ToLCD | + XGI_SetCRT2ToLCDA | + SetCRT2ToDualEdge); + pVBInfo->SetFlag |= ReserveTVOption; + } } pVBInfo->VBInfo = tempbx;
Signature · 1 line
1.7.9.5
PATCH 14/19 Staging: xgifb: Refactor XGI_GetCRT2ResInfo().
In reply to Miguel GómezUse a goto to remove one level of indentation, fixing style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 61 ++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 30 deletions(-)
drivers/staging/xgifb/vb_setmode.c +31 -30
@@ -3263,46 +3263,47 @@ static void XGI_GetCRT2ResInfo(unsigned short ModeNo,if (modeflag & DoubleScanMode) yres *=2 ; -if (pVBInfo->VBInfo & SetCRT2ToLCD) { -if (pVBInfo->IF_DEF_LVDS ==0 ) { -if (pVBInfo->LCDResInfo == Panel_1600x1200) { -if (!(pVBInfo->LCDInfo & XGI_LCDVESATiming)) { -if (yres ==1024 ) - yres =1056 ; - } +if (!(pVBInfo->VBInfo & SetCRT2ToLCD)) + goto exit; + +if (pVBInfo->IF_DEF_LVDS ==0 ) { +if (pVBInfo->LCDResInfo == Panel_1600x1200) { +if (!(pVBInfo->LCDInfo & XGI_LCDVESATiming)) { +if (yres ==1024 ) + yres =1056 ; } + } -if (pVBInfo->LCDResInfo == Panel_1280x1024) { -if (yres ==400 ) - yres =405 ; -else if (yres ==350 ) - yres =360 ; +if (pVBInfo->LCDResInfo == Panel_1280x1024) { +if (yres ==400 ) + yres =405 ; +else if (yres ==350 ) + yres =360 ; -if (pVBInfo->LCDInfo & XGI_LCDVESATiming) { -if (yres ==360 ) - yres =375 ; - } +if (pVBInfo->LCDInfo & XGI_LCDVESATiming) { +if (yres ==360 ) + yres =375 ; } + } -if (pVBInfo->LCDResInfo == Panel_1024x768) { -if (!(pVBInfo->LCDInfo & XGI_LCDVESATiming)) { -if (!(pVBInfo->LCDInfo - & LCDNonExpanding)) { -if (yres ==350 ) - yres =357 ; -else if (yres ==400 ) - yres =420 ; -else if (yres ==480 ) - yres =525 ; - } +if (pVBInfo->LCDResInfo == Panel_1024x768) { +if (!(pVBInfo->LCDInfo & XGI_LCDVESATiming)) { +if (!(pVBInfo->LCDInfo & LCDNonExpanding)) { +if (yres ==350 ) + yres =357 ; +else if (yres ==400 ) + yres =420 ; +else if (yres ==480 ) + yres =525 ; } } } - -if (xres ==720 ) - xres =640 ; } +if (xres ==720 ) + xres =640 ; + +exit: pVBInfo->VGAHDE = xres; pVBInfo->HDE = xres; pVBInfo->VGAVDE = yres;
Signature · 1 line
1.7.9.5
PATCH 15/19 Staging: xgifb: Rework conditions in XGI_SetLockRegs().
In reply to Miguel GómezRework some conditions to reduce indentation and fix style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-)
drivers/staging/xgifb/vb_setmode.c +12 -17
@@ -4039,23 +4039,18 @@ static void XGI_SetLockRegs(unsigned short ModeNo, unsigned short ModeIdIndex, }if (pVBInfo->VBInfo & SetCRT2ToHiVision) { -if (pVBInfo->VBType &VB_SIS301LV ) { -if (pVBInfo->TVInfo & TVSetHiVision) { - tempbx -=10 ; - }else { -if (pVBInfo->TVInfo & TVSimuMode) { -if (pVBInfo->TVInfo & TVSetPAL) { -if (pVBInfo->VBType & -VB_SIS301LV ) { -if (!(pVBInfo->TVInfo & - (TVSetYPbPr525p | - TVSetYPbPr750p | - TVSetHiVision))) - tempbx +=40 ; - }else { - tempbx +=40 ; - } - } +if ((pVBInfo->VBType &VB_SIS301LV ) && + !(pVBInfo->TVInfo & TVSetHiVision)) { +if ((pVBInfo->TVInfo & TVSimuMode) && + (pVBInfo->TVInfo & TVSetPAL)) { +if (pVBInfo->VBType &VB_SIS301LV ) { +if (!(pVBInfo->TVInfo & + (TVSetYPbPr525p | + TVSetYPbPr750p | + TVSetHiVision))) + tempbx +=40 ; + }else { + tempbx +=40 ; } } }else {
Signature · 1 line
1.7.9.5
Re: [PATCH 15/19] Staging: xgifb: Rework conditions in XGI_SetLockRegs().
Hi,
drivers/staging/xgifb/vb_setmode.c static void XGI_SetLockRegs(unsigned short ModeNo, unsigned short ModeIdIndex, · line 4053
Quoted 12 lines · Miguel Gómez
drivers/staging/xgifb/vb_setmode.c +12
-0+if ((pVBInfo->VBType &VB_SIS301LV ) && + !(pVBInfo->TVInfo & TVSetHiVision)) { +if ((pVBInfo->TVInfo & TVSimuMode) && + (pVBInfo->TVInfo & TVSetPAL)) { +if (pVBInfo->VBType &VB_SIS301LV ) { +if (!(pVBInfo->TVInfo & + (TVSetYPbPr525p | + TVSetYPbPr750p | + TVSetHiVision))) + tempbx +=40 ; + }else { + tempbx +=40 ;
I think this could be simplified even more - both branches end up doing the same?!
A.
Re: [PATCH 15/19] Staging: xgifb: Rework conditions in XGI_SetLockRegs().
Hi!
Quoted 8 lines · Miguel Gómez
Quoted 7 lines
drivers/staging/xgifb/vb_setmode.c +7
-0+if ((pVBInfo->VBType &VB_SIS301LV ) && + !(pVBInfo->TVInfo & TVSetHiVision)) { +if ((pVBInfo->TVInfo & TVSimuMode) && + (pVBInfo->TVInfo & TVSetPAL)) { +if (pVBInfo->VBType &VB_SIS301LV ) { + if (!(pVBInfo->TVInfo & + (TVSetYPbPr525p |
Quoted 8 lines
drivers/staging/xgifb/vb_setmode.c static void XGI_SetLockRegs(unsigned short ModeNo, unsigned short ModeIdIndex, · line 4053
Quoted 5 lines
drivers/staging/xgifb/vb_setmode.c +5
-0+ TVSetYPbPr750p | + TVSetHiVision))) + tempbx +=40 ; + }else { + tempbx +=40 ;I think this could be simplified even more - both branches end up doing the same?!
I'll give it a look again :)
Regards!
Signature · 2 lines
Miguel Gómez Igalia - http://www.igalia.com
Re: [PATCH 15/19] Staging: xgifb: Rework conditions in XGI_SetLockRegs().
In reply to Miguel GómezQuoted 12 lines · Miguel Gómez
Rework some conditions to reduce indentation and fix style warnings.
Signed-off-by Miguel Gómez <[email protected]>--- drivers/staging/xgifb/vb_setmode.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-)drivers/staging/xgifb/vb_setmode.c +0
-0
drivers/staging/xgifb/vb_setmode.c static void XGI_SetLockRegs(unsigned short ModeNo, unsigned short ModeIdIndex, · line 4044
Quoted 6 lines
drivers/staging/xgifb/vb_setmode.c +0
-3@@ -4039,23 +4039,18 @@ static void XGI_SetLockRegs(unsigned short ModeNo, unsigned short ModeIdIndex, }if (pVBInfo->VBInfo & SetCRT2ToHiVision) { -if (pVBInfo->VBType &VB_SIS301LV ) { -if (pVBInfo->TVInfo & TVSetHiVision) { - tempbx -=10 ;
We drop this -= 10 in the final. It seems accidental.
regards,
dan carpenter
Re: [PATCH 15/19] Staging: xgifb: Rework conditions in XGI_SetLockRegs().
Quoted 15 lines · Miguel Gómez
Quoted 14 lines
Rework some conditions to reduce indentation and fix style warnings.
Signed-off-by Miguel Gómez <[email protected]>--- drivers/staging/xgifb/vb_setmode.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-)drivers/staging/xgifb/vb_setmode.c +0
-0@@ -4039,23 +4039,18 @@ static void XGI_SetLockRegs(unsigned short ModeNo, unsigned short ModeIdIndex, }
Quoted 6 lines
drivers/staging/xgifb/vb_setmode.c static void XGI_SetLockRegs(unsigned short ModeNo, unsigned short ModeIdIndex, · line 4044
Quoted 4 lines
drivers/staging/xgifb/vb_setmode.c +0
-3if (pVBInfo->VBInfo & SetCRT2ToHiVision) { -if (pVBInfo->VBType &VB_SIS301LV ) { -if (pVBInfo->TVInfo & TVSetHiVision) { - tempbx -=10 ;We drop this -= 10 in the final. It seems accidental.
Nope, it's done on purpose. I've joined 2 conditions that were like this
if (pVBInfo->VBType & VB_SIS301LV) {
if (pVBInfo->TVInfo & TVSetHiVision) {
tempbx -= 10;
} else {
/* internal stuff */
}
} else {
tempbx -= 10;
}into a single one like this
if ((pVBInfo->VBType & VB_SIS301LV) &&
!(pVBInfo->TVInfo & TVSetHiVision)) {
/* internal stuff */
} else {
tempbx -= 10;
}That's why one of the else branches has been removed.
Signature · 2 lines
Miguel Gómez Igalia - http://www.igalia.com
Re: [PATCH 15/19] Staging: xgifb: Rework conditions in XGI_SetLockRegs().
Quoted 15 lines · Miguel Gómez
Quoted 15 lines · Miguel Gómez
Quoted 14 lines
Rework some conditions to reduce indentation and fix style warnings.
Signed-off-by Miguel Gómez <[email protected]>--- drivers/staging/xgifb/vb_setmode.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-)drivers/staging/xgifb/vb_setmode.c +0
-0@@ -4039,23 +4039,18 @@ static void XGI_SetLockRegs(unsigned short ModeNo, unsigned short ModeIdIndex, }
Quoted 8 lines
Quoted 6 lines
drivers/staging/xgifb/vb_setmode.c static void XGI_SetLockRegs(unsigned short ModeNo, unsigned short ModeIdIndex, · line 4044
Quoted 4 lines
drivers/staging/xgifb/vb_setmode.c +0
-3if (pVBInfo->VBInfo & SetCRT2ToHiVision) { -if (pVBInfo->VBType &VB_SIS301LV ) { -if (pVBInfo->TVInfo & TVSetHiVision) { - tempbx -=10 ;We drop this -= 10 in the final. It seems accidental.
Nope, it's done on purpose.
Ah. You are right. Sorry for the noise.
regards,
dan carpenter
PATCH 16/19 Staging: xgifb: Rework conditions in XGI_EnableBridge().
In reply to Miguel GómezRework some conditions to reduce indentation and fix style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 44 +++++++++++++++--------------------- 1 file changed, 18 insertions(+), 26 deletions(-)
drivers/staging/xgifb/vb_setmode.c +18 -26
@@ -6475,32 +6475,24 @@ static void XGI_EnableBridge(struct xgifb_video_info *xgifb_info,if (!(pVBInfo->VBInfo & DisableCRT2Display)) { tempah =0xc0 ; -if (!(pVBInfo->VBInfo & SetSimuScanMode)) { -if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) { -if (pVBInfo->VBInfo & - SetCRT2ToDualEdge) { - tempah = tempah &0x40 ; -if (pVBInfo->VBInfo & - XGI_SetCRT2ToLCDA) - tempah = tempah ^0xC0 ; - -if (pVBInfo->SetFlag & - DisableChB) - tempah &=0xBF ; - -if (pVBInfo->SetFlag & - DisableChA) - tempah &=0x7F ; - -if (pVBInfo->SetFlag & - EnableChB) - tempah |=0x40 ; - -if (pVBInfo->SetFlag & - EnableChA) - tempah |=0x80 ; - } - } +if (!(pVBInfo->VBInfo & SetSimuScanMode) && + (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) && + (pVBInfo->VBInfo & SetCRT2ToDualEdge)) { + tempah = tempah &0x40 ; +if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) + tempah = tempah ^0xC0 ; + +if (pVBInfo->SetFlag & DisableChB) + tempah &=0xBF ; + +if (pVBInfo->SetFlag & DisableChA) + tempah &=0x7F ; + +if (pVBInfo->SetFlag & EnableChB) + tempah |=0x40 ; + +if (pVBInfo->SetFlag & EnableChA) + tempah |=0x80 ; } }
Signature · 1 line
1.7.9.5
PATCH 17/19 Staging: xgifb: Rework some conditions in XGI_SetCRT2ModeRegs().
In reply to Miguel GómezRework some conditions to reduce indentation and fix style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 81 ++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 45 deletions(-)
drivers/staging/xgifb/vb_setmode.c +36 -45
@@ -5993,59 +5993,50 @@ static void XGI_SetCRT2ModeRegs(unsigned short ModeNo, tempah =0x08 ; tempbl =0xf0 ; -if (pVBInfo->VBInfo & DisableCRT2Display) { -xgifb_reg_and_or (pVBInfo->Part1Port,0x2e , tempbl, tempah); - }else { +do { +if (pVBInfo->VBInfo & DisableCRT2Display) +break ; + tempah =0x00 ; tempbl =0xff ; -if (pVBInfo->VBInfo & (SetCRT2ToRAMDAC | SetCRT2ToTV - | SetCRT2ToLCD | XGI_SetCRT2ToLCDA)) { -if ((pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) && - (!(pVBInfo->VBInfo & SetSimuScanMode))) { - tempbl &=0xf7 ; - tempah |=0x01 ; -xgifb_reg_and_or (pVBInfo->Part1Port,0x2e , - tempbl, tempah); - }else { -if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) { - tempbl &=0xf7 ; - tempah |=0x01 ; - } +if (!(pVBInfo->VBInfo & (SetCRT2ToRAMDAC | SetCRT2ToTV | + SetCRT2ToLCD | XGI_SetCRT2ToLCDA))) +break ; -if (pVBInfo->VBInfo & - (SetCRT2ToRAMDAC | - SetCRT2ToTV | - SetCRT2ToLCD)) { - tempbl &=0xf8 ; - tempah =0x01 ; +if ((pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) && + (!(pVBInfo->VBInfo & SetSimuScanMode))) { + tempbl &=0xf7 ; + tempah |=0x01 ; +break ; + } -if (!(pVBInfo->VBInfo & SetInSlaveMode)) - tempah |=0x02 ; +if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) { + tempbl &=0xf7 ; + tempah |=0x01 ; + } -if (!(pVBInfo->VBInfo & - SetCRT2ToRAMDAC)) { - tempah = tempah ^0x05 ; -if (!(pVBInfo->VBInfo & - SetCRT2ToLCD)) - tempah = tempah ^0x01 ; - } +if (!(pVBInfo->VBInfo & + (SetCRT2ToRAMDAC | SetCRT2ToTV | SetCRT2ToLCD))) +break ; -if (!(pVBInfo->VBInfo & - SetCRT2ToDualEdge)) - tempah |=0x08 ; -xgifb_reg_and_or (pVBInfo->Part1Port, -0x2e , tempbl, tempah); - }else { -xgifb_reg_and_or (pVBInfo->Part1Port, -0x2e , tempbl, tempah); - } - } - }else { -xgifb_reg_and_or (pVBInfo->Part1Port,0x2e , tempbl, - tempah); + tempbl &=0xf8 ; + tempah =0x01 ; + +if (!(pVBInfo->VBInfo & SetInSlaveMode)) + tempah |=0x02 ; + +if (!(pVBInfo->VBInfo & SetCRT2ToRAMDAC)) { + tempah = tempah ^0x05 ; +if (!(pVBInfo->VBInfo & SetCRT2ToLCD)) + tempah = tempah ^0x01 ; } - } + +if (!(pVBInfo->VBInfo & SetCRT2ToDualEdge)) + tempah |=0x08 ; + + }while (0 ); +xgifb_reg_and_or (pVBInfo->Part1Port,0x2e , tempbl, tempah);if (pVBInfo->VBInfo & (SetCRT2ToRAMDAC | SetCRT2ToTV | SetCRT2ToLCD | XGI_SetCRT2ToLCDA)) {
Signature · 1 line
1.7.9.5
PATCH 18/19 Staging: xgifb: Fix coding style.
In reply to Miguel GómezFix small coding style warnings in several files.
--- drivers/staging/xgifb/XGI_main_26.c | 3 +- drivers/staging/xgifb/vb_init.c | 3 +- drivers/staging/xgifb/vb_setmode.c | 55 ++++++++++++++++++++--------------- drivers/staging/xgifb/vb_table.h | 20 ++++++------- 4 files changed, 44 insertions(+), 37 deletions(-)
drivers/staging/xgifb/XGI_main_26.c +2 -1
@@ -584,7 +584,8 @@ static u8 XGIfb_search_refresh_rate(struct xgifb_video_info *xgifb_info, <= 2) && (XGIfb_vrate[i].idx != 1)) {pr_debug ("Adjusting rate from %d down to %d\n" , - rate, XGIfb_vrate[i-1 ].refresh); + rate, + XGIfb_vrate[i-1 ].refresh); xgifb_info->rate_idx = XGIfb_vrate[i -1 ].idx; xgifb_info->refresh_rate =
drivers/staging/xgifb/vb_init.c +1 -2
@@ -1042,9 +1042,8 @@ static void XGINew_ChkSenseStatus(struct xgi_hw_device_info *HwDeviceExtension,if (tempbx & tempcx) { CR3CData =xgifb_reg_get (pVBInfo->P3d4,0x3c ); -if (!(CR3CData & DisplayDeviceFromCMOS)) { +if (!(CR3CData & DisplayDeviceFromCMOS)) tempcx =0x1FF0 ; - } }else { tempcx =0x1FF0 ; }
drivers/staging/xgifb/vb_setmode.c +31 -24
140 lines not on this page · raw message
drivers/staging/xgifb/vb_table.h +10 -10
@@ -1838,9 +1838,9 @@ static struct XGI330_LCDDataTablStruct XGI_LCDDataTable[] = { {Panel_1024x768x75, 0x0019, 0x0001, 12}, /* XGI_ExtLCD1024x768x75Data */ {Panel_1024x768x75, 0x0019, 0x0000, 13}, /* XGI_StLCD1024x768x75Data */ {Panel_1024x768x75, 0x0018, 0x0010, 14}, /* XGI_CetLCD1024x768x75Data */ - {Panel_1280x1024x75, 0x0019, 0x0001, 15}, /* XGI_ExtLCD1280x1024x75Data*/ - {Panel_1280x1024x75, 0x0019, 0x0000, 16}, /* XGI_StLCD1280x1024x75Data */ - {Panel_1280x1024x75, 0x0018, 0x0010, 17}, /* XGI_CetLCD1280x1024x75Data*/ + {Panel_1280x1024x75, 0x0019, 0x0001, 15}, /*XGI_ExtLCD1280x1024x75Data*/ + {Panel_1280x1024x75, 0x0019, 0x0000, 16}, /*XGI_StLCD1280x1024x75Data */ + {Panel_1280x1024x75, 0x0018, 0x0010, 17}, /*XGI_CetLCD1280x1024x75Data*/ {PanelRef75Hz, 0x0008, 0x0008, 18}, /* XGI_NoScalingDatax75 */ {0xFF, 0x0000, 0x0000, 0} /* End of table */ };
@@ -1859,9 +1859,9 @@ static struct XGI330_LCDDataTablStruct XGI_LCDDesDataTable[] = { {Panel_1600x1200, 0x0019, 0x0001, 10}, /* XGI_ExtLCDDes1600x1200Data */ {Panel_1600x1200, 0x0019, 0x0000, 11}, /* XGI_StLCDDes1600x1200Data */ {PanelRef60Hz, 0x0008, 0x0008, 12}, /* XGI_NoScalingDesData */ - {Panel_1024x768x75, 0x0019, 0x0001, 13}, /*XGI_ExtLCDDes1024x768x75Data*/ - {Panel_1024x768x75, 0x0019, 0x0000, 14}, /* XGI_StLCDDes1024x768x75Data*/ - {Panel_1024x768x75, 0x0018, 0x0010, 15}, /*XGI_CetLCDDes1024x768x75Data*/ + {Panel_1024x768x75, 0x0019, 0x0001, 13},/*XGI_ExtLCDDes1024x768x75Data*/ + {Panel_1024x768x75, 0x0019, 0x0000, 14},/*XGI_StLCDDes1024x768x75Data*/ + {Panel_1024x768x75, 0x0018, 0x0010, 15},/*XGI_CetLCDDes1024x768x75Data*//* XGI_ExtLCDDes1280x1024x75Data */ {Panel_1280x1024x75, 0x0019, 0x0001, 16}, /* XGI_StLCDDes1280x1024x75Data */
@@ -1898,8 +1898,8 @@ static struct XGI330_LCDDataTablStruct XGI_EPLLCDDataPtr[] = { {PanelRef60Hz, 0x0008, 0x0008, 7}, /* XGI_LVDSNoScalingData */ {Panel_1024x768x75, 0x0018, 0x0000, 8}, /* XGI_LVDS1024x768Data_1x75 */ {Panel_1024x768x75, 0x0018, 0x0010, 9}, /* XGI_LVDS1024x768Data_2x75 */ - {Panel_1280x1024x75, 0x0018, 0x0000, 10}, /* XGI_LVDS1280x1024Data_1x75*/ - {Panel_1280x1024x75, 0x0018, 0x0010, 11}, /*XGI_LVDS1280x1024Data_2x75*/ + {Panel_1280x1024x75, 0x0018, 0x0000, 10}, /*XGI_LVDS1280x1024Data_1x75*/ + {Panel_1280x1024x75, 0x0018, 0x0010, 11}, /*XGI_LVDS1280x1024Data_2x75*/ {PanelRef75Hz, 0x0008, 0x0008, 12}, /* XGI_LVDSNoScalingDatax75 */ {0xFF, 0x0000, 0x0000, 0} };
@@ -1917,8 +1917,8 @@ static struct XGI330_LCDDataTablStruct XGI_EPLLCDDesDataPtr[] = { {Panel_1024x768x75, 0x0018, 0x0000, 9}, /* XGI_LVDS1024x768Des_1x75 */ {Panel_1024x768x75, 0x0618, 0x0410, 10}, /* XGI_LVDS1024x768Des_3x75 */ {Panel_1024x768x75, 0x0018, 0x0010, 11}, /* XGI_LVDS1024x768Des_2x75 */ - {Panel_1280x1024x75, 0x0018, 0x0000, 12}, /* XGI_LVDS1280x1024Des_1x75 */ - {Panel_1280x1024x75, 0x0018, 0x0010, 13}, /* XGI_LVDS1280x1024Des_2x75 */ + {Panel_1280x1024x75, 0x0018, 0x0000, 12}, /* XGI_LVDS1280x1024Des_1x75*/ + {Panel_1280x1024x75, 0x0018, 0x0010, 13}, /* XGI_LVDS1280x1024Des_2x75*/ {PanelRef75Hz, 0x0008, 0x0008, 14}, /* XGI_LVDSNoScalingDesDatax75 */ {0xFF, 0x0000, 0x0000, 0} };
Signature · 1 line
1.7.9.5
PATCH 19/19 Staging: xgifb: Remove useless condition.
In reply to Miguel GómezRemove last if branch in XGIfb_do_set_var(), as it has no action assigned.
--- drivers/staging/xgifb/XGI_main_26.c | 2 -- 1 file changed, 2 deletions(-)
drivers/staging/xgifb/XGI_main_26.c +0 -2
@@ -963,8 +963,6 @@ static int XGIfb_do_set_var(struct fb_var_screeninfo *var, int isactive, vtotal <<=1 ; else if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_DOUBLE) vtotal <<= 2; - else if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) { - }if (!htotal || !vtotal) {pr_debug ("Invalid 'var' information\n" );
Signature · 1 line
1.7.9.5
v2 cover Several cleanings and style fixes
In reply to Miguel GómezHi!
Second version of the patches round containing suggestions made to the first version:
* patch 0001:
** keep some useful comments.
** format a couple of multiline comments
** don't remove empty lines in vb_util.h and vb_init.h
* patch 0005:
** remove exclamation marks from a string
* patch 0015
** simplify a bit more by joining another couple of conditions
* patch 0017
** replace do-while with gotos
* patch 0018
** move some comments to previous line instead of modifying them
Also, I'm sending all of the patches again because they were encoded in base64 instead of 8bit.
Regards!
Miguel Gómez (19):
Staging: xgifb: Comment cleaning.
Staging: xgifb: Remove unneeded XGI_LCD_TYPE enumeration.
Staging: xgifb: Remove LCDA detection in xgifb_probe().
Staging: xgifb: Remove unused struct _chswtable.
Staging: xgifb: Improve debug strings.
Staging: xgifb: Remove useless switch in XGIfb_detect_VB().
Staging: xgifb: Simplify XGIfb_GetXG21DefaultLVDSModeIdx().
Staging: xgifb: Remove unneeded var and condition in
XGIfb_search_vesamode().
Staging: xgifb: Remove useless always true condition.
Staging: xgifb: Rework conditions in XGI_SetATTRegs().
Staging: xgifb: Refactor XGI_AjustCRT2Rate().
Staging: xgifb: Refactor XGI_GetVBType().
Staging: xgifb: Rework conditions in XGI_GetVBInfo().
Staging: xgifb: Refactor XGI_GetCRT2ResInfo().
Staging: xgifb: Rework conditions in XGI_SetLockRegs().
Staging: xgifb: Rework conditions in XGI_EnableBridge().
Staging: xgifb: Rework some conditions in XGI_SetCRT2ModeRegs().
Staging: xgifb: Fix coding style.
Staging: xgifb: Remove useless condition.
drivers/staging/xgifb/XGI_main.h | 14 - drivers/staging/xgifb/XGI_main_26.c | 247 +++--------- drivers/staging/xgifb/XGIfb.h | 8 +- drivers/staging/xgifb/vb_def.h | 3 - drivers/staging/xgifb/vb_init.c | 166 +------- drivers/staging/xgifb/vb_setmode.c | 747 ++++++++++++++++------------------- drivers/staging/xgifb/vb_struct.h | 3 - drivers/staging/xgifb/vb_table.h | 65 ++- drivers/staging/xgifb/vgatypes.h | 34 -- 9 files changed, 455 insertions(+), 832 deletions(-)
Signature · 1 line
1.7.9.5
PATCH v2 1/19 Staging: xgifb: Comment cleaning.
Remove commented code and useless comments. Leave only those with relevant hints to the code.
--- drivers/staging/xgifb/XGI_main.h | 4 - drivers/staging/xgifb/XGI_main_26.c | 133 ++++-------------------------- drivers/staging/xgifb/XGIfb.h | 8 +- drivers/staging/xgifb/vb_def.h | 3 - drivers/staging/xgifb/vb_init.c | 155 ++++------------------------------- drivers/staging/xgifb/vb_setmode.c | 26 +++--- drivers/staging/xgifb/vb_struct.h | 3 - drivers/staging/xgifb/vb_table.h | 35 +++----- 8 files changed, 61 insertions(+), 306 deletions(-)
drivers/staging/xgifb/XGI_main.h +0 -4
@@ -68,9 +68,6 @@ static int XGIfb_crt2type = -1;/* PR: Tv plug type (for overriding autodetection) */ static int XGIfb_tvplug =-1 ; -/* TW: For ioctl XGIFB_GET_INFO */ -/* XGIfb_info XGIfbinfo; */ -#define MD_XGI315 1/* mode table */
@@ -240,7 +237,6 @@ static const struct _chswtable { { 0, 0, "" , "" } }; -/* Eden Chen */ static const struct _XGI_TV_filter {u8 filter[9 ][4 ]; } XGI_TV_filter[] = {
drivers/staging/xgifb/XGI_main_26.c +18 -115
244 lines not on this page · raw message
drivers/staging/xgifb/XGIfb.h +4 -4
@@ -30,13 +30,13 @@ enum xgi_tvtype {TVMODE_NTSC =0 ,TVMODE_PAL ,TVMODE_HIVISION , -TVTYPE_PALM ,/* vicki@030226 */ -TVTYPE_PALN ,/* vicki@030226 */ -TVTYPE_NTSCJ ,/* vicki@030226 */ +TVTYPE_PALM , +TVTYPE_PALN , +TVTYPE_NTSCJ ,TVMODE_TOTAL }; -enum xgi_tv_plug {/* vicki@030226 */ +enum xgi_tv_plug {TVPLUG_UNKNOWN =0 ,TVPLUG_COMPOSITE =1 , TVPLUG_SVIDEO = 2,
drivers/staging/xgifb/vb_def.h +0 -3
@@ -1,5 +1,3 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/xgi/initdef.h -* ,v 1.4 2000/12/02 01:16:17 dawes Exp $*/ #ifndef _VB_DEF_#define _VB_DEF_#include "../../video/sis/initdef.h"
@@ -12,7 +10,6 @@#define SetCHTVOverScan 0x8000#define Panel_320x480 0x07/*fstn*/ -/* [ycchen] 02/12/03 Modify for Multi-Sync. LCD Support */ #define PanelResInfo 0x1F/* CR36 Panel Type/LCDResInfo */ #define Panel_1024x768x75 0x22#define Panel_1280x1024x75 0x23
drivers/staging/xgifb/vb_init.c +18 -137
328 lines not on this page · raw message
drivers/staging/xgifb/vb_setmode.c +11 -15
@@ -1859,7 +1859,6 @@ static void *XGI_GetTVPtr(unsigned short BX, unsigned short ModeNo, i++; } -/* 07/05/22 */ if (table ==0x04 ) {switch (tempdi[i].DATAPTR) {case 0 :
@@ -2519,7 +2518,7 @@ static void XGI_UpdateModeInfo(struct xgi_hw_device_info *HwDeviceExtension, temp &=0x0f ;if (!(temp ==0x08 )) { -/* Check ChannelA by Part1_13 [2003/10/03] */ +/* Check ChannelA */ tempax =xgifb_reg_get (pVBInfo->Part1Port,0x13 );if (tempax &0x04 ) tempcl = tempcl | ActiveLCD;
@@ -2675,7 +2674,6 @@ static void XGI_GetVBInfo(unsigned short ModeNo, unsigned short ModeIdIndex, }if (pVBInfo->IF_DEF_YPbPr ==1 ) { -/* [Billy] 07/05/04 */ if (((pVBInfo->IF_DEF_LVDS == 0) && ((pVBInfo->VBType & VB_SIS301LV) || (pVBInfo->VBType & VB_SIS302LV) ||
@@ -2927,7 +2925,7 @@ static unsigned char XGI_GetLCDInfo(unsigned short ModeNo,if (tempbx ==0 ) tempbx = Panel_1024x768;/* default */ -/* LCD75 [2003/8/22] Vicent */ +/* LCD75 */ if ((tempbx == Panel_1024x768) || (tempbx == Panel_1280x1024)) {if (pVBInfo->VBInfo & DriverMode) { tempax =xgifb_reg_get (pVBInfo->P3d4,0x33 );
@@ -4591,7 +4589,7 @@ static void XGI_SetGroup2(unsigned short ModeNo, unsigned short ModeIdIndex, } } -/* [ycchen] 01/14/03 Modify for 301C PALM Support */ +/* Modify for 301C PALM Support */ if (pVBInfo->VBType &VB_XGI301C ) {if (pVBInfo->TVInfo & TVSetPALM) xgifb_reg_and_or(pVBInfo->Part2Port, 0x4E, ~0x08,
@@ -6245,8 +6243,7 @@ unsigned short XGI_GetRatePtrCRT2(struct xgi_hw_device_info *pXGIHWDE, (pVBInfo->RefIndex[RefreshRateTableIndex].YRes == 600)) { index++; } -/* Alan 10/19/2007; -* do the similar adjustment like XGISearchCRT1Rate() */ +/* do the similar adjustment like XGISearchCRT1Rate() */ if ((pVBInfo->RefIndex[RefreshRateTableIndex].XRes ==1024 ) && (pVBInfo->RefIndex[RefreshRateTableIndex].YRes ==768 )) { index++;
@@ -6354,7 +6351,7 @@ void XGI_SenseCRT1(struct vb_device_info *pVBInfo)int i;xgifb_reg_set (pVBInfo->P3c4,0x05 ,0x86 ); -/* [2004/05/06] Vicent to fix XG42 single LCD sense to CRT+LCD */ +/* to fix XG42 single LCD sense to CRT+LCD */ xgifb_reg_set (pVBInfo->P3d4,0x57 ,0x4A );xgifb_reg_set (pVBInfo->P3d4,0x53 , (unsigned char ) (xgifb_reg_get ( pVBInfo->P3d4,0x53 ) |0x02 ));
@@ -6419,7 +6416,7 @@ void XGI_SenseCRT1(struct vb_device_info *pVBInfo)else xgifb_reg_and_or (pVBInfo->P3d4,0x32 ,0xDF ,0x00 ); -/* alan, avoid display something, set BLACK DAC if not restore DAC */ +/* avoid display something, set BLACK DAC if not restore DAC */ outb (0x00 , pVBInfo->P3c8);for (i =0 ; i <256 ; i++) {
@@ -6432,7 +6429,6 @@ void XGI_SenseCRT1(struct vb_device_info *pVBInfo)xgifb_reg_set (pVBInfo->P3d4,0x63 ,CR63 );xgifb_reg_set (pVBInfo->P3c4,0x31 ,SR31 ); -/* [2004/05/11] Vicent */ xgifb_reg_set (pVBInfo->P3d4,0x53 , (unsigned char ) (xgifb_reg_get ( pVBInfo->P3d4,0x53 ) &0xFD ));xgifb_reg_set (pVBInfo->P3c4,0x1F , (unsigned char )SR1F );
@@ -6653,7 +6649,7 @@ unsigned char XGISetModeNew(struct xgifb_video_info *xgifb_info, pVBInfo->IF_DEF_LVDS =0 ; pVBInfo->IF_DEF_LCDA =1 ; -if (HwDeviceExtension->jChipType >=XG20 ) {/* kuku 2004/06/25 */ +if (HwDeviceExtension->jChipType >=XG20 ) { pVBInfo->IF_DEF_YPbPr =0 ; pVBInfo->IF_DEF_HiVision =0 ; pVBInfo->IF_DEF_CRT2Monitor =0 ;
@@ -6695,7 +6691,7 @@ unsigned char XGISetModeNew(struct xgifb_video_info *xgifb_info, } } -if (HwDeviceExtension->jChipType <XG20 )/* kuku 2004/06/25 */ +if (HwDeviceExtension->jChipType <XG20 )XGI_GetVBType (pVBInfo);InitTo330Pointer (HwDeviceExtension->jChipType, pVBInfo);
@@ -6703,12 +6699,12 @@ unsigned char XGISetModeNew(struct xgifb_video_info *xgifb_info, ModeNo = ModeNo &0x7F ;xgifb_reg_set (pVBInfo->P3c4,0x05 ,0x86 ); -if (HwDeviceExtension->jChipType <XG20 )/* kuku 2004/06/25 1.Openkey */ +if (HwDeviceExtension->jChipType <XG20 )XGI_UnLockCRT2 (HwDeviceExtension, pVBInfo);XGI_SearchModeID (ModeNo, &ModeIdIndex, pVBInfo); -if (HwDeviceExtension->jChipType <XG20 ) {/* kuku 2004/06/25 */ +if (HwDeviceExtension->jChipType <XG20 ) {XGI_GetVBInfo (ModeNo, ModeIdIndex, HwDeviceExtension, pVBInfo);XGI_GetTVInfo (ModeNo, ModeIdIndex, pVBInfo);XGI_GetLCDInfo (ModeNo, ModeIdIndex, pVBInfo);
@@ -6779,7 +6775,7 @@ unsigned char XGISetModeNew(struct xgifb_video_info *xgifb_info,XGI_UpdateModeInfo (HwDeviceExtension, pVBInfo); -if (HwDeviceExtension->jChipType <XG20 ) {/* kuku 2004/06/25 */ +if (HwDeviceExtension->jChipType <XG20 ) {XGI_LockCRT2 (HwDeviceExtension, pVBInfo); }
drivers/staging/xgifb/vb_struct.h +0 -3
@@ -28,7 +28,6 @@ struct XGI_Ext2Struct {unsigned char ModeID;unsigned short XRes;unsigned short YRes; -/* unsigned short ROM_OFFSET; */ };struct XGI_ECLKDataStruct {
@@ -167,7 +166,6 @@ struct vb_device_info {unsigned short LCDHRS ,LCDVRS ,LCDHDES ,LCDVDES ;unsigned short ModeType; -/* ,IF_DEF_FSTN; add for dstn */ unsigned short IF_DEF_LVDS ,IF_DEF_TRUMPION ,IF_DEF_DSTN ;unsigned short IF_DEF_CRT2Monitor;unsigned short IF_DEF_LCDA , IF_DEF_YPbPr;
@@ -225,7 +223,6 @@ struct vb_device_info {struct SiS_StandTable_S *StandTable;struct XGI_ExtStruct *EModeIDTable;struct XGI_Ext2Struct *RefIndex; -/* XGINew_CRT1TableStruct *CRT1Table; */ struct XGI_CRT1TableStruct *XGINEWUB_CRT1Table;struct SiS_VCLKData *VCLKData;struct SiS_VBVCLKData *VBVCLKData;
drivers/staging/xgifb/vb_table.h +10 -25
@@ -1,6 +1,5 @@#ifndef _VB_TABLE_#define _VB_TABLE_ -/* yilin modify for xgi20 */ static struct SiS_MCLKData XGI340New_MCLKData[] = { {0x16 ,0x01 ,0x01 ,166 }, {0x19, 0x02, 0x01, 124},
@@ -23,7 +22,6 @@ static struct SiS_MCLKData XGI27New_MCLKData[] = { {0x5c, 0x23, 0x01, 166} }; -/* yilin modify for xgi20 */ static struct XGI_ECLKDataStruct XGI340_ECLKData[] = { {0x5c ,0x23 ,0x01 ,166 }, {0x55 ,0x84 ,0x01 ,123 },
@@ -424,13 +422,9 @@ static struct SiS_LCDData XGI_StLCD1024x768Data[] = { };static struct SiS_LCDData XGI_ExtLCD1024x768Data[] = { -/* { 12, 5, 896, 512,1344, 806}, // alan 09/12/2003 */ {42 ,25 ,1536 ,419 ,1344 ,806 }, -/* { 12, 5, 896, 510,1344, 806}, // alan 09/12/2003 */ {48 ,25 ,1536 ,369 ,1344 ,806 }, -/* { 32, 15,1008, 505,1344, 806}, // alan 09/12/2003 */ {42 ,25 ,1536 ,419 ,1344 ,806 }, -/* { 32, 15,1008, 514,1344, 806}, // alan 09/12/2003 */ {48 ,25 ,1536 ,369 ,1344 ,806 }, {12 ,5 ,896 ,500 ,1344 ,806 }, {42 ,25 ,1024 ,625 ,1344 ,806 },
@@ -504,14 +498,10 @@ static struct SiS_LCDData xgifb_lcd_1400x1050[] = { };static struct SiS_LCDData XGI_ExtLCD1600x1200Data[] = { - {4 ,1 ,1620 ,420 ,2160 ,1250 },/* { 3,1,2160,425,2160,1250 }, -// 00 (320x200,320x400, -// 640x200,640x400) -// // alan 10/14/2003 */ + {4 ,1 ,1620 ,420 ,2160 ,1250 },/* 00 (320x200,320x400, +640x200,640x400)*/ {27 ,7 ,1920 ,375 ,2160 ,1250 },/* 01 (320x350,640x350) */ - {4 ,1 ,1620 ,420 ,2160 ,1250 },/* { 3,1,2160,425,2160,1250 }, -// 02 (360x400,720x400) -// // alan 10/14/2003 */ + {4 ,1 ,1620 ,420 ,2160 ,1250 },/* 02 (360x400,720x400)*/ {27 ,7 ,1920 ,375 ,2160 ,1250 },/* 03 (720x350) */ {27 ,4 ,800 ,500 ,2160 ,1250 },/* 04 (640x480x60Hz) */ {4 ,1 ,1080 ,625 ,2160 ,1250 },/* 05 (800x600x60Hz) */
@@ -615,8 +605,7 @@ static struct SiS_LCDData XGI_NoScalingDatax75[] = { {1, 1, 1056, 625, 1056, 625}, /* ; 05 (800x600x75Hz) */ {1, 1, 1312, 800, 1312, 800}, /* ; 06 (1024x768x75Hz) */ {1, 1, 1688, 1066, 1688, 1066}, /* ; 07 (1280x1024x75Hz) */ - {1, 1, 1688, 1066, 1688, 1066}, /* ; 08 (1400x1050x75Hz) -;;[ycchen] 12/19/02 */ + {1, 1, 1688, 1066, 1688, 1066}, /* ; 08 (1400x1050x75Hz)*/ {1, 1, 2160, 1250, 2160, 1250}, /* ; 09 (1600x1200x75Hz) */ {1, 1, 1688, 806, 1688, 806} /* ; 0A (1280x768x75Hz) */ };
@@ -823,8 +812,7 @@ static struct XGI330_LCDDataDesStruct2 XGI_NoScalingDesData[] = { {9, 849, 627, 600, 128, 4}, /* 05 (800x600x60Hz) */ {9, 1057, 805, 770, 0136, 6}, /* 06 (1024x768x60Hz) */ {9, 1337, 0, 1025, 112, 3}, /* 07 (1280x1024x60Hz) */ - {9, 1457, 0, 1051, 112, 3}, /* 08 (1400x1050x60Hz) }, -//;[ycchen] 12/19/02 */ + {9, 1457, 0, 1051, 112, 3}, /* 08 (1400x1050x60Hz)*/ {9, 1673, 0, 1201, 192, 3}, /* 09 (1600x1200x60Hz) */ {9, 1337, 0, 771, 112, 6} /* 0A (1280x768x60Hz) */ };
@@ -910,8 +898,7 @@ static struct XGI330_LCDDataDesStruct2 XGI_NoScalingDesDatax75[] = { {9, 825, 0, 601, 80, 3}, /* ; 05 (800x600x75Hz) */ {9, 1049, 0, 769, 96, 3}, /* ; 06 (1024x768x75Hz) */ {9, 1305, 0, 1025, 144, 3}, /* ; 07 (1280x1024x75Hz) */ - {9, 1457, 0, 1051, 112, 3}, /* ; 08 (1400x1050x60Hz) -;;[ycchen] 12/19/02 */ + {9, 1457, 0, 1051, 112, 3}, /* ; 08 (1400x1050x60Hz)*/ {9, 1673, 0, 1201, 192, 3}, /* ; 09 (1600x1200x75Hz) */ {9, 1337, 0, 771, 112, 6} /* ; 0A (1280x768x60Hz) */ };
@@ -1308,7 +1295,7 @@ static struct SiS_LVDSData XGI_LVDSNoScalingData[] = { {1056, 628, 1056, 628}, /* 05 (800x600x60Hz) */ {1344, 806, 1344, 806}, /* 06 (1024x768x60Hz) */ {1688, 1066, 1688, 1066}, /* 07 (1280x1024x60Hz) */ - {1688, 1066, 1688, 1066}, /* 08 (1400x1050x60Hz) ;;[ycchen] 12/19/02 */ + {1688, 1066, 1688, 1066}, /* 08 (1400x1050x60Hz) */ {2160, 1250, 2160, 1250}, /* 09 (1600x1200x60Hz) */ {1688, 806, 1688, 806} /* 0A (1280x768x60Hz) */ };
@@ -1469,8 +1456,7 @@ static struct XGI330_LCDDataDesStruct2 XGI_LVDSNoScalingDesData[] = { {0, 840, 627, 600, 128, 4}, /* 05 (800x600x60Hz) */ {0, 1048, 805, 770, 136, 6}, /* 06 (1024x768x60Hz) */ {0, 1328, 0, 1025, 112, 3}, /* 07 (1280x1024x60Hz) */ - {0, 1438, 0, 1051, 112, 3}, /* 08 (1400x1050x60Hz) -;;[ycchen] 12/19/02 */ + {0, 1438, 0, 1051, 112, 3}, /* 08 (1400x1050x60Hz)*/ {0, 1664, 0, 1201, 192, 3}, /* 09 (1600x1200x60Hz) */ {0, 1328, 0, 0771, 112, 6} /* 0A (1280x768x60Hz) */ };
@@ -1518,7 +1504,7 @@ static struct SiS_LVDSData XGI_LVDS1280x1024Des_1x75[] = { };/* The Display setting for DE Mode Panel */ -/* [ycchen] 02/18/03 Set DE as default */ +/* Set DE as default */ static struct SiS_LVDSData XGI_LVDS1280x1024Des_2x75[] = { {1368 ,976 ,752 ,711 },/* ; 00 (320x200,320x400,640x200,640x400) */ {1368 ,976 ,729 ,688 },/* ; 01 (320x350,640x350) */
@@ -1541,8 +1527,7 @@ static struct XGI330_LCDDataDesStruct2 XGI_LVDSNoScalingDesDatax75[] = { {0, 816, 0, 601, 80, 3}, /* ; 05 (800x600x75Hz) */ {0, 1040, 0, 769, 96, 3}, /* ; 06 (1024x768x75Hz) */ {0, 1296, 0, 1025, 144, 3}, /* ; 07 (1280x1024x75Hz) */ - {0, 1448, 0, 1051, 112, 3}, /* ; 08 (1400x1050x75Hz) -;;[ycchen] 12/19/02 */ + {0, 1448, 0, 1051, 112, 3}, /* ; 08 (1400x1050x75Hz) */ {0, 1664, 0, 1201, 192, 3}, /* ; 09 (1600x1200x75Hz) */ {0, 1328, 0, 771, 112, 6} /* ; 0A (1280x768x75Hz) */ };
Signature · 1 line
1.7.9.5
PATCH v2 2/19 Staging: xgifb: Remove unneeded XGI_LCD_TYPE enumeration.
In reply to Miguel GómezLCD_TYPEs are taken from drivers/video/sis/sis.h, so this enumeration is not needed.
--- drivers/staging/xgifb/vgatypes.h | 34 ---------------------------------- 1 file changed, 34 deletions(-)
drivers/staging/xgifb/vgatypes.h +0 -34
@@ -21,40 +21,6 @@ enum XGI_VB_CHIP_TYPE { };#endif - -#define XGI_LCD_TYPE -/* Since the merge with video/sis the LCD_TYPEs are used from -drivers/video/sis/sis.h . Nevertheless we keep this (for the moment) for -future reference until the code is merged completely and we are sure -nothing of this should be added to the sis.h header */ -#ifndef XGI_LCD_TYPE -enum XGI_LCD_TYPE { -LCD_INVALID =0 , - LCD_320x480,/* FSTN, DSTN */ - LCD_640x480, - LCD_640x480_2,/* FSTN, DSTN */ - LCD_640x480_3,/* FSTN, DSTN */ - LCD_800x600, - LCD_848x480, - LCD_1024x600, - LCD_1024x768, - LCD_1152x768, - LCD_1152x864, - LCD_1280x720, - LCD_1280x768, - LCD_1280x800, - LCD_1280x960, - LCD_1280x1024, - LCD_1400x1050, - LCD_1600x1200, - LCD_1680x1050, - LCD_1920x1440, - LCD_2048x1536, -LCD_CUSTOM , -LCD_UNKNOWN -}; -#endif -struct xgi_hw_device_info {unsigned long ulExternalChip;/* NO VB or other video bridge*/ /* if ujVBChipID = VB_CHIP_UNKNOWN, */
Signature · 1 line
1.7.9.5
PATCH v2 3/19 Staging: xgifb: Remove LCDA detection in xgifb_probe().
In reply to Miguel GómezThe piece of code that checks for LCDA in xgifb_probe() just checks for some register values but doesn't really do anything in response to them (the actions that should be executed are commented).
As nothing is really being done, the code can be safely removed.
--- drivers/staging/xgifb/XGI_main_26.c | 30 ------------------------------ 1 file changed, 30 deletions(-)
drivers/staging/xgifb/XGI_main_26.c +0 -30
@@ -1952,36 +1952,6 @@ static int __devinit xgifb_probe(struct pci_dev *pdev, } } -if ((hw_info->ujVBChipID ==VB_CHIP_302B ) || - (hw_info->ujVBChipID ==VB_CHIP_301LV ) || - (hw_info->ujVBChipID ==VB_CHIP_302LV )) { -int tmp; - tmp =xgifb_reg_get (XGICR ,0x34 ); -if (tmp <=0x13 ) { -/* Currently on LCDA? -*(Some BIOSes leave CR38) */ - tmp =xgifb_reg_get (XGICR ,0x38 ); -if ((tmp &0x03 ) ==0x03 ) { -/* XGI_Pr.XGI_UseLCDA = 1; */ - }else { -/* Currently on LCDA? -*(Some newer BIOSes set D0 in CR35) */ - tmp =xgifb_reg_get (XGICR ,0x35 ); -if (tmp &0x01 ) { -/* XGI_Pr.XGI_UseLCDA = 1; */ - }else { - tmp =xgifb_reg_get (XGICR , -0x30 ); -if (tmp &0x20 ) { - tmp =xgifb_reg_get ( -XGIPART1 ,0x13 ); - } - } - } - } - - } - xgifb_info->mode_idx =-1 ;if (mode)
Signature · 1 line
1.7.9.5
Greg KH
maintainerRe: [PATCH 03/19 v2] Staging: xgifb: Remove LCDA detection in xgifb_probe().
Quoted 4 lines · Miguel Gómez
The piece of code that checks for LCDA in
xgifb_probe()just checks for some register values but doesn't really do anything in response to them (the actions that should be executed are commented).
As nothing is really being done, the code can be safely removed.
Are you sure? Some devices (foolish ones that is) need registers read to work properly as that is part of their start-up logic. Yeah, it doesn't seem to make sense, but hardware designers usually have good reasons for doing this type of thing. Or at least they think they do :)
So have you tested the device after this change and it all works properly? You do have this device, right?
thanks,
greg k-h
Re: [PATCH 03/19 v2] Staging: xgifb: Remove LCDA detection in xgifb_probe().
Hi,
Quoted 10 lines · Greg KH
Quoted 4 lines · Miguel Gómez
The piece of code that checks for LCDA in
xgifb_probe()just checks for some register values but doesn't really do anything in response to them (the actions that should be executed are commented).
As nothing is really being done, the code can be safely removed.Are you sure? Some devices (foolish ones that is) need registers read to work properly as that is part of their start-up logic. Yeah, it doesn't seem to make sense, but hardware designers usually have good reasons for doing this type of thing. Or at least they think they do :)
Those registers (CR 0x30..0x38) are scratch registers, so reading them should have no side effects in the device side. I think it's safe to delete that code.
A.
Re: [PATCH 03/19 v2] Staging: xgifb: Remove LCDA detection in xgifb_probe().
In reply to Greg KHQuoted 10 lines · Greg KH
Quoted 4 lines · Miguel Gómez
The piece of code that checks for LCDA in
xgifb_probe()just checks for some register values but doesn't really do anything in response to them (the actions that should be executed are commented).
As nothing is really being done, the code can be safely removed.Are you sure? Some devices (foolish ones that is) need registers read to work properly as that is part of their start-up logic. Yeah, it doesn't seem to make sense, but hardware designers usually have good reasons for doing this type of thing. Or at least they think they do :)
Weird... I didn't expect that some devices might need those reads to work properly... I'm writing down that comment for the future ;)
Quoted 2 lines
So have you tested the device after this change and it all works properly? You do have this device, right?
I have an XGI Z7 card that I use for testing, and it doesn't require those reads to work properly, despite I don't have a Z9 or Z11 to test. But according to Aaro's comment, it seems that the patch is safe as these register reads don't have any effect.
Regards!
Signature · 2 lines
Miguel Gómez Igalia - http://www.igalia.com
PATCH v2 4/19 Staging: xgifb: Remove unused struct _chswtable.
In reply to Miguel GómezStruct _chswtable and the variable mychswtable are not used anywhere, so remove them.
--- drivers/staging/xgifb/XGI_main.h | 10 ---------- 1 file changed, 10 deletions(-)
drivers/staging/xgifb/XGI_main.h +0 -10
@@ -227,16 +227,6 @@ static const struct _XGI_vrate { {0, 0, 0, 0} }; -static const struct _chswtable { -int subsysVendor; -int subsysCard; -char *vendorName; -char *cardName; -} mychswtable[] = { - {0x1631 ,0x1002 ,"Mitachi" ,"0x1002" }, - {0 ,0 ,"" ,"" } -}; -static const struct _XGI_TV_filter {u8 filter[9 ][4 ]; } XGI_TV_filter[] = {
Signature · 1 line
1.7.9.5
PATCH v2 5/19 Staging: xgifb: Improve debug strings.
In reply to Miguel Gómez--- drivers/staging/xgifb/XGI_main_26.c | 34 +++++++++++++++++----------------- drivers/staging/xgifb/vb_init.c | 4 ++-- 2 files changed, 19 insertions(+), 19 deletions(-)
drivers/staging/xgifb/XGI_main_26.c +17 -17
@@ -39,14 +39,14 @@ static void dumpVGAReg(void)for (i =0 ; i <0x4f ; i++) { reg =xgifb_reg_get (XGISR , i); -pr_debug ("\no 3c4 %x" , i); -pr_debug ("\ni 3c5 => %x" , reg); +pr_debug ("o 3c4 %x\n" , i); +pr_debug ("i 3c5 => %x\n" , reg); }for (i =0 ; i <0xF0 ; i++) { reg =xgifb_reg_get (XGICR , i); -pr_debug ("\no 3d4 %x" , i); -pr_debug ("\ni 3d5 => %x" , reg); +pr_debug ("o 3d4 %x\n" , i); +pr_debug ("i 3d5 => %x\n" , reg); } }#else
@@ -591,7 +591,7 @@ static u8 XGIfb_search_refresh_rate(struct xgifb_video_info *xgifb_info,break ; }else if (XGIfb_vrate[i].refresh > rate) {if ((XGIfb_vrate[i].refresh - rate) <=3 ) { -pr_debug ("XGIfb: Adjusting rate from %d up to %d\n" , +pr_debug ("Adjusting rate from %d up to %d\n" , rate, XGIfb_vrate[i].refresh); xgifb_info->rate_idx = XGIfb_vrate[i].idx;
@@ -600,7 +600,7 @@ static u8 XGIfb_search_refresh_rate(struct xgifb_video_info *xgifb_info, }else if (((rate - XGIfb_vrate[i -1 ].refresh) <=2 ) && (XGIfb_vrate[i].idx !=1 )) { -pr_debug ("XGIfb: Adjusting rate from %d down to %d\n" , +pr_debug ("Adjusting rate from %d down to %d\n" , rate, XGIfb_vrate[i-1 ].refresh); xgifb_info->rate_idx = XGIfb_vrate[i -1 ].idx;
@@ -609,7 +609,7 @@ static u8 XGIfb_search_refresh_rate(struct xgifb_video_info *xgifb_info, }break ; }else if ((rate - XGIfb_vrate[i].refresh) <=2 ) { -pr_debug ("XGIfb: Adjusting rate from %d down to %d\n" , +pr_debug ("Adjusting rate from %d down to %d\n" , rate, XGIfb_vrate[i].refresh); xgifb_info->rate_idx = XGIfb_vrate[i].idx;break ;
@@ -987,7 +987,7 @@ static int XGIfb_do_set_var(struct fb_var_screeninfo *var, int isactive, }if (!htotal || !vtotal) { -pr_debug ("XGIfb: Invalid 'var' information\n" ); +pr_debug ("Invalid 'var' information\n" );return -EINVAL ; }pr_debug ("var->pixclock=%d, htotal=%d, vtotal=%d\n" , var->pixclock, htotal, vtotal);
@@ -1063,7 +1063,7 @@ static int XGIfb_do_set_var(struct fb_var_screeninfo *var, int isactive,XGIfb_post_setmode (xgifb_info); - pr_debug("XGIfb: Set new mode: %dx%dx%d-%d\n", + pr_debug("Set new mode: %dx%dx%d-%d\n", XGIbios_mode[xgifb_info->mode_idx].xres, XGIbios_mode[xgifb_info->mode_idx].yres, XGIbios_mode[xgifb_info->mode_idx].bpp,
@@ -1109,7 +1109,7 @@ static int XGIfb_do_set_var(struct fb_var_screeninfo *var, int isactive,break ;default : xgifb_info->video_cmap_len =16 ; -pr_err ("Unsupported depth %d" , +pr_err ("Unsupported depth %d\n" , xgifb_info->video_bpp);break ; }
@@ -1303,7 +1303,7 @@ static int XGIfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) + var->vsync_len;if (!(htotal) || !(vtotal)) { -pr_debug ("XGIfb: no valid timing data\n" ); +pr_debug ("No valid timing data\n" );return -EINVAL ; }
@@ -1661,7 +1661,7 @@ static int __init xgifb_optval(char *fullopt, int validx)unsigned long lres;if (kstrtoul (fullopt + validx,0 , &lres) <0 || lres >INT_MAX ) { -pr_err ("xgifb: invalid value for option: %s\n" , fullopt); +pr_err ("Invalid value for option: %s\n" , fullopt);return 0 ; }return lres;
@@ -1674,7 +1674,7 @@ static int __init XGIfb_setup(char *options)if (!options || !*options)return 0 ; -pr_info ("xgifb: options: %s\n" , options); +pr_info ("Options: %s\n" , options);while ((this_opt =strsep (&options,"," )) !=NULL ) {
@@ -1767,7 +1767,7 @@ static int __devinit xgifb_probe(struct pci_dev *pdev, reg1 =xgifb_reg_get (XGISR ,IND_SIS_PASSWORD );if (reg1 !=0xa1 ) {/*I/O error */ -dev_err (&pdev->dev,"I/O error!!!" ); +dev_err (&pdev->dev,"I/O error\n" ); ret = -EIO ; goto error_disable; }
@@ -1817,7 +1817,7 @@ static int __devinit xgifb_probe(struct pci_dev *pdev,if (!request_mem_region (xgifb_info->video_base, xgifb_info->video_size,"XGIfb FB" )) { -dev_err (&pdev->dev,"unable request memory size %x\n" , +dev_err (&pdev->dev,"Unable request memory size %x\n" , xgifb_info->video_size);dev_err (&pdev->dev, "Fatal error: Unable to reserve frame buffer memory. "
@@ -1973,7 +1973,7 @@ static int __devinit xgifb_probe(struct pci_dev *pdev, }if (xgifb_info->mode_idx <0 ) { -dev_err (&pdev->dev,"no supported video mode found\n" ); +dev_err (&pdev->dev,"No supported video mode found\n" ); goto error_1; }
@@ -2085,7 +2085,7 @@ static int __devinit xgifb_probe(struct pci_dev *pdev, xgifb_info->mtrr =mtrr_add (xgifb_info->video_base, xgifb_info->video_size,MTRR_TYPE_WRCOMB ,1 );if (xgifb_info->mtrr >=0 ) -dev_info (&pdev->dev,"added MTRR\n" ); +dev_info (&pdev->dev,"Added MTRR\n" );#endif if (register_framebuffer (fb_info) <0 ) {
drivers/staging/xgifb/vb_init.c +2 -2
@@ -951,7 +951,7 @@ static void xgifb_read_vbios(struct pci_dev *pdev, pVBInfo->IF_DEF_LVDS =0 ; vbios =xgifb_copy_rom (pdev, &vbios_size);if (vbios ==NULL ) { -dev_err (&pdev->dev,"video BIOS not available\n" ); +dev_err (&pdev->dev,"Video BIOS not available\n" );return ; }if (vbios_size <=0x65 )
@@ -1006,7 +1006,7 @@ static void xgifb_read_vbios(struct pci_dev *pdev, pVBInfo->IF_DEF_LVDS =1 ;return ; error: -dev_err (&pdev->dev,"video BIOS corrupted\n" ); +dev_err (&pdev->dev,"Video BIOS corrupted\n" );vfree (vbios); }
Signature · 1 line
1.7.9.5
PATCH v2 6/19 Staging: xgifb: Remove useless switch in XGIfb_detect_VB().
In reply to Miguel GómezThe switch performs no action so it can be removed.
--- drivers/staging/xgifb/XGI_main_26.c | 10 ---------- 1 file changed, 10 deletions(-)
drivers/staging/xgifb/XGI_main_26.c +0 -10
@@ -1556,16 +1556,6 @@ static void XGIfb_detect_VB(struct xgifb_video_info *xgifb_info) xgifb_info->TV_plug = xgifb_info->TV_type =0 ; -switch (xgifb_info->hasVB) { -case HASVB_LVDS_CHRONTEL : -case HASVB_CHRONTEL : -break ; -case HASVB_301 : -case HASVB_302 : -/* XGI_Sense30x(); */ /* Yi-Lin TV Sense? */ -break ; - } - cr32 =xgifb_reg_get (XGICR ,IND_XGI_SCRATCH_REG_CR32 );if ((cr32 &SIS_CRT1 ) && !XGIfb_crt1off)
Signature · 1 line
1.7.9.5
PATCH v2 7/19 Staging: xgifb: Simplify XGIfb_GetXG21DefaultLVDSModeIdx().
In reply to Miguel GómezSimplify the code and make it more readable.
--- drivers/staging/xgifb/XGI_main_26.c | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-)
drivers/staging/xgifb/XGI_main_26.c +9 -18
@@ -262,28 +262,19 @@ static void XGIRegInit(struct vb_device_info *XGI_Pr, unsigned long BaseAddr)static int XGIfb_GetXG21DefaultLVDSModeIdx (struct xgifb_video_info *xgifb_info) { +int i =0 ; -int found_mode =0 ; -int XGIfb_mode_idx =0 ; - - found_mode =0 ; -while ((XGIbios_mode[XGIfb_mode_idx].mode_no !=0 ) - && (XGIbios_mode[XGIfb_mode_idx].xres - <= xgifb_info->lvds_data.LVDSHDE)) { -if ((XGIbios_mode[XGIfb_mode_idx].xres - == xgifb_info->lvds_data.LVDSHDE) - && (XGIbios_mode[XGIfb_mode_idx].yres - == xgifb_info->lvds_data.LVDSVDE) - && (XGIbios_mode[XGIfb_mode_idx].bpp ==8 )) { - found_mode =1 ; -break ; +while ((XGIbios_mode[i].mode_no !=0 ) + && (XGIbios_mode[i].xres <= xgifb_info->lvds_data.LVDSHDE)) { +if ((XGIbios_mode[i].xres == xgifb_info->lvds_data.LVDSHDE) + && (XGIbios_mode[i].yres == xgifb_info->lvds_data.LVDSVDE) + && (XGIbios_mode[i].bpp ==8 )) { +return i; } - XGIfb_mode_idx++; + i++; } -if (!found_mode) - XGIfb_mode_idx =-1 ; -return XGIfb_mode_idx; +return -1 ; } static void XGIfb_search_mode(struct xgifb_video_info *xgifb_info,
Signature · 1 line
1.7.9.5
PATCH v2 8/19 Staging: xgifb: Remove unneeded var and condition in XGIfb_search_vesamode().
In reply to Miguel Gómez--- drivers/staging/xgifb/XGI_main_26.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
drivers/staging/xgifb/XGI_main_26.c +3 -5
@@ -305,7 +305,7 @@ invalid_mode:static void XGIfb_search_vesamode (struct xgifb_video_info *xgifb_info,unsigned int vesamode) { -int i =0 , j =0 ; +int i =0 ;if (vesamode ==0 ) goto invalid;
@@ -316,15 +316,13 @@ static void XGIfb_search_vesamode(struct xgifb_video_info *xgifb_info,if ((XGIbios_mode[i].vesa_mode_no_1 == vesamode) || (XGIbios_mode[i].vesa_mode_no_2 == vesamode)) { xgifb_info->mode_idx = i; - j =1 ; -break ; +return ; } i++; } invalid: -if (!j) -pr_info ("Invalid VESA mode 0x%x'\n" , vesamode); +pr_info ("Invalid VESA mode 0x%x'\n" , vesamode); }static int XGIfb_validate_mode (struct xgifb_video_info *xgifb_info,int myindex)
Signature · 1 line
1.7.9.5
PATCH v2 9/19 Staging: xgifb: Remove useless always true condition.
In reply to Miguel Gómez--- drivers/staging/xgifb/vb_init.c | 4 ---- 1 file changed, 4 deletions(-)
drivers/staging/xgifb/vb_init.c +0 -4
@@ -1185,13 +1185,11 @@ static void XGINew_GetXG21Sense(struct xgi_hw_device_info *HwDeviceExtension, {unsigned char Temp; -#if 1 if (pVBInfo->IF_DEF_LVDS) {/* For XG21 LVDS */ xgifb_reg_or (pVBInfo->P3d4,0x32 , LCDSense);/* LVDS on chip */ xgifb_reg_and_or (pVBInfo->P3d4,0x38 , ~0xE0 ,0xC0 ); }else { -#endif /* Enable GPIOA/B read */ xgifb_reg_and_or (pVBInfo->P3d4,0x4A , ~0x03 ,0x03 ); Temp =xgifb_reg_get (pVBInfo->P3d4,0x48 ) &0xC0 ;
@@ -1214,9 +1212,7 @@ static void XGINew_GetXG21Sense(struct xgi_hw_device_info *HwDeviceExtension,/* Disable read GPIOF */ xgifb_reg_and (pVBInfo->P3d4,0x4A , ~0x20 ); } -#if 1 } -#endif } static void XGINew_GetXG27Sense(struct xgi_hw_device_info *HwDeviceExtension,
Signature · 1 line
1.7.9.5
PATCH v2 10/19 Staging: xgifb: Rework conditions in XGI_SetATTRegs().
In reply to Miguel GómezRework some conditions to reduce indentation and fix style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-)
drivers/staging/xgifb/vb_setmode.c +8 -11
@@ -161,18 +161,15 @@ static void XGI_SetATTRegs(unsigned short ModeNo,for (i =0 ; i <=0x13 ; i++) { ARdata = pVBInfo->StandTable->ATTR[i]; -if (modeflag & Charx8Dot) {/* ifndef Dot9 */ -if (i ==0x13 ) { -if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) { + +if ((modeflag & Charx8Dot) && i ==0x13 ) {/* ifndef Dot9 */ +if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) { + ARdata =0 ; + }else { +if ((pVBInfo->VBInfo & + (SetCRT2ToTV | SetCRT2ToLCD)) && + (pVBInfo->VBInfo & SetInSlaveMode)) ARdata =0 ; - }else { -if (pVBInfo->VBInfo & (SetCRT2ToTV - | SetCRT2ToLCD)) { -if (pVBInfo->VBInfo & - SetInSlaveMode) - ARdata =0 ; - } - } } }
Signature · 1 line
1.7.9.5
PATCH v2 11/19 Staging: xgifb: Refactor XGI_AjustCRT2Rate().
In reply to Miguel GómezRefactor some conditions to reduce indentation and fix style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 73 ++++++++++++------------------------ 1 file changed, 25 insertions(+), 48 deletions(-)
drivers/staging/xgifb/vb_setmode.c +25 -48
@@ -250,48 +250,30 @@ static unsigned char XGI_AjustCRT2Rate(unsigned short ModeNo,if (pVBInfo->VBInfo & (SetCRT2ToLCD | XGI_SetCRT2ToLCDA)) { tempax |= SupportLCD; -if (pVBInfo->LCDResInfo != Panel_1280x1024) { -if (pVBInfo->LCDResInfo != Panel_1280x960) { -if (pVBInfo->LCDInfo & - LCDNonExpanding) { -if (resinfo >=9 ) { - tempax =0 ; -return 0 ; - } - } - } - } +if (pVBInfo->LCDResInfo != Panel_1280x1024 && + pVBInfo->LCDResInfo != Panel_1280x960 && + (pVBInfo->LCDInfo & LCDNonExpanding) && + resinfo >=9 ) +return 0 ; }if (pVBInfo->VBInfo & SetCRT2ToHiVision) {/* for HiTV */ if ((pVBInfo->VBType &VB_SIS301LV ) && (pVBInfo->VBExtInfo == VB_YPbPr1080i)) { tempax |= SupportYPbPr750p; -if (pVBInfo->VBInfo & SetInSlaveMode) { -if (resinfo ==4 ) -return 0 ; - -if (resinfo ==3 ) -return 0 ; - -if (resinfo >7 ) -return 0 ; - } +if ((pVBInfo->VBInfo & SetInSlaveMode) && + ((resinfo ==3 ) || + (resinfo ==4 ) || + (resinfo >7 ))) +return 0 ; }else { tempax |= SupportHiVision; -if (pVBInfo->VBInfo & SetInSlaveMode) { -if (resinfo ==4 ) +if ((pVBInfo->VBInfo & SetInSlaveMode) && + ((resinfo ==4 ) || + (resinfo ==3 && + (pVBInfo->SetFlag & TVSimuMode)) || + (resinfo >7 )))return 0 ; - -if (resinfo ==3 ) { -if (pVBInfo->SetFlag - & TVSimuMode) -return 0 ; - } - -if (resinfo >7 ) -return 0 ; - } } }else { if (pVBInfo->VBInfo & (SetCRT2ToAVIDEO |
@@ -301,23 +283,18 @@ static unsigned char XGI_AjustCRT2Rate(unsigned short ModeNo, SetCRT2ToHiVision)) { tempax |= SupportTV; -if (pVBInfo->VBType & (VB_SIS301B |VB_SIS302B - |VB_SIS301LV |VB_SIS302LV - |VB_XGI301C )) { +if (pVBInfo->VBType & (VB_SIS301B | +VB_SIS302B | +VB_SIS301LV | +VB_SIS302LV | +VB_XGI301C )) tempax |= SupportTV1024; - } -if (!(pVBInfo->VBInfo & TVSetPAL)) { -if (modeflag & NoSupportSimuTV) { -if (pVBInfo->VBInfo & - SetInSlaveMode) { -if (!(pVBInfo->VBInfo & - SetNotSimuMode)) { -return 0 ; - } - } - } - } +if (!(pVBInfo->VBInfo & TVSetPAL) && + (modeflag & NoSupportSimuTV) && + (pVBInfo->VBInfo & SetInSlaveMode) && + (!(pVBInfo->VBInfo & SetNotSimuMode))) +return 0 ; } } }else {/* for LVDS */
Signature · 1 line
1.7.9.5
PATCH v2 12/19 Staging: xgifb: Refactor XGI_GetVBType().
In reply to Miguel GómezRefactor XGI_GetVBType() to reduce indentation and fix style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 69 +++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 33 deletions(-)
drivers/staging/xgifb/vb_setmode.c +36 -33
@@ -2559,42 +2559,45 @@ void XGI_GetVBType(struct vb_device_info *pVBInfo) {unsigned short flag, tempbx, tempah; -if (pVBInfo->IF_DEF_LVDS ==0 ) { - tempbx =VB_SIS302B ; - flag =xgifb_reg_get (pVBInfo->Part4Port,0x00 ); -if (flag !=0x02 ) { - tempbx =VB_SIS301 ; - flag =xgifb_reg_get (pVBInfo->Part4Port,0x01 ); -if (flag >=0xB0 ) { - tempbx =VB_SIS301B ; -if (flag >=0xC0 ) { - tempbx =VB_XGI301C ; -if (flag >=0xD0 ) { - tempbx =VB_SIS301LV ; -if (flag >=0xE0 ) { - tempbx =VB_SIS302LV ; - tempah =xgifb_reg_get ( - pVBInfo->Part4Port, -0x39 ); -if (tempah !=0xFF ) - tempbx = -VB_XGI301C ; - } - } - } +if (pVBInfo->IF_DEF_LVDS !=0 ) +return ; -if (tempbx & (VB_SIS301B |VB_SIS302B )) { - flag =xgifb_reg_get ( - pVBInfo->Part4Port, -0x23 ); + tempbx =VB_SIS302B ; + flag =xgifb_reg_get (pVBInfo->Part4Port,0x00 ); +if (flag ==0x02 ) + goto finish; -if (!(flag &0x02 )) - tempbx = tempbx | VB_NoLCD; - } - } - } - pVBInfo->VBType = tempbx; + tempbx =VB_SIS301 ; + flag =xgifb_reg_get (pVBInfo->Part4Port,0x01 ); +if (flag <0xB0 ) + goto finish; + + tempbx =VB_SIS301B ; +if (flag <0xC0 ) + goto bigger_than_0xB0; + + tempbx =VB_XGI301C ; +if (flag <0xD0 ) + goto bigger_than_0xB0; + + tempbx =VB_SIS301LV ; +if (flag <0xE0 ) + goto bigger_than_0xB0; + + tempbx =VB_SIS302LV ; + tempah =xgifb_reg_get (pVBInfo->Part4Port,0x39 ); +if (tempah !=0xFF ) + tempbx =VB_XGI301C ; + +bigger_than_0xB0: +if (tempbx & (VB_SIS301B |VB_SIS302B )) { + flag =xgifb_reg_get (pVBInfo->Part4Port,0x23 ); +if (!(flag &0x02 )) + tempbx = tempbx | VB_NoLCD; } + +finish: + pVBInfo->VBType = tempbx; } static void XGI_GetVBInfo(unsigned short ModeNo, unsigned short ModeIdIndex,
Signature · 1 line
1.7.9.5
PATCH v2 13/19 Staging: xgifb: Rework conditions in XGI_GetVBInfo().
In reply to Miguel GómezRework some conditions to reduce indentation and fix style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 287 ++++++++++++++++++------------------ 1 file changed, 142 insertions(+), 145 deletions(-)
drivers/staging/xgifb/vb_setmode.c +142 -145
@@ -2611,186 +2611,183 @@ static void XGI_GetVBInfo(unsigned short ModeNo, unsigned short ModeIdIndex, pVBInfo->ModeType = modeflag & ModeTypeMask; tempbx =0 ; -if (pVBInfo->VBType &0xFFFF ) { -/* Check Display Device */ - temp =xgifb_reg_get (pVBInfo->P3d4,0x30 ); - tempbx = tempbx | temp; - temp =xgifb_reg_get (pVBInfo->P3d4,0x31 ); - push = temp; - push = push <<8 ; - tempax = temp <<8 ; - tempbx = tempbx | tempax; - temp = (SetCRT2ToDualEdge | SetCRT2ToYPbPr525750 | XGI_SetCRT2ToLCDA - | SetInSlaveMode | DisableCRT2Display); - temp =0xFFFF ^ temp; - tempbx &= temp; - - temp =xgifb_reg_get (pVBInfo->P3d4,0x38 ); +if (!(pVBInfo->VBType &0xFFFF )) +return ; -if (pVBInfo->IF_DEF_LCDA ==1 ) { - -if ((HwDeviceExtension->jChipType >=XG20 ) || - (HwDeviceExtension->jChipType >=XG40 )) { -if (pVBInfo->IF_DEF_LVDS ==0 ) { -if (pVBInfo->VBType & - (VB_SIS302B | -VB_SIS301LV | -VB_SIS302LV | -VB_XGI301C )) { -if (temp & EnableDualEdge) { - tempbx |= - SetCRT2ToDualEdge; - -if (temp & SetToLCDA) - tempbx |= - XGI_SetCRT2ToLCDA; - } - } +/* Check Display Device */ + temp =xgifb_reg_get (pVBInfo->P3d4,0x30 ); + tempbx = tempbx | temp; + temp =xgifb_reg_get (pVBInfo->P3d4,0x31 ); + push = temp; + push = push <<8 ; + tempax = temp <<8 ; + tempbx = tempbx | tempax; + temp = (SetCRT2ToDualEdge | SetCRT2ToYPbPr525750 | XGI_SetCRT2ToLCDA + | SetInSlaveMode | DisableCRT2Display); + temp =0xFFFF ^ temp; + tempbx &= temp; + + temp =xgifb_reg_get (pVBInfo->P3d4,0x38 ); + +if (pVBInfo->IF_DEF_LCDA ==1 ) { + +if (((HwDeviceExtension->jChipType >=XG20 ) || + (HwDeviceExtension->jChipType >=XG40 )) && + (pVBInfo->IF_DEF_LVDS ==0 )) { +if (pVBInfo->VBType & + (VB_SIS302B | +VB_SIS301LV | +VB_SIS302LV | +VB_XGI301C )) { +if (temp & EnableDualEdge) { + tempbx |= SetCRT2ToDualEdge; +if (temp & SetToLCDA) + tempbx |= XGI_SetCRT2ToLCDA; } } } + } -if (pVBInfo->IF_DEF_YPbPr ==1 ) { -if (((pVBInfo->IF_DEF_LVDS ==0 ) && - ((pVBInfo->VBType &VB_SIS301LV ) || - (pVBInfo->VBType &VB_SIS302LV ) || - (pVBInfo->VBType &VB_XGI301C )))) { -if (temp & SetYPbPr) { -if (pVBInfo->IF_DEF_HiVision ==1 ) { -/* shampoo add for new -* scratch */ - temp =xgifb_reg_get ( - pVBInfo->P3d4, -0x35 ); - temp &= YPbPrMode; - tempbx |= SetCRT2ToHiVision; - -if (temp != YPbPrMode1080i) { - tempbx &= - (~SetCRT2ToHiVision); - tempbx |= - SetCRT2ToYPbPr525750; - } +if (pVBInfo->IF_DEF_YPbPr ==1 ) { +if (((pVBInfo->IF_DEF_LVDS ==0 ) && + ((pVBInfo->VBType &VB_SIS301LV ) || + (pVBInfo->VBType &VB_SIS302LV ) || + (pVBInfo->VBType &VB_XGI301C )))) { +if (temp & SetYPbPr) { +if (pVBInfo->IF_DEF_HiVision ==1 ) { +/* shampoo add for new +* scratch */ + temp =xgifb_reg_get ( + pVBInfo->P3d4, +0x35 ); + temp &= YPbPrMode; + tempbx |= SetCRT2ToHiVision; + +if (temp != YPbPrMode1080i) { + tempbx &= + (~SetCRT2ToHiVision); + tempbx |= + SetCRT2ToYPbPr525750; } } } } + } - tempax = push;/* restore CR31 */ + tempax = push;/* restore CR31 */ -if (pVBInfo->IF_DEF_LVDS ==0 ) { -if (pVBInfo->IF_DEF_YPbPr ==1 ) { -if (pVBInfo->IF_DEF_HiVision ==1 ) - temp =0x09FC ; -else - temp =0x097C ; - }else { -if (pVBInfo->IF_DEF_HiVision ==1 ) - temp =0x01FC ; -else - temp =0x017C ; - } - }else {/* 3nd party chip */ - temp = SetCRT2ToLCD; - } - -if (!(tempbx & temp)) { - tempax |= DisableCRT2Display; - tempbx =0 ; - } - -if (pVBInfo->IF_DEF_LCDA ==1 ) {/* Select Display Device */ -if (!(pVBInfo->VBType & VB_NoLCD)) { -if (tempbx & XGI_SetCRT2ToLCDA) { -if (tempbx & SetSimuScanMode) - tempbx &= (~(SetCRT2ToLCD | - SetCRT2ToRAMDAC | - SwitchCRT2)); -else - tempbx &= (~(SetCRT2ToLCD | - SetCRT2ToRAMDAC | - SetCRT2ToTV | - SwitchCRT2)); - } - } +if (pVBInfo->IF_DEF_LVDS ==0 ) { +if (pVBInfo->IF_DEF_YPbPr ==1 ) { +if (pVBInfo->IF_DEF_HiVision ==1 ) + temp =0x09FC ; +else + temp =0x097C ; + }else { +if (pVBInfo->IF_DEF_HiVision ==1 ) + temp =0x01FC ; +else + temp =0x017C ; } + }else {/* 3nd party chip */ + temp = SetCRT2ToLCD; + } -/* shampoo add */ -/* for driver abnormal */ -if (!(tempbx & (SwitchCRT2 | SetSimuScanMode))) { -if (pVBInfo->IF_DEF_CRT2Monitor ==1 ) { -if (tempbx & SetCRT2ToRAMDAC) { - tempbx &= (0xFF00 | - SetCRT2ToRAMDAC | - SwitchCRT2 | - SetSimuScanMode); - tempbx &= (0x00FF | (~SetCRT2ToYPbPr525750)); - } - }else { - tempbx &= (~(SetCRT2ToRAMDAC | - SetCRT2ToLCD | - SetCRT2ToTV)); +if (!(tempbx & temp)) { + tempax |= DisableCRT2Display; + tempbx =0 ; + } + +if (pVBInfo->IF_DEF_LCDA ==1 ) {/* Select Display Device */ +if (!(pVBInfo->VBType & VB_NoLCD)) { +if (tempbx & XGI_SetCRT2ToLCDA) { +if (tempbx & SetSimuScanMode) + tempbx &= (~(SetCRT2ToLCD | + SetCRT2ToRAMDAC | + SwitchCRT2)); +else + tempbx &= (~(SetCRT2ToLCD | + SetCRT2ToRAMDAC | + SetCRT2ToTV | + SwitchCRT2)); } } + } -if (!(pVBInfo->VBType & VB_NoLCD)) { -if (tempbx & SetCRT2ToLCD) { +/* shampoo add */ +/* for driver abnormal */ +if (!(tempbx & (SwitchCRT2 | SetSimuScanMode))) { +if (pVBInfo->IF_DEF_CRT2Monitor ==1 ) { +if (tempbx & SetCRT2ToRAMDAC) { tempbx &= (0xFF00 | - SetCRT2ToLCD | + SetCRT2ToRAMDAC | SwitchCRT2 | SetSimuScanMode); tempbx &= (0x00FF | (~SetCRT2ToYPbPr525750)); } + }else { + tempbx &= (~(SetCRT2ToRAMDAC | + SetCRT2ToLCD | + SetCRT2ToTV)); } + } -if (tempbx & SetCRT2ToSCART) { +if (!(pVBInfo->VBType & VB_NoLCD)) { +if (tempbx & SetCRT2ToLCD) { tempbx &= (0xFF00 | - SetCRT2ToSCART | + SetCRT2ToLCD | SwitchCRT2 | SetSimuScanMode); tempbx &= (0x00FF | (~SetCRT2ToYPbPr525750)); } + } -if (pVBInfo->IF_DEF_YPbPr ==1 ) { -if (tempbx & SetCRT2ToYPbPr525750) - tempbx &= (0xFF00 | - SwitchCRT2 | - SetSimuScanMode); - } +if (tempbx & SetCRT2ToSCART) { + tempbx &= (0xFF00 | + SetCRT2ToSCART | + SwitchCRT2 | + SetSimuScanMode); + tempbx &= (0x00FF | (~SetCRT2ToYPbPr525750)); + } -if (pVBInfo->IF_DEF_HiVision ==1 ) { -if (tempbx & SetCRT2ToHiVision) - tempbx &= (0xFF00 | - SetCRT2ToHiVision | - SwitchCRT2 | - SetSimuScanMode); - } +if (pVBInfo->IF_DEF_YPbPr ==1 ) { +if (tempbx & SetCRT2ToYPbPr525750) + tempbx &= (0xFF00 | + SwitchCRT2 | + SetSimuScanMode); + } -if (tempax & DisableCRT2Display) {/* Set Display Device Info */ -if (!(tempbx & (SwitchCRT2 | SetSimuScanMode))) - tempbx = DisableCRT2Display; - } +if (pVBInfo->IF_DEF_HiVision ==1 ) { +if (tempbx & SetCRT2ToHiVision) + tempbx &= (0xFF00 | + SetCRT2ToHiVision | + SwitchCRT2 | + SetSimuScanMode); + } -if (!(tempbx & DisableCRT2Display)) { -if ((!(tempbx & DriverMode)) || - (!(modeflag & CRT2Mode))) { -if (pVBInfo->IF_DEF_LCDA ==1 ) { -if (!(tempbx & XGI_SetCRT2ToLCDA)) - tempbx |= (SetInSlaveMode | - SetSimuScanMode); - } - } +if (tempax & DisableCRT2Display) {/* Set Display Device Info */ +if (!(tempbx & (SwitchCRT2 | SetSimuScanMode))) + tempbx = DisableCRT2Display; + } -/* LCD+TV can't support in slave mode -* (Force LCDA+TV->LCDB) */ -if ((tempbx & SetInSlaveMode) && - (tempbx & XGI_SetCRT2ToLCDA)) { - tempbx ^= (SetCRT2ToLCD | - XGI_SetCRT2ToLCDA | - SetCRT2ToDualEdge); - pVBInfo->SetFlag |= ReserveTVOption; +if (!(tempbx & DisableCRT2Display)) { +if ((!(tempbx & DriverMode)) || + (!(modeflag & CRT2Mode))) { +if (pVBInfo->IF_DEF_LCDA ==1 ) { +if (!(tempbx & XGI_SetCRT2ToLCDA)) + tempbx |= (SetInSlaveMode | + SetSimuScanMode); } } + +/* LCD+TV can't support in slave mode +* (Force LCDA+TV->LCDB) */ +if ((tempbx & SetInSlaveMode) && + (tempbx & XGI_SetCRT2ToLCDA)) { + tempbx ^= (SetCRT2ToLCD | + XGI_SetCRT2ToLCDA | + SetCRT2ToDualEdge); + pVBInfo->SetFlag |= ReserveTVOption; + } } pVBInfo->VBInfo = tempbx;
Signature · 1 line
1.7.9.5
PATCH v2 14/19 Staging: xgifb: Refactor XGI_GetCRT2ResInfo().
In reply to Miguel GómezUse a goto to remove one level of indentation, fixing style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 61 ++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 30 deletions(-)
drivers/staging/xgifb/vb_setmode.c +31 -30
@@ -3263,46 +3263,47 @@ static void XGI_GetCRT2ResInfo(unsigned short ModeNo,if (modeflag & DoubleScanMode) yres *=2 ; -if (pVBInfo->VBInfo & SetCRT2ToLCD) { -if (pVBInfo->IF_DEF_LVDS ==0 ) { -if (pVBInfo->LCDResInfo == Panel_1600x1200) { -if (!(pVBInfo->LCDInfo & XGI_LCDVESATiming)) { -if (yres ==1024 ) - yres =1056 ; - } +if (!(pVBInfo->VBInfo & SetCRT2ToLCD)) + goto exit; + +if (pVBInfo->IF_DEF_LVDS ==0 ) { +if (pVBInfo->LCDResInfo == Panel_1600x1200) { +if (!(pVBInfo->LCDInfo & XGI_LCDVESATiming)) { +if (yres ==1024 ) + yres =1056 ; } + } -if (pVBInfo->LCDResInfo == Panel_1280x1024) { -if (yres ==400 ) - yres =405 ; -else if (yres ==350 ) - yres =360 ; +if (pVBInfo->LCDResInfo == Panel_1280x1024) { +if (yres ==400 ) + yres =405 ; +else if (yres ==350 ) + yres =360 ; -if (pVBInfo->LCDInfo & XGI_LCDVESATiming) { -if (yres ==360 ) - yres =375 ; - } +if (pVBInfo->LCDInfo & XGI_LCDVESATiming) { +if (yres ==360 ) + yres =375 ; } + } -if (pVBInfo->LCDResInfo == Panel_1024x768) { -if (!(pVBInfo->LCDInfo & XGI_LCDVESATiming)) { -if (!(pVBInfo->LCDInfo - & LCDNonExpanding)) { -if (yres ==350 ) - yres =357 ; -else if (yres ==400 ) - yres =420 ; -else if (yres ==480 ) - yres =525 ; - } +if (pVBInfo->LCDResInfo == Panel_1024x768) { +if (!(pVBInfo->LCDInfo & XGI_LCDVESATiming)) { +if (!(pVBInfo->LCDInfo & LCDNonExpanding)) { +if (yres ==350 ) + yres =357 ; +else if (yres ==400 ) + yres =420 ; +else if (yres ==480 ) + yres =525 ; } } } - -if (xres ==720 ) - xres =640 ; } +if (xres ==720 ) + xres =640 ; + +exit: pVBInfo->VGAHDE = xres; pVBInfo->HDE = xres; pVBInfo->VGAVDE = yres;
Signature · 1 line
1.7.9.5
PATCH v2 15/19 Staging: xgifb: Rework conditions in XGI_SetLockRegs().
In reply to Miguel GómezRework some conditions to reduce indentation and fix style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-)
drivers/staging/xgifb/vb_setmode.c +10 -18
@@ -4039,24 +4039,16 @@ static void XGI_SetLockRegs(unsigned short ModeNo, unsigned short ModeIdIndex, }if (pVBInfo->VBInfo & SetCRT2ToHiVision) { -if (pVBInfo->VBType &VB_SIS301LV ) { -if (pVBInfo->TVInfo & TVSetHiVision) { - tempbx -=10 ; - }else { -if (pVBInfo->TVInfo & TVSimuMode) { -if (pVBInfo->TVInfo & TVSetPAL) { -if (pVBInfo->VBType & -VB_SIS301LV ) { -if (!(pVBInfo->TVInfo & - (TVSetYPbPr525p | - TVSetYPbPr750p | - TVSetHiVision))) - tempbx +=40 ; - }else { - tempbx +=40 ; - } - } - } +if ((pVBInfo->VBType &VB_SIS301LV ) && + !(pVBInfo->TVInfo & TVSetHiVision)) { +if ((pVBInfo->TVInfo & TVSimuMode) && + (pVBInfo->TVInfo & TVSetPAL)) { +if (!(pVBInfo->VBType &VB_SIS301LV ) || + !(pVBInfo->TVInfo & + (TVSetYPbPr525p | + TVSetYPbPr750p | + TVSetHiVision))) + tempbx +=40 ; } }else { tempbx -=10 ;
Signature · 1 line
1.7.9.5
PATCH v2 16/19 Staging: xgifb: Rework conditions in XGI_EnableBridge().
In reply to Miguel GómezRework some conditions to reduce indentation and fix style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 44 +++++++++++++++--------------------- 1 file changed, 18 insertions(+), 26 deletions(-)
drivers/staging/xgifb/vb_setmode.c +18 -26
@@ -6472,32 +6472,24 @@ static void XGI_EnableBridge(struct xgifb_video_info *xgifb_info,if (!(pVBInfo->VBInfo & DisableCRT2Display)) { tempah =0xc0 ; -if (!(pVBInfo->VBInfo & SetSimuScanMode)) { -if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) { -if (pVBInfo->VBInfo & - SetCRT2ToDualEdge) { - tempah = tempah &0x40 ; -if (pVBInfo->VBInfo & - XGI_SetCRT2ToLCDA) - tempah = tempah ^0xC0 ; - -if (pVBInfo->SetFlag & - DisableChB) - tempah &=0xBF ; - -if (pVBInfo->SetFlag & - DisableChA) - tempah &=0x7F ; - -if (pVBInfo->SetFlag & - EnableChB) - tempah |=0x40 ; - -if (pVBInfo->SetFlag & - EnableChA) - tempah |=0x80 ; - } - } +if (!(pVBInfo->VBInfo & SetSimuScanMode) && + (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) && + (pVBInfo->VBInfo & SetCRT2ToDualEdge)) { + tempah = tempah &0x40 ; +if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) + tempah = tempah ^0xC0 ; + +if (pVBInfo->SetFlag & DisableChB) + tempah &=0xBF ; + +if (pVBInfo->SetFlag & DisableChA) + tempah &=0x7F ; + +if (pVBInfo->SetFlag & EnableChB) + tempah |=0x40 ; + +if (pVBInfo->SetFlag & EnableChA) + tempah |=0x80 ; } }
Signature · 1 line
1.7.9.5
PATCH v2 17/19 Staging: xgifb: Rework some conditions in XGI_SetCRT2ModeRegs().
In reply to Miguel GómezRework some conditions to reduce indentation and fix style warnings.
--- drivers/staging/xgifb/vb_setmode.c | 83 ++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 47 deletions(-)
drivers/staging/xgifb/vb_setmode.c +36 -47
@@ -5990,60 +5990,49 @@ static void XGI_SetCRT2ModeRegs(unsigned short ModeNo, tempah =0x08 ; tempbl =0xf0 ; -if (pVBInfo->VBInfo & DisableCRT2Display) { -xgifb_reg_and_or (pVBInfo->Part1Port,0x2e , tempbl, tempah); - }else { - tempah =0x00 ; - tempbl =0xff ; +if (pVBInfo->VBInfo & DisableCRT2Display) + goto reg_and_or; -if (pVBInfo->VBInfo & (SetCRT2ToRAMDAC | SetCRT2ToTV - | SetCRT2ToLCD | XGI_SetCRT2ToLCDA)) { -if ((pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) && - (!(pVBInfo->VBInfo & SetSimuScanMode))) { - tempbl &=0xf7 ; - tempah |=0x01 ; -xgifb_reg_and_or (pVBInfo->Part1Port,0x2e , - tempbl, tempah); - }else { -if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) { - tempbl &=0xf7 ; - tempah |=0x01 ; - } + tempah =0x00 ; + tempbl =0xff ; -if (pVBInfo->VBInfo & - (SetCRT2ToRAMDAC | - SetCRT2ToTV | - SetCRT2ToLCD)) { - tempbl &=0xf8 ; - tempah =0x01 ; +if (!(pVBInfo->VBInfo & (SetCRT2ToRAMDAC | SetCRT2ToTV | + SetCRT2ToLCD | XGI_SetCRT2ToLCDA))) + goto reg_and_or; -if (!(pVBInfo->VBInfo & SetInSlaveMode)) - tempah |=0x02 ; +if ((pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) && + (!(pVBInfo->VBInfo & SetSimuScanMode))) { + tempbl &=0xf7 ; + tempah |=0x01 ; + goto reg_and_or; + } -if (!(pVBInfo->VBInfo & - SetCRT2ToRAMDAC)) { - tempah = tempah ^0x05 ; -if (!(pVBInfo->VBInfo & - SetCRT2ToLCD)) - tempah = tempah ^0x01 ; - } +if (pVBInfo->VBInfo & XGI_SetCRT2ToLCDA) { + tempbl &=0xf7 ; + tempah |=0x01 ; + } -if (!(pVBInfo->VBInfo & - SetCRT2ToDualEdge)) - tempah |=0x08 ; -xgifb_reg_and_or (pVBInfo->Part1Port, -0x2e , tempbl, tempah); - }else { -xgifb_reg_and_or (pVBInfo->Part1Port, -0x2e , tempbl, tempah); - } - } - }else { -xgifb_reg_and_or (pVBInfo->Part1Port,0x2e , tempbl, - tempah); - } +if (!(pVBInfo->VBInfo & (SetCRT2ToRAMDAC | SetCRT2ToTV | SetCRT2ToLCD))) + goto reg_and_or; + + tempbl &=0xf8 ; + tempah =0x01 ; + +if (!(pVBInfo->VBInfo & SetInSlaveMode)) + tempah |=0x02 ; + +if (!(pVBInfo->VBInfo & SetCRT2ToRAMDAC)) { + tempah = tempah ^0x05 ; +if (!(pVBInfo->VBInfo & SetCRT2ToLCD)) + tempah = tempah ^0x01 ; } +if (!(pVBInfo->VBInfo & SetCRT2ToDualEdge)) + tempah |=0x08 ; + +reg_and_or: +xgifb_reg_and_or (pVBInfo->Part1Port,0x2e , tempbl, tempah); +if (pVBInfo->VBInfo & (SetCRT2ToRAMDAC | SetCRT2ToTV | SetCRT2ToLCD | XGI_SetCRT2ToLCDA)) { tempah &= (~0x08 );
Signature · 1 line
1.7.9.5
PATCH v2 18/19 Staging: xgifb: Fix coding style.
In reply to Miguel GómezFix small coding style warnings in several files.
--- drivers/staging/xgifb/XGI_main_26.c | 3 +- drivers/staging/xgifb/vb_init.c | 3 +- drivers/staging/xgifb/vb_setmode.c | 59 +++++++++++++++++++++-------------- drivers/staging/xgifb/vb_table.h | 30 ++++++++++++------ 4 files changed, 58 insertions(+), 37 deletions(-)
drivers/staging/xgifb/XGI_main_26.c +2 -1
@@ -590,7 +590,8 @@ static u8 XGIfb_search_refresh_rate(struct xgifb_video_info *xgifb_info, <= 2) && (XGIfb_vrate[i].idx != 1)) {pr_debug ("Adjusting rate from %d down to %d\n" , - rate, XGIfb_vrate[i-1 ].refresh); + rate, + XGIfb_vrate[i-1 ].refresh); xgifb_info->rate_idx = XGIfb_vrate[i -1 ].idx; xgifb_info->refresh_rate =
drivers/staging/xgifb/vb_init.c +1 -2
@@ -1042,9 +1042,8 @@ static void XGINew_ChkSenseStatus(struct xgi_hw_device_info *HwDeviceExtension,if (tempbx & tempcx) { CR3CData =xgifb_reg_get (pVBInfo->P3d4,0x3c ); -if (!(CR3CData & DisplayDeviceFromCMOS)) { +if (!(CR3CData & DisplayDeviceFromCMOS)) tempcx =0x1FF0 ; - } }else { tempcx =0x1FF0 ; }
drivers/staging/xgifb/vb_setmode.c +35 -24
144 lines not on this page · raw message
drivers/staging/xgifb/vb_table.h +20 -10
@@ -1838,9 +1838,12 @@ static struct XGI330_LCDDataTablStruct XGI_LCDDataTable[] = { {Panel_1024x768x75, 0x0019, 0x0001, 12}, /* XGI_ExtLCD1024x768x75Data */ {Panel_1024x768x75, 0x0019, 0x0000, 13}, /* XGI_StLCD1024x768x75Data */ {Panel_1024x768x75, 0x0018, 0x0010, 14}, /* XGI_CetLCD1024x768x75Data */ - {Panel_1280x1024x75, 0x0019, 0x0001, 15}, /* XGI_ExtLCD1280x1024x75Data*/ - {Panel_1280x1024x75, 0x0019, 0x0000, 16}, /* XGI_StLCD1280x1024x75Data */ - {Panel_1280x1024x75, 0x0018, 0x0010, 17}, /* XGI_CetLCD1280x1024x75Data*/ +/* 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 */ };
@@ -1859,9 +1862,12 @@ static struct XGI330_LCDDataTablStruct XGI_LCDDesDataTable[] = { {Panel_1600x1200, 0x0019, 0x0001, 10}, /* XGI_ExtLCDDes1600x1200Data */ {Panel_1600x1200, 0x0019, 0x0000, 11}, /* XGI_StLCDDes1600x1200Data */ {PanelRef60Hz, 0x0008, 0x0008, 12}, /* XGI_NoScalingDesData */ - {Panel_1024x768x75, 0x0019, 0x0001, 13}, /*XGI_ExtLCDDes1024x768x75Data*/ - {Panel_1024x768x75, 0x0019, 0x0000, 14}, /* XGI_StLCDDes1024x768x75Data*/ - {Panel_1024x768x75, 0x0018, 0x0010, 15}, /*XGI_CetLCDDes1024x768x75Data*/ +/* 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 */
@@ -1898,8 +1904,10 @@ static struct XGI330_LCDDataTablStruct XGI_EPLLCDDataPtr[] = { {PanelRef60Hz, 0x0008, 0x0008, 7}, /* XGI_LVDSNoScalingData */ {Panel_1024x768x75, 0x0018, 0x0000, 8}, /* XGI_LVDS1024x768Data_1x75 */ {Panel_1024x768x75, 0x0018, 0x0010, 9}, /* XGI_LVDS1024x768Data_2x75 */ - {Panel_1280x1024x75, 0x0018, 0x0000, 10}, /* XGI_LVDS1280x1024Data_1x75*/ - {Panel_1280x1024x75, 0x0018, 0x0010, 11}, /*XGI_LVDS1280x1024Data_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} };
@@ -1917,8 +1925,10 @@ static struct XGI330_LCDDataTablStruct XGI_EPLLCDDesDataPtr[] = { {Panel_1024x768x75, 0x0018, 0x0000, 9}, /* XGI_LVDS1024x768Des_1x75 */ {Panel_1024x768x75, 0x0618, 0x0410, 10}, /* XGI_LVDS1024x768Des_3x75 */ {Panel_1024x768x75, 0x0018, 0x0010, 11}, /* XGI_LVDS1024x768Des_2x75 */ - {Panel_1280x1024x75, 0x0018, 0x0000, 12}, /* XGI_LVDS1280x1024Des_1x75 */ - {Panel_1280x1024x75, 0x0018, 0x0010, 13}, /* XGI_LVDS1280x1024Des_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} };
Signature · 1 line
1.7.9.5
PATCH v2 19/19 Staging: xgifb: Remove useless condition.
In reply to Miguel GómezRemove last if branch in XGIfb_do_set_var(), as it has no action assigned.
--- drivers/staging/xgifb/XGI_main_26.c | 2 -- 1 file changed, 2 deletions(-)
drivers/staging/xgifb/XGI_main_26.c +0 -2
@@ -973,8 +973,6 @@ static int XGIfb_do_set_var(struct fb_var_screeninfo *var, int isactive, vtotal <<=1 ; else if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_DOUBLE) vtotal <<= 2; - else if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) { - }if (!htotal || !vtotal) {pr_debug ("Invalid 'var' information\n" );
Signature · 1 line
1.7.9.5