Commit 798b4da5 authored by Aaro Koskinen's avatar Aaro Koskinen Committed by Greg Kroah-Hartman

staging: xgifb: vb_setmode: reduce if nesting in XGI_GetVCLK2Ptr()

Eliminate unnecessary nesting levels by rearranging code and conditions.
The resulting code should be still identical.
Signed-off-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 6596fc06
...@@ -1274,77 +1274,55 @@ static unsigned short XGI_GetVCLK2Ptr(unsigned short ModeNo, ...@@ -1274,77 +1274,55 @@ static unsigned short XGI_GetVCLK2Ptr(unsigned short ModeNo,
VCLKIndex = LCDXlat2VCLK[CRT2Index]; VCLKIndex = LCDXlat2VCLK[CRT2Index];
else else
VCLKIndex = LCDXlat1VCLK[CRT2Index]; VCLKIndex = LCDXlat1VCLK[CRT2Index];
} else { /* for TV */ } else if (pVBInfo->VBInfo & SetCRT2ToHiVisionTV) {
if (pVBInfo->VBInfo & SetCRT2ToTV) { if (pVBInfo->SetFlag & RPLLDIV2XO) {
if (pVBInfo->VBInfo & SetCRT2ToHiVisionTV) { VCLKIndex = HiTVVCLKDIV2;
if (pVBInfo->SetFlag & RPLLDIV2XO) { VCLKIndex += 25;
VCLKIndex = HiTVVCLKDIV2; } else {
VCLKIndex += 25; VCLKIndex = HiTVVCLK;
} else { VCLKIndex += 25;
VCLKIndex = HiTVVCLK; }
VCLKIndex += 25;
}
if (pVBInfo->SetFlag & TVSimuMode) {
if (modeflag & Charx8Dot) {
VCLKIndex =
HiTVSimuVCLK;
VCLKIndex += 25;
} else {
VCLKIndex =
HiTVTextVCLK;
VCLKIndex += 25;
}
}
/* 301lv */ if (pVBInfo->SetFlag & TVSimuMode) {
if (pVBInfo->VBType & VB_XGI301LV) { if (modeflag & Charx8Dot) {
if (!(pVBInfo->VBExtInfo == VCLKIndex = HiTVSimuVCLK;
VB_YPbPr1080i)) { VCLKIndex += 25;
VCLKIndex =
YPbPr750pVCLK;
if (!(pVBInfo->VBExtInfo
==
VB_YPbPr750p)) {
VCLKIndex =
YPbPr525pVCLK;
if (!(pVBInfo->VBExtInfo
== VB_YPbPr525p)) {
VCLKIndex
= YPbPr525iVCLK_2;
if (!(pVBInfo->SetFlag
& RPLLDIV2XO))
VCLKIndex
= YPbPr525iVCLK;
}
}
}
}
} else { } else {
if (pVBInfo->VBInfo & SetCRT2ToTV) { VCLKIndex = HiTVTextVCLK;
if (pVBInfo->SetFlag & VCLKIndex += 25;
RPLLDIV2XO) {
VCLKIndex = TVVCLKDIV2;
VCLKIndex += 25;
} else {
VCLKIndex = TVVCLK;
VCLKIndex += 25;
}
}
} }
} else { /* for CRT2 */ }
/* Port 3cch */
VCLKIndex = (unsigned char) inb( /* 301lv */
(pVBInfo->P3ca + 0x02)); if ((pVBInfo->VBType & VB_XGI301LV) &&
VCLKIndex = ((VCLKIndex >> 2) & 0x03); !(pVBInfo->VBExtInfo == VB_YPbPr1080i)) {
if (ModeNo > 0x13) { if (pVBInfo->VBExtInfo == VB_YPbPr750p)
/* di+Ext_CRTVCLK */ VCLKIndex = YPbPr750pVCLK;
VCLKIndex = else if (pVBInfo->VBExtInfo == VB_YPbPr525p)
pVBInfo->RefIndex[ VCLKIndex = YPbPr525pVCLK;
else if (pVBInfo->SetFlag & RPLLDIV2XO)
VCLKIndex = YPbPr525iVCLK_2;
else
VCLKIndex = YPbPr525iVCLK;
}
} else if (pVBInfo->VBInfo & SetCRT2ToTV) {
if (pVBInfo->SetFlag & RPLLDIV2XO) {
VCLKIndex = TVVCLKDIV2;
VCLKIndex += 25;
} else {
VCLKIndex = TVVCLK;
VCLKIndex += 25;
}
} else { /* for CRT2 */
/* Port 3cch */
VCLKIndex = (unsigned char) inb((pVBInfo->P3ca + 0x02));
VCLKIndex = ((VCLKIndex >> 2) & 0x03);
if (ModeNo > 0x13) {
/* di+Ext_CRTVCLK */
VCLKIndex = pVBInfo->RefIndex[
RefreshRateTableIndex]. RefreshRateTableIndex].
Ext_CRTVCLK; Ext_CRTVCLK;
VCLKIndex &= IndexMask; VCLKIndex &= IndexMask;
}
} }
} }
} else { /* LVDS */ } else { /* LVDS */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment