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

staging: xgifb: ReadVBIOSTablData(): avoid duplicating code

If the count (j) is 0xff, just do the loop once.
Signed-off-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 106e7cf3
...@@ -1106,101 +1106,58 @@ static void ReadVBIOSTablData(unsigned char ChipType, ...@@ -1106,101 +1106,58 @@ static void ReadVBIOSTablData(unsigned char ChipType,
pVBInfo->IF_DEF_LVDS = 1; pVBInfo->IF_DEF_LVDS = 1;
i = pVideoMemory[0x316] | (pVideoMemory[0x317] << 8); i = pVideoMemory[0x316] | (pVideoMemory[0x317] << 8);
j = pVideoMemory[i - 1]; j = pVideoMemory[i - 1];
if (j != 0xff) { if (j == 0xff)
k = 0; j = 1;
do { k = 0;
pVBInfo->XG21_LVDSCapList[k]. do {
LVDS_Capability pVBInfo->XG21_LVDSCapList[k].LVDS_Capability
= pVideoMemory[i] |
(pVideoMemory[i + 1] << 8);
pVBInfo->XG21_LVDSCapList[k].LVDSHT
= pVideoMemory[i + 2] |
(pVideoMemory[i + 3] << 8);
pVBInfo->XG21_LVDSCapList[k].LVDSVT
= pVideoMemory[i + 4] |
(pVideoMemory[i + 5] << 8);
pVBInfo->XG21_LVDSCapList[k].LVDSHDE
= pVideoMemory[i + 6] |
(pVideoMemory[i + 7] << 8);
pVBInfo->XG21_LVDSCapList[k].LVDSVDE
= pVideoMemory[i + 8] |
(pVideoMemory[i + 9] << 8);
pVBInfo->XG21_LVDSCapList[k].LVDSHFP
= pVideoMemory[i + 10] |
(pVideoMemory[i + 11] << 8);
pVBInfo->XG21_LVDSCapList[k].LVDSVFP
= pVideoMemory[i + 12] |
(pVideoMemory[i + 13] << 8);
pVBInfo->XG21_LVDSCapList[k].LVDSHSYNC
= pVideoMemory[i + 14] |
(pVideoMemory[i + 15] << 8);
pVBInfo->XG21_LVDSCapList[k].LVDSVSYNC
= pVideoMemory[i + 16] |
(pVideoMemory[i + 17] << 8);
pVBInfo->XG21_LVDSCapList[k].VCLKData1
= pVideoMemory[i + 18];
pVBInfo->XG21_LVDSCapList[k].VCLKData2
= pVideoMemory[i + 19];
pVBInfo->XG21_LVDSCapList[k].PSC_S1
= pVideoMemory[i + 20];
pVBInfo->XG21_LVDSCapList[k].PSC_S2
= pVideoMemory[i + 21];
pVBInfo->XG21_LVDSCapList[k].PSC_S3
= pVideoMemory[i + 22];
pVBInfo->XG21_LVDSCapList[k].PSC_S4
= pVideoMemory[i + 23];
pVBInfo->XG21_LVDSCapList[k].PSC_S5
= pVideoMemory[i + 24];
i += 25;
j--;
k++;
} while ((j > 0) &&
(k < (sizeof(XGI21_LCDCapList) /
sizeof(struct
XGI21_LVDSCapStruct))));
} else {
pVBInfo->XG21_LVDSCapList[0].LVDS_Capability
= pVideoMemory[i] | = pVideoMemory[i] |
(pVideoMemory[i + 1] << 8); (pVideoMemory[i + 1] << 8);
pVBInfo->XG21_LVDSCapList[0].LVDSHT pVBInfo->XG21_LVDSCapList[k].LVDSHT
= pVideoMemory[i + 2] | = pVideoMemory[i + 2] |
(pVideoMemory[i + 3] << 8); (pVideoMemory[i + 3] << 8);
pVBInfo->XG21_LVDSCapList[0].LVDSVT pVBInfo->XG21_LVDSCapList[k].LVDSVT
= pVideoMemory[i + 4] | = pVideoMemory[i + 4] |
(pVideoMemory[i + 5] << 8); (pVideoMemory[i + 5] << 8);
pVBInfo->XG21_LVDSCapList[0].LVDSHDE pVBInfo->XG21_LVDSCapList[k].LVDSHDE
= pVideoMemory[i + 6] | = pVideoMemory[i + 6] |
(pVideoMemory[i + 7] << 8); (pVideoMemory[i + 7] << 8);
pVBInfo->XG21_LVDSCapList[0].LVDSVDE pVBInfo->XG21_LVDSCapList[k].LVDSVDE
= pVideoMemory[i + 8] | = pVideoMemory[i + 8] |
(pVideoMemory[i + 9] << 8); (pVideoMemory[i + 9] << 8);
pVBInfo->XG21_LVDSCapList[0].LVDSHFP pVBInfo->XG21_LVDSCapList[k].LVDSHFP
= pVideoMemory[i + 10] | = pVideoMemory[i + 10] |
(pVideoMemory[i + 11] << 8); (pVideoMemory[i + 11] << 8);
pVBInfo->XG21_LVDSCapList[0].LVDSVFP pVBInfo->XG21_LVDSCapList[k].LVDSVFP
= pVideoMemory[i + 12] | = pVideoMemory[i + 12] |
(pVideoMemory[i + 13] << 8); (pVideoMemory[i + 13] << 8);
pVBInfo->XG21_LVDSCapList[0].LVDSHSYNC pVBInfo->XG21_LVDSCapList[k].LVDSHSYNC
= pVideoMemory[i + 14] | = pVideoMemory[i + 14] |
(pVideoMemory[i + 15] << 8); (pVideoMemory[i + 15] << 8);
pVBInfo->XG21_LVDSCapList[0].LVDSVSYNC pVBInfo->XG21_LVDSCapList[k].LVDSVSYNC
= pVideoMemory[i + 16] | = pVideoMemory[i + 16] |
(pVideoMemory[i + 17] << 8); (pVideoMemory[i + 17] << 8);
pVBInfo->XG21_LVDSCapList[0].VCLKData1 pVBInfo->XG21_LVDSCapList[k].VCLKData1
= pVideoMemory[i + 18]; = pVideoMemory[i + 18];
pVBInfo->XG21_LVDSCapList[0].VCLKData2 pVBInfo->XG21_LVDSCapList[k].VCLKData2
= pVideoMemory[i + 19]; = pVideoMemory[i + 19];
pVBInfo->XG21_LVDSCapList[0].PSC_S1 pVBInfo->XG21_LVDSCapList[k].PSC_S1
= pVideoMemory[i + 20]; = pVideoMemory[i + 20];
pVBInfo->XG21_LVDSCapList[0].PSC_S2 pVBInfo->XG21_LVDSCapList[k].PSC_S2
= pVideoMemory[i + 21]; = pVideoMemory[i + 21];
pVBInfo->XG21_LVDSCapList[0].PSC_S3 pVBInfo->XG21_LVDSCapList[k].PSC_S3
= pVideoMemory[i + 22]; = pVideoMemory[i + 22];
pVBInfo->XG21_LVDSCapList[0].PSC_S4 pVBInfo->XG21_LVDSCapList[k].PSC_S4
= pVideoMemory[i + 23]; = pVideoMemory[i + 23];
pVBInfo->XG21_LVDSCapList[0].PSC_S5 pVBInfo->XG21_LVDSCapList[k].PSC_S5
= pVideoMemory[i + 24]; = pVideoMemory[i + 24];
} i += 25;
j--;
k++;
} while ((j > 0) &&
(k < (sizeof(XGI21_LCDCapList) /
sizeof(struct
XGI21_LVDSCapStruct))));
} }
} }
} }
......
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