* [PATCH] staging: xgifb: correct the multiple line dereference to fix coding stye errors @ 2017-02-21 17:19 Arushi Singhal 2017-02-21 17:40 ` [Outreachy kernel] " Julia Lawall 0 siblings, 1 reply; 6+ messages in thread From: Arushi Singhal @ 2017-02-21 17:19 UTC (permalink / raw) To: arnaud.patard; +Cc: Greg Kroah-Hartman, devel, linux-kernel, outreachy-kernel Error was reported by checkpatch.pl as WARNING: Avoid multiple line dereference... if there is boolean operator then it is fixed by Splitting line at boolean operator. Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com> --- drivers/staging/xgifb/XGI_main_26.c | 15 +++++---------- drivers/staging/xgifb/vb_setmode.c | 19 +++++++------------ 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/drivers/staging/xgifb/XGI_main_26.c b/drivers/staging/xgifb/XGI_main_26.c index 6930f7eb741b..4fd9bfafccc5 100644 --- a/drivers/staging/xgifb/XGI_main_26.c +++ b/drivers/staging/xgifb/XGI_main_26.c @@ -880,28 +880,23 @@ static void XGIfb_post_setmode(struct xgifb_video_info *xgifb_info) if ((filter >= 0) && (filter <= 7)) { pr_debug("FilterTable[%d]-%d: %*ph\n", filter_tb, filter, - 4, XGI_TV_filter[filter_tb]. - filter[filter]); + 4, XGI_TV_filter[filter_tb].filter[filter]); xgifb_reg_set( XGIPART2, 0x35, - (XGI_TV_filter[filter_tb]. - filter[filter][0])); + (XGI_TV_filter[filter_tb].filter[filter][0])); xgifb_reg_set( XGIPART2, 0x36, - (XGI_TV_filter[filter_tb]. - filter[filter][1])); + (XGI_TV_filter[filter_tb].filter[filter][1])); xgifb_reg_set( XGIPART2, 0x37, - (XGI_TV_filter[filter_tb]. - filter[filter][2])); + (XGI_TV_filter[filter_tb].filter[filter][2])); xgifb_reg_set( XGIPART2, 0x38, - (XGI_TV_filter[filter_tb]. - filter[filter][3])); + (XGI_TV_filter[filter_tb].filter[filter][3])); } } } diff --git a/drivers/staging/xgifb/vb_setmode.c b/drivers/staging/xgifb/vb_setmode.c index 7c7c8c8f1df3..00f1ae3adcda 100644 --- a/drivers/staging/xgifb/vb_setmode.c +++ b/drivers/staging/xgifb/vb_setmode.c @@ -221,8 +221,7 @@ static unsigned char XGI_AjustCRT2Rate(unsigned short ModeIdIndex, for (; XGI330_RefIndex[RefreshRateTableIndex + (*i)].ModeID == tempbx; (*i)--) { - infoflag = XGI330_RefIndex[RefreshRateTableIndex + (*i)]. - Ext_InfoFlag; + infoflag = XGI330_RefIndex[RefreshRateTableIndex + (*i)].Ext_InfoFlag; if (infoflag & tempax) return 1; @@ -231,8 +230,7 @@ static unsigned char XGI_AjustCRT2Rate(unsigned short ModeIdIndex, } for ((*i) = 0;; (*i)++) { - infoflag = XGI330_RefIndex[RefreshRateTableIndex + (*i)]. - Ext_InfoFlag; + infoflag = XGI330_RefIndex[RefreshRateTableIndex + (*i)].Ext_InfoFlag; if (XGI330_RefIndex[RefreshRateTableIndex + (*i)].ModeID != tempbx) { return 0; @@ -654,8 +652,8 @@ static void XGI_UpdateXG21CRTC(unsigned short ModeNo, (XGI330_RefIndex[RefreshRateTableIndex].Ext_CRT1CRTC == RES640x480x60)) index = 12; - else if (ModeNo == 0x2E && (XGI330_RefIndex[RefreshRateTableIndex]. - Ext_CRT1CRTC == RES640x480x72)) + else if (ModeNo == 0x2E && (XGI330_RefIndex[RefreshRateTableIndex].Ext_CRT1CRTC == + RES640x480x72)) index = 13; else if (ModeNo == 0x2F) index = 14; @@ -5092,8 +5090,7 @@ unsigned short XGI_GetRatePtrCRT2(struct xgi_hw_device_info *pXGIHWDE, i = 0; do { - if (XGI330_RefIndex[RefreshRateTableIndex + i]. - ModeID != ModeNo) + if (XGI330_RefIndex[RefreshRateTableIndex + i].ModeID != ModeNo) break; temp = XGI330_RefIndex[RefreshRateTableIndex + i].Ext_InfoFlag; temp &= ModeTypeMask; @@ -5105,8 +5102,7 @@ unsigned short XGI_GetRatePtrCRT2(struct xgi_hw_device_info *pXGIHWDE, } while (index != 0xFFFF); if (!(pVBInfo->VBInfo & SetCRT2ToRAMDAC)) { if (pVBInfo->VBInfo & SetInSlaveMode) { - temp = XGI330_RefIndex[RefreshRateTableIndex + i - 1]. - Ext_InfoFlag; + temp = XGI330_RefIndex[RefreshRateTableIndex + i - 1].Ext_InfoFlag; if (temp & InterlaceMode) i++; } @@ -5483,8 +5479,7 @@ unsigned char XGISetModeNew(struct xgifb_video_info *xgifb_info, ModeIdIndex)) return 0; - pVBInfo->ModeType = XGI330_EModeIDTable[ModeIdIndex]. - Ext_ModeFlag & ModeTypeMask; + pVBInfo->ModeType = XGI330_EModeIDTable[ModeIdIndex].Ext_ModeFlag & ModeTypeMask; pVBInfo->SetFlag = 0; pVBInfo->VBInfo = DisableCRT2Display; -- 2.11.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Outreachy kernel] [PATCH] staging: xgifb: correct the multiple line dereference to fix coding stye errors 2017-02-21 17:19 [PATCH] staging: xgifb: correct the multiple line dereference to fix coding stye errors Arushi Singhal @ 2017-02-21 17:40 ` Julia Lawall 2017-02-21 18:42 ` Joe Perches 0 siblings, 1 reply; 6+ messages in thread From: Julia Lawall @ 2017-02-21 17:40 UTC (permalink / raw) To: Arushi Singhal Cc: arnaud.patard, Greg Kroah-Hartman, devel, linux-kernel, outreachy-kernel On Tue, 21 Feb 2017, Arushi Singhal wrote: > Error was reported by checkpatch.pl as > WARNING: Avoid multiple line dereference... > if there is boolean operator then it is fixed by Splitting line at > boolean operator. This is massively execeeding the 80 character boundary, and not for something trivial like a string. Maybe the code can be reorganized in some other way. julia > > Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com> > --- > drivers/staging/xgifb/XGI_main_26.c | 15 +++++---------- > drivers/staging/xgifb/vb_setmode.c | 19 +++++++------------ > 2 files changed, 12 insertions(+), 22 deletions(-) > > diff --git a/drivers/staging/xgifb/XGI_main_26.c b/drivers/staging/xgifb/XGI_main_26.c > index 6930f7eb741b..4fd9bfafccc5 100644 > --- a/drivers/staging/xgifb/XGI_main_26.c > +++ b/drivers/staging/xgifb/XGI_main_26.c > @@ -880,28 +880,23 @@ static void XGIfb_post_setmode(struct xgifb_video_info *xgifb_info) > if ((filter >= 0) && (filter <= 7)) { > pr_debug("FilterTable[%d]-%d: %*ph\n", > filter_tb, filter, > - 4, XGI_TV_filter[filter_tb]. > - filter[filter]); > + 4, XGI_TV_filter[filter_tb].filter[filter]); > xgifb_reg_set( > XGIPART2, > 0x35, > - (XGI_TV_filter[filter_tb]. > - filter[filter][0])); > + (XGI_TV_filter[filter_tb].filter[filter][0])); > xgifb_reg_set( > XGIPART2, > 0x36, > - (XGI_TV_filter[filter_tb]. > - filter[filter][1])); > + (XGI_TV_filter[filter_tb].filter[filter][1])); > xgifb_reg_set( > XGIPART2, > 0x37, > - (XGI_TV_filter[filter_tb]. > - filter[filter][2])); > + (XGI_TV_filter[filter_tb].filter[filter][2])); > xgifb_reg_set( > XGIPART2, > 0x38, > - (XGI_TV_filter[filter_tb]. > - filter[filter][3])); > + (XGI_TV_filter[filter_tb].filter[filter][3])); > } > } > } > diff --git a/drivers/staging/xgifb/vb_setmode.c b/drivers/staging/xgifb/vb_setmode.c > index 7c7c8c8f1df3..00f1ae3adcda 100644 > --- a/drivers/staging/xgifb/vb_setmode.c > +++ b/drivers/staging/xgifb/vb_setmode.c > @@ -221,8 +221,7 @@ static unsigned char XGI_AjustCRT2Rate(unsigned short ModeIdIndex, > > for (; XGI330_RefIndex[RefreshRateTableIndex + (*i)].ModeID == > tempbx; (*i)--) { > - infoflag = XGI330_RefIndex[RefreshRateTableIndex + (*i)]. > - Ext_InfoFlag; > + infoflag = XGI330_RefIndex[RefreshRateTableIndex + (*i)].Ext_InfoFlag; > if (infoflag & tempax) > return 1; > > @@ -231,8 +230,7 @@ static unsigned char XGI_AjustCRT2Rate(unsigned short ModeIdIndex, > } > > for ((*i) = 0;; (*i)++) { > - infoflag = XGI330_RefIndex[RefreshRateTableIndex + (*i)]. > - Ext_InfoFlag; > + infoflag = XGI330_RefIndex[RefreshRateTableIndex + (*i)].Ext_InfoFlag; > if (XGI330_RefIndex[RefreshRateTableIndex + (*i)].ModeID > != tempbx) { > return 0; > @@ -654,8 +652,8 @@ static void XGI_UpdateXG21CRTC(unsigned short ModeNo, > (XGI330_RefIndex[RefreshRateTableIndex].Ext_CRT1CRTC == > RES640x480x60)) > index = 12; > - else if (ModeNo == 0x2E && (XGI330_RefIndex[RefreshRateTableIndex]. > - Ext_CRT1CRTC == RES640x480x72)) > + else if (ModeNo == 0x2E && (XGI330_RefIndex[RefreshRateTableIndex].Ext_CRT1CRTC == > + RES640x480x72)) > index = 13; > else if (ModeNo == 0x2F) > index = 14; > @@ -5092,8 +5090,7 @@ unsigned short XGI_GetRatePtrCRT2(struct xgi_hw_device_info *pXGIHWDE, > > i = 0; > do { > - if (XGI330_RefIndex[RefreshRateTableIndex + i]. > - ModeID != ModeNo) > + if (XGI330_RefIndex[RefreshRateTableIndex + i].ModeID != ModeNo) > break; > temp = XGI330_RefIndex[RefreshRateTableIndex + i].Ext_InfoFlag; > temp &= ModeTypeMask; > @@ -5105,8 +5102,7 @@ unsigned short XGI_GetRatePtrCRT2(struct xgi_hw_device_info *pXGIHWDE, > } while (index != 0xFFFF); > if (!(pVBInfo->VBInfo & SetCRT2ToRAMDAC)) { > if (pVBInfo->VBInfo & SetInSlaveMode) { > - temp = XGI330_RefIndex[RefreshRateTableIndex + i - 1]. > - Ext_InfoFlag; > + temp = XGI330_RefIndex[RefreshRateTableIndex + i - 1].Ext_InfoFlag; > if (temp & InterlaceMode) > i++; > } > @@ -5483,8 +5479,7 @@ unsigned char XGISetModeNew(struct xgifb_video_info *xgifb_info, > ModeIdIndex)) > return 0; > > - pVBInfo->ModeType = XGI330_EModeIDTable[ModeIdIndex]. > - Ext_ModeFlag & ModeTypeMask; > + pVBInfo->ModeType = XGI330_EModeIDTable[ModeIdIndex].Ext_ModeFlag & ModeTypeMask; > > pVBInfo->SetFlag = 0; > pVBInfo->VBInfo = DisableCRT2Display; > -- > 2.11.0 > > -- > You received this message because you are subscribed to the Google Groups "outreachy-kernel" group. > To unsubscribe from this group and stop receiving emails from it, send an email to outreachy-kernel+unsubscribe@googlegroups.com. > To post to this group, send email to outreachy-kernel@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/msgid/outreachy-kernel/20170221171920.GA18917%40arushi-HP-Pavilion-Notebook. > For more options, visit https://groups.google.com/d/optout. > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Outreachy kernel] [PATCH] staging: xgifb: correct the multiple line dereference to fix coding stye errors 2017-02-21 17:40 ` [Outreachy kernel] " Julia Lawall @ 2017-02-21 18:42 ` Joe Perches 0 siblings, 0 replies; 6+ messages in thread From: Joe Perches @ 2017-02-21 18:42 UTC (permalink / raw) To: Julia Lawall, Arushi Singhal Cc: arnaud.patard, Greg Kroah-Hartman, devel, linux-kernel, outreachy-kernel On Tue, 2017-02-21 at 18:40 +0100, Julia Lawall wrote: > > On Tue, 21 Feb 2017, Arushi Singhal wrote: > > > Error was reported by checkpatch.pl as > > WARNING: Avoid multiple line dereference... > > if there is boolean operator then it is fixed by Splitting line at > > boolean operator. > > This is massively execeeding the 80 character boundary, and not for > something trivial like a string. Maybe the code can be reorganized in > some other way. The easiest way to do that is to change the test above it to reduce indentation from if (xgifb_info->display2 == XGIFB_DISP_TV && xgifb_info->hasVB == HASVB_301) { [code...]; } } to if (xgifb_info->display2 != XGIFB_DISP_TV || xgifb_in fo->hasVB != HASVB_301) return; [code...]; } ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Outreachy kernel] [PATCH] staging: xgifb: correct the multiple line dereference to fix coding stye errors @ 2017-02-21 18:42 ` Joe Perches 0 siblings, 0 replies; 6+ messages in thread From: Joe Perches @ 2017-02-21 18:42 UTC (permalink / raw) To: Julia Lawall, Arushi Singhal Cc: arnaud.patard, Greg Kroah-Hartman, devel, linux-kernel, outreachy-kernel On Tue, 2017-02-21 at 18:40 +0100, Julia Lawall wrote: > > On Tue, 21 Feb 2017, Arushi Singhal wrote: > > > Error was reported by checkpatch.pl as > > WARNING: Avoid multiple line dereference... > > if there is boolean operator then it is fixed by Splitting line at > > boolean operator. > > This is massively execeeding the 80 character boundary, and not for > something trivial like a string. Maybe the code can be reorganized in > some other way. The easiest way to do that is to change the test above it to reduce indentation from if (xgifb_info->display2 == XGIFB_DISP_TV && ����xgifb_info->hasVB == HASVB_301) { [code...]; } } to if (xgifb_info->display2 != XGIFB_DISP_TV || ����xgifb_in fo->hasVB != HASVB_301) return; [code...]; } ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Outreachy kernel] [PATCH] staging: xgifb: correct the multiple line dereference to fix coding stye errors 2017-02-21 18:42 ` Joe Perches (?) @ 2017-02-22 4:16 ` Arushi Singhal 2017-02-22 4:33 ` Joe Perches -1 siblings, 1 reply; 6+ messages in thread From: Arushi Singhal @ 2017-02-22 4:16 UTC (permalink / raw) To: Joe Perches Cc: Julia Lawall, arnaud.patard, Greg Kroah-Hartman, devel, linux-kernel, outreachy-kernel [-- Attachment #1: Type: text/plain, Size: 1075 bytes --] On Wed, Feb 22, 2017 at 12:12 AM, Joe Perches <joe@perches.com> wrote: > On Tue, 2017-02-21 at 18:40 +0100, Julia Lawall wrote: > > > > On Tue, 21 Feb 2017, Arushi Singhal wrote: > > > > > Error was reported by checkpatch.pl as > > > WARNING: Avoid multiple line dereference... > > > if there is boolean operator then it is fixed by Splitting line at > > > boolean operator. > > > > This is massively execeeding the 80 character boundary, and not for > > something trivial like a string. Maybe the code can be reorganized in > > some other way. > > The easiest way to do that is to change the test above it > to reduce indentation from > > if (xgifb_info->display2 == XGIFB_DISP_TV && > xgifb_info->hasVB == HASVB_301) { > [code...]; > } > } > > to > > if (xgifb_info->display2 != XGIFB_DISP_TV || > xgifb_in > fo->hasVB != HASVB_301) > return; > > [code...]; > } > > Hi So basically you are saying that cut one word and put the other part of the word in the next line. Thanks Arushi [-- Attachment #2: Type: text/html, Size: 1855 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Outreachy kernel] [PATCH] staging: xgifb: correct the multiple line dereference to fix coding stye errors 2017-02-22 4:16 ` Arushi Singhal @ 2017-02-22 4:33 ` Joe Perches 0 siblings, 0 replies; 6+ messages in thread From: Joe Perches @ 2017-02-22 4:33 UTC (permalink / raw) To: Arushi Singhal Cc: Julia Lawall, arnaud.patard, Greg Kroah-Hartman, devel, linux-kernel, outreachy-kernel [-- Attachment #1: Type: text/plain, Size: 1684 bytes --] On Wed, 2017-02-22 at 09:46 +0530, Arushi Singhal wrote: > On Wed, Feb 22, 2017 at 12:12 AM, Joe Perches <joe@perches.com> wrote: > > > On Tue, 2017-02-21 at 18:40 +0100, Julia Lawall wrote: > > > > > > On Tue, 21 Feb 2017, Arushi Singhal wrote: > > > > > > > Error was reported by checkpatch.pl as > > > > WARNING: Avoid multiple line dereference... > > > > if there is boolean operator then it is fixed by Splitting line at > > > > boolean operator. > > > > > > This is massively execeeding the 80 character boundary, and not for > > > something trivial like a string. Maybe the code can be reorganized in > > > some other way. > > > > The easiest way to do that is to change the test above it > > to reduce indentation from > > > > if (xgifb_info->display2 == XGIFB_DISP_TV && > > xgifb_info->hasVB == HASVB_301) { > > [code...]; > > } > > } > > > > to > > > > if (xgifb_info->display2 != XGIFB_DISP_TV || > > xgifb_in > > fo->hasVB != HASVB_301) > > return; > > > > [code...]; > > } > > > > > > Hi > So basically you are saying that cut one word and put the other part of the > word in the next line. No, evolution is a horrible email client that wraps lines oddly sometimes and sends out different content than it displays in its on-screen editor. What I am saying is the block after the test can be unindented one level by inverting the test and using return. It should be: if (xgifb_info->display2 != XGIFB_DISP_TV || xgifb_in> > fo->hasVB != HASVB_301) return; [code...]; I sent you a separate attachment privately a few hours ago but I'll attach it here too. [-- Attachment #2: foo.diff --] [-- Type: text/x-patch, Size: 7434 bytes --] drivers/staging/xgifb/XGI_main_26.c | 256 +++++++++++++----------------------- 1 file changed, 92 insertions(+), 164 deletions(-) diff --git a/drivers/staging/xgifb/XGI_main_26.c b/drivers/staging/xgifb/XGI_main_26.c index 6930f7eb741b..0df7fb2b8892 100644 --- a/drivers/staging/xgifb/XGI_main_26.c +++ b/drivers/staging/xgifb/XGI_main_26.c @@ -731,179 +731,107 @@ static void XGIfb_post_setmode(struct xgifb_video_info *xgifb_info) xgifb_reg_and(XGISR, IND_SIS_RAMDAC_CONTROL, ~0x04); - if (xgifb_info->display2 == XGIFB_DISP_TV && - xgifb_info->hasVB == HASVB_301) { - reg = xgifb_reg_get(XGIPART4, 0x01); + if (xgifb_info->display2 != XGIFB_DISP_TV || + xgifb_info->hasVB != HASVB_301) + return; - if (reg < 0xB0) { /* Set filter for XGI301 */ - int filter_tb; + reg = xgifb_reg_get(XGIPART4, 0x01); + if (reg < 0xB0) { /* Set filter for XGI301 */ + int filter_tb; - switch (xgifb_info->video_width) { - case 320: - filter_tb = (xgifb_info->TV_type == - TVMODE_NTSC) ? 4 : 12; - break; - case 640: - filter_tb = (xgifb_info->TV_type == - TVMODE_NTSC) ? 5 : 13; - break; - case 720: - filter_tb = (xgifb_info->TV_type == - TVMODE_NTSC) ? 6 : 14; - break; - case 800: - filter_tb = (xgifb_info->TV_type == - TVMODE_NTSC) ? 7 : 15; - break; - default: - filter_tb = 0; - filter = -1; - break; - } - xgifb_reg_or(XGIPART1, - SIS_CRT2_WENABLE_315, - 0x01); + switch (xgifb_info->video_width) { + case 320: + filter_tb = xgifb_info->TV_type == TVMODE_NTSC ? 4 : 12; + break; + case 640: + filter_tb = xgifb_info->TV_type == TVMODE_NTSC ? 5 : 13; + break; + case 720: + filter_tb = xgifb_info->TV_type == TVMODE_NTSC ? 6 : 14; + break; + case 800: + filter_tb = xgifb_info->TV_type == TVMODE_NTSC ? 7 : 15; + break; + default: + filter_tb = 0; + filter = -1; + break; + } + xgifb_reg_or(XGIPART1, SIS_CRT2_WENABLE_315, 0x01); - if (xgifb_info->TV_type == TVMODE_NTSC) { - xgifb_reg_and(XGIPART2, 0x3a, 0x1f); - - if (xgifb_info->TV_plug == TVPLUG_SVIDEO) { - xgifb_reg_and(XGIPART2, 0x30, 0xdf); - - } else if (xgifb_info->TV_plug - == TVPLUG_COMPOSITE) { - xgifb_reg_or(XGIPART2, 0x30, 0x20); - - switch (xgifb_info->video_width) { - case 640: - xgifb_reg_set(XGIPART2, - 0x35, - 0xEB); - xgifb_reg_set(XGIPART2, - 0x36, - 0x04); - xgifb_reg_set(XGIPART2, - 0x37, - 0x25); - xgifb_reg_set(XGIPART2, - 0x38, - 0x18); - break; - case 720: - xgifb_reg_set(XGIPART2, - 0x35, - 0xEE); - xgifb_reg_set(XGIPART2, - 0x36, - 0x0C); - xgifb_reg_set(XGIPART2, - 0x37, - 0x22); - xgifb_reg_set(XGIPART2, - 0x38, - 0x08); - break; - case 800: - xgifb_reg_set(XGIPART2, - 0x35, - 0xEB); - xgifb_reg_set(XGIPART2, - 0x36, - 0x15); - xgifb_reg_set(XGIPART2, - 0x37, - 0x25); - xgifb_reg_set(XGIPART2, - 0x38, - 0xF6); - break; - } - } + if (xgifb_info->TV_type == TVMODE_NTSC) { + xgifb_reg_and(XGIPART2, 0x3a, 0x1f); - } else if (xgifb_info->TV_type == TVMODE_PAL) { - xgifb_reg_and(XGIPART2, 0x3A, 0x1F); - - if (xgifb_info->TV_plug == TVPLUG_SVIDEO) { - xgifb_reg_and(XGIPART2, 0x30, 0xDF); - - } else if (xgifb_info->TV_plug - == TVPLUG_COMPOSITE) { - xgifb_reg_or(XGIPART2, 0x30, 0x20); - - switch (xgifb_info->video_width) { - case 640: - xgifb_reg_set(XGIPART2, - 0x35, - 0xF1); - xgifb_reg_set(XGIPART2, - 0x36, - 0xF7); - xgifb_reg_set(XGIPART2, - 0x37, - 0x1F); - xgifb_reg_set(XGIPART2, - 0x38, - 0x32); - break; - case 720: - xgifb_reg_set(XGIPART2, - 0x35, - 0xF3); - xgifb_reg_set(XGIPART2, - 0x36, - 0x00); - xgifb_reg_set(XGIPART2, - 0x37, - 0x1D); - xgifb_reg_set(XGIPART2, - 0x38, - 0x20); - break; - case 800: - xgifb_reg_set(XGIPART2, - 0x35, - 0xFC); - xgifb_reg_set(XGIPART2, - 0x36, - 0xFB); - xgifb_reg_set(XGIPART2, - 0x37, - 0x14); - xgifb_reg_set(XGIPART2, - 0x38, - 0x2A); - break; - } + if (xgifb_info->TV_plug == TVPLUG_SVIDEO) { + xgifb_reg_and(XGIPART2, 0x30, 0xdf); + + } else if (xgifb_info->TV_plug == TVPLUG_COMPOSITE) { + xgifb_reg_or(XGIPART2, 0x30, 0x20); + + switch (xgifb_info->video_width) { + case 640: + xgifb_reg_set(XGIPART2, 0x35, 0xEB); + xgifb_reg_set(XGIPART2, 0x36, 0x04); + xgifb_reg_set(XGIPART2, 0x37, 0x25); + xgifb_reg_set(XGIPART2, 0x38, 0x18); + break; + case 720: + xgifb_reg_set(XGIPART2, 0x35, 0xEE); + xgifb_reg_set(XGIPART2, 0x36, 0x0C); + xgifb_reg_set(XGIPART2, 0x37, 0x22); + xgifb_reg_set(XGIPART2, 0x38, 0x08); + break; + case 800: + xgifb_reg_set(XGIPART2, 0x35, 0xEB); + xgifb_reg_set(XGIPART2, 0x36, 0x15); + xgifb_reg_set(XGIPART2, 0x37, 0x25); + xgifb_reg_set(XGIPART2, 0x38, 0xF6); + break; } } - if ((filter >= 0) && (filter <= 7)) { - pr_debug("FilterTable[%d]-%d: %*ph\n", - filter_tb, filter, - 4, XGI_TV_filter[filter_tb]. - filter[filter]); - xgifb_reg_set( - XGIPART2, - 0x35, - (XGI_TV_filter[filter_tb]. - filter[filter][0])); - xgifb_reg_set( - XGIPART2, - 0x36, - (XGI_TV_filter[filter_tb]. - filter[filter][1])); - xgifb_reg_set( - XGIPART2, - 0x37, - (XGI_TV_filter[filter_tb]. - filter[filter][2])); - xgifb_reg_set( - XGIPART2, - 0x38, - (XGI_TV_filter[filter_tb]. - filter[filter][3])); + } else if (xgifb_info->TV_type == TVMODE_PAL) { + xgifb_reg_and(XGIPART2, 0x3A, 0x1F); + + if (xgifb_info->TV_plug == TVPLUG_SVIDEO) { + xgifb_reg_and(XGIPART2, 0x30, 0xDF); + + } else if (xgifb_info->TV_plug == TVPLUG_COMPOSITE) { + xgifb_reg_or(XGIPART2, 0x30, 0x20); + + switch (xgifb_info->video_width) { + case 640: + xgifb_reg_set(XGIPART2, 0x35, 0xF1); + xgifb_reg_set(XGIPART2, 0x36, 0xF7); + xgifb_reg_set(XGIPART2, 0x37, 0x1F); + xgifb_reg_set(XGIPART2, 0x38, 0x32); + break; + case 720: + xgifb_reg_set(XGIPART2, 0x35, 0xF3); + xgifb_reg_set(XGIPART2, 0x36, 0x00); + xgifb_reg_set(XGIPART2, 0x37, 0x1D); + xgifb_reg_set(XGIPART2, 0x38, 0x20); + break; + case 800: + xgifb_reg_set(XGIPART2, 0x35, 0xFC); + xgifb_reg_set(XGIPART2, 0x36, 0xFB); + xgifb_reg_set(XGIPART2, 0x37, 0x14); + xgifb_reg_set(XGIPART2, 0x38, 0x2A); + break; + } } } + + if (filter >= 0 && filter <= 7) { + const u8 *f = XGI_TV_filter[filter_tb].filter[filter]; + + pr_debug("FilterTable[%d]-%d: %*ph\n", + filter_tb, filter, 4, f); + xgifb_reg_set(XGIPART2, 0x35, f[0]); + xgifb_reg_set(XGIPART2, 0x36, f[1]); + xgifb_reg_set(XGIPART2, 0x37, f[2]); + xgifb_reg_set(XGIPART2, 0x38, f[3]); + } } } ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-02-22 4:33 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-02-21 17:19 [PATCH] staging: xgifb: correct the multiple line dereference to fix coding stye errors Arushi Singhal 2017-02-21 17:40 ` [Outreachy kernel] " Julia Lawall 2017-02-21 18:42 ` Joe Perches 2017-02-21 18:42 ` Joe Perches 2017-02-22 4:16 ` Arushi Singhal 2017-02-22 4:33 ` Joe Perches
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.