staging: xgifb: refactor XGI_BridgeIsOn()
Refactor XGI_BridgeIsOn(). IF_DEF_LVDS bit is not valid for < XG20 chips. Also we can make the function static by moving it to vb_init. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
1e4db2b325
commit
c976c7819b
|
@ -1185,6 +1185,14 @@ static unsigned char GetXG27FPBits(struct vb_device_info *pVBInfo)
|
||||||
return temp;
|
return temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool xgifb_bridge_is_on(struct vb_device_info *vb_info)
|
||||||
|
{
|
||||||
|
u8 flag;
|
||||||
|
|
||||||
|
flag = xgifb_reg_get(vb_info->Part4Port, 0x00);
|
||||||
|
return flag == 1 || flag == 2;
|
||||||
|
}
|
||||||
|
|
||||||
unsigned char XGIInitNew(struct pci_dev *pdev)
|
unsigned char XGIInitNew(struct pci_dev *pdev)
|
||||||
{
|
{
|
||||||
struct xgifb_video_info *xgifb_info = pci_get_drvdata(pdev);
|
struct xgifb_video_info *xgifb_info = pci_get_drvdata(pdev);
|
||||||
|
@ -1321,7 +1329,7 @@ unsigned char XGIInitNew(struct pci_dev *pdev)
|
||||||
xgifb_reg_set(pVBInfo->P3c4, 0x33, XGI330_SR33);
|
xgifb_reg_set(pVBInfo->P3c4, 0x33, XGI330_SR33);
|
||||||
|
|
||||||
if (HwDeviceExtension->jChipType < XG20) {
|
if (HwDeviceExtension->jChipType < XG20) {
|
||||||
if (XGI_BridgeIsOn(pVBInfo) == 1) {
|
if (xgifb_bridge_is_on(pVBInfo)) {
|
||||||
xgifb_reg_set(pVBInfo->Part2Port, 0x00, 0x1C);
|
xgifb_reg_set(pVBInfo->Part2Port, 0x00, 0x1C);
|
||||||
xgifb_reg_set(pVBInfo->Part4Port,
|
xgifb_reg_set(pVBInfo->Part4Port,
|
||||||
0x0D, XGI330_CRT2Data_4_D);
|
0x0D, XGI330_CRT2Data_4_D);
|
||||||
|
|
|
@ -5290,21 +5290,6 @@ void XGI_LockCRT2(struct xgi_hw_device_info *HwDeviceExtension,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char XGI_BridgeIsOn(struct vb_device_info *pVBInfo)
|
|
||||||
{
|
|
||||||
unsigned short flag;
|
|
||||||
|
|
||||||
if (pVBInfo->IF_DEF_LVDS == 1) {
|
|
||||||
return 1;
|
|
||||||
} else {
|
|
||||||
flag = xgifb_reg_get(pVBInfo->Part4Port, 0x00);
|
|
||||||
if ((flag == 1) || (flag == 2))
|
|
||||||
return 1; /* 301b */
|
|
||||||
else
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned short XGI_GetRatePtrCRT2(struct xgi_hw_device_info *pXGIHWDE,
|
unsigned short XGI_GetRatePtrCRT2(struct xgi_hw_device_info *pXGIHWDE,
|
||||||
unsigned short ModeNo, unsigned short ModeIdIndex,
|
unsigned short ModeNo, unsigned short ModeIdIndex,
|
||||||
struct vb_device_info *pVBInfo)
|
struct vb_device_info *pVBInfo)
|
||||||
|
|
|
@ -18,7 +18,6 @@ extern unsigned char XGISetModeNew(struct xgifb_video_info *xgifb_info,
|
||||||
extern unsigned char XGI_SearchModeID(unsigned short ModeNo,
|
extern unsigned char XGI_SearchModeID(unsigned short ModeNo,
|
||||||
unsigned short *ModeIdIndex,
|
unsigned short *ModeIdIndex,
|
||||||
struct vb_device_info *);
|
struct vb_device_info *);
|
||||||
extern unsigned char XGI_BridgeIsOn(struct vb_device_info *);
|
|
||||||
extern unsigned short XGI_GetRatePtrCRT2(struct xgi_hw_device_info *pXGIHWDE,
|
extern unsigned short XGI_GetRatePtrCRT2(struct xgi_hw_device_info *pXGIHWDE,
|
||||||
unsigned short ModeNo,
|
unsigned short ModeNo,
|
||||||
unsigned short ModeIdIndex,
|
unsigned short ModeIdIndex,
|
||||||
|
|
Loading…
Reference in New Issue