aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/xgifb/vb_init.c
diff options
context:
space:
mode:
authorAaro Koskinen <aaro.koskinen@iki.fi>2011-10-11 14:47:16 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-10-12 11:51:45 -0400
commit6048d761d23958218ea0e67decafdfac81aed663 (patch)
treee6382110975e1652ac6efab035d37fba4103d50d /drivers/staging/xgifb/vb_init.c
parentc62f2e466f875a5eedb4d4f52115c3e7d1cb52f6 (diff)
staging: xgifb: inline XGIfb_query_VGA_config_space()
XGIfb_query_VGA_config_space() is used only once during the init and can be replaced with a single PCI configuration space read. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/xgifb/vb_init.c')
-rw-r--r--drivers/staging/xgifb/vb_init.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/staging/xgifb/vb_init.c b/drivers/staging/xgifb/vb_init.c
index ce5bf6839cf..b6178b498e2 100644
--- a/drivers/staging/xgifb/vb_init.c
+++ b/drivers/staging/xgifb/vb_init.c
@@ -1,5 +1,7 @@
1#include <linux/types.h> 1#include <linux/types.h>
2#include <linux/delay.h> /* udelay */ 2#include <linux/delay.h> /* udelay */
3#include <linux/pci.h>
4
3#include "vgatypes.h" 5#include "vgatypes.h"
4#include "XGIfb.h" 6#include "XGIfb.h"
5 7
@@ -1427,8 +1429,10 @@ static unsigned char GetXG27FPBits(struct vb_device_info *pVBInfo)
1427 return temp; 1429 return temp;
1428} 1430}
1429 1431
1430unsigned char XGIInitNew(struct xgi_hw_device_info *HwDeviceExtension) 1432unsigned char XGIInitNew(struct pci_dev *pdev)
1431{ 1433{
1434 struct video_info *xgifb_info = pci_get_drvdata(pdev);
1435 struct xgi_hw_device_info *HwDeviceExtension = &xgifb_info->hw_info;
1432 struct vb_device_info VBINF; 1436 struct vb_device_info VBINF;
1433 struct vb_device_info *pVBInfo = &VBINF; 1437 struct vb_device_info *pVBInfo = &VBINF;
1434 unsigned char i, temp = 0, temp1; 1438 unsigned char i, temp = 0, temp1;
@@ -1437,8 +1441,6 @@ unsigned char XGIInitNew(struct xgi_hw_device_info *HwDeviceExtension)
1437 1441
1438 /* unsigned long j, k; */ 1442 /* unsigned long j, k; */
1439 1443
1440 unsigned long Temp;
1441
1442 pVBInfo->ROMAddr = HwDeviceExtension->pjVirtualRomBase; 1444 pVBInfo->ROMAddr = HwDeviceExtension->pjVirtualRomBase;
1443 1445
1444 pVBInfo->FBAddr = HwDeviceExtension->pjVideoMemoryAddress; 1446 pVBInfo->FBAddr = HwDeviceExtension->pjVideoMemoryAddress;
@@ -1578,6 +1580,8 @@ unsigned char XGIInitNew(struct xgi_hw_device_info *HwDeviceExtension)
1578 printk("12"); 1580 printk("12");
1579 1581
1580 if (HwDeviceExtension->jChipType < XG20) { /* kuku 2004/06/25 */ 1582 if (HwDeviceExtension->jChipType < XG20) { /* kuku 2004/06/25 */
1583 u32 Temp;
1584
1581 /* Set AGP Rate */ 1585 /* Set AGP Rate */
1582 /* 1586 /*
1583 temp1 = xgifb_reg_get(pVBInfo->P3c4, 0x3B); 1587 temp1 = xgifb_reg_get(pVBInfo->P3c4, 0x3B);
@@ -1644,10 +1648,7 @@ unsigned char XGIInitNew(struct xgi_hw_device_info *HwDeviceExtension)
1644 /* if (ChipsetID == 0x25308086) */ 1648 /* if (ChipsetID == 0x25308086) */
1645 /* xgifb_reg_set(pVBInfo->P3d4, 0x77, 0xF0); */ 1649 /* xgifb_reg_set(pVBInfo->P3d4, 0x77, 0xF0); */
1646 1650
1647 HwDeviceExtension->pQueryVGAConfigSpace(HwDeviceExtension, 1651 pci_read_config_dword(pdev, 0x50, &Temp);
1648 0x50,
1649 0,
1650 &Temp); /* Get */
1651 Temp >>= 20; 1652 Temp >>= 20;
1652 Temp &= 0xF; 1653 Temp &= 0xF;
1653 1654