lkml.org 
[lkml]   [2012]   [Jul]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 13/19 v2] Staging: xgifb: Rework conditions in XGI_GetVBInfo().
    Date
    Rework some conditions to reduce indentation and fix style warnings.

    Signed-off-by: Miguel Gómez <magomez@igalia.com>
    ---
    drivers/staging/xgifb/vb_setmode.c | 287 ++++++++++++++++++------------------
    1 file changed, 142 insertions(+), 145 deletions(-)

    diff --git a/drivers/staging/xgifb/vb_setmode.c b/drivers/staging/xgifb/vb_setmode.c
    index 251145e..9dfc2de 100644
    --- a/drivers/staging/xgifb/vb_setmode.c
    +++ b/drivers/staging/xgifb/vb_setmode.c
    @@ -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;
    --
    1.7.9.5
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2012-07-06 15:41    [W:3.871 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site