summaryrefslogtreecommitdiff
path: root/hw/xfree86
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xfree86')
-rw-r--r--hw/xfree86/common/xf86pciBus.c76
-rw-r--r--hw/xfree86/common/xf86str.h1
-rw-r--r--hw/xfree86/os-support/bus/xf86Pci.h1
-rw-r--r--hw/xfree86/scanpci/xf86PciData.h10
-rw-r--r--hw/xfree86/scanpci/xf86ScanPci.c62
5 files changed, 10 insertions, 140 deletions
diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
index 8fa199872..ef75fdd4a 100644
--- a/hw/xfree86/common/xf86pciBus.c
+++ b/hw/xfree86/common/xf86pciBus.c
@@ -67,8 +67,6 @@ ScanPciSetupProcPtr xf86SetupPciIds = NULL;
ScanPciCloseProcPtr xf86ClosePciIds = NULL;
ScanPciFindByDeviceProcPtr xf86FindPciNamesByDevice = NULL;
ScanPciFindBySubsysProcPtr xf86FindPciNamesBySubsys = NULL;
-ScanPciFindClassBySubsysProcPtr xf86FindPciClassBySubsys = NULL;
-ScanPciFindClassByDeviceProcPtr xf86FindPciClassByDevice = NULL;
static resPtr pciAvoidRes = NULL;
@@ -148,7 +146,6 @@ static PciBusPtr xf86PciBus = NULL;
#define PV_I_RANGE(range,pvp,i,type) \
P_I_RANGE(range,TAG(pvp),pvp->ioBase[i],pvp->size[i],type)
-static void getPciClassFlags(pciConfigPtr *pcrpp);
static void pciConvertListToHost(int bus, int dev, int func, resPtr list);
static PciBusPtr xf86GetPciBridgeInfo(void);
@@ -199,25 +196,17 @@ FindPCIVideoInfo(void)
if (xf86IsolateDevice.bus || xf86IsolateDevice.device || xf86IsolateDevice.func)
DoIsolateDeviceCheck = 1;
pcrpp = xf86PciInfo = xf86scanpci(0);
- getPciClassFlags(pcrpp);
+
if (pcrpp == NULL) {
xf86PciVideoInfo = NULL;
return;
}
xf86PciBus = xf86GetPciBridgeInfo();
-
+
while ((pcrp = pcrpp[i])) {
- int baseclass;
- int subclass;
-
- if (pcrp->listed_class & 0xffff) {
- baseclass = (pcrp->listed_class >> 8) & 0xff;
- subclass = pcrp->listed_class & 0xff;
- } else {
- baseclass = pcrp->pci_base_class;
- subclass = pcrp->pci_sub_class;
- }
+ const int baseclass = pcrp->pci_base_class;
+ const int subclass = pcrp->pci_sub_class;
if (PCIINFOCLASSES(baseclass, subclass) &&
(DoIsolateDeviceCheck ?
@@ -357,7 +346,6 @@ FindPCIVideoInfo(void)
}
}
}
- info->listed_class = pcrp->listed_class;
}
i++;
}
@@ -958,15 +946,9 @@ xf86GetPciRes(resPtr *activeRes, resPtr *inactiveRes)
for (pcrpp = xf86PciInfo, pcrp = *pcrpp; pcrp; pcrp = *++(pcrpp)) {
resPtr *res;
- CARD8 baseclass, subclass;
-
- if (pcrp->listed_class & 0x0ffff) {
- baseclass = pcrp->listed_class >> 8;
- subclass = pcrp->listed_class;
- } else {
- baseclass = pcrp->pci_base_class;
- subclass = pcrp->pci_sub_class;
- }
+ const CARD8 baseclass = pcrp->pci_base_class;
+ const CARD8 subclass = pcrp->pci_sub_class;
+
if (PCIINFOCLASSES(baseclass, subclass))
continue;
@@ -1662,17 +1644,11 @@ xf86PciProbe(void)
(ScanPciFindByDeviceProcPtr)LoaderSymbol("ScanPciFindPciNamesByDevice");
xf86FindPciNamesBySubsys =
(ScanPciFindBySubsysProcPtr)LoaderSymbol("ScanPciFindPciNamesBySubsys");
- xf86FindPciClassBySubsys =
- (ScanPciFindClassBySubsysProcPtr)LoaderSymbol("ScanPciFindPciClassBySubsys");
- xf86FindPciClassByDevice =
- (ScanPciFindClassByDeviceProcPtr)LoaderSymbol("ScanPciFindPciClassByDevice");
#else
xf86SetupPciIds = ScanPciSetupPciIds;
xf86ClosePciIds = ScanPciClosePciIds;
xf86FindPciNamesByDevice = ScanPciFindPciNamesByDevice;
xf86FindPciNamesBySubsys = ScanPciFindPciNamesBySubsys;
- xf86FindPciClassBySubsys = ScanPciFindPciClassBySubsys;
- xf86FindPciClassByDevice = ScanPciFindPciClassByDevice;
#endif
if (!xf86SetupPciIds())
@@ -1739,11 +1715,9 @@ xf86GetPciBridgeInfo(void)
for (pcrpp = xf86PciInfo, pcrp = *pcrpp; pcrp; pcrp = *(++pcrpp)) {
if (pcrp->busnum > MaxBus)
MaxBus = pcrp->busnum;
- if ((pcrp->pci_base_class == PCI_CLASS_BRIDGE) ||
- (((pcrp->listed_class >> 8) & 0xff) == PCI_CLASS_BRIDGE)) {
- int sub_class;
- sub_class = (pcrp->listed_class & 0xffff) ?
- (pcrp->listed_class & 0xff) : pcrp->pci_sub_class;
+ if ( pcrp->pci_base_class == PCI_CLASS_BRIDGE ) {
+ const int sub_class = pcrp->pci_sub_class;
+
domain = xf86GetPciDomain(pcrp->tag);
switch (sub_class) {
@@ -3248,36 +3222,6 @@ xf86CheckPciSlot(int bus, int device, int func)
/*
- * This used to load the scanpci module. The pcidata module is now used
- * (which the server always loads early). The main difference between the
- * two modules is size, and the scanpci module should only ever be loaded
- * when the X server is run with the -scanpci flag.
- *
- * To make sure that the required information is present in the pcidata
- * module, add a PCI_VENDOR_* macro for the relevant vendor to xf86PciInfo.h,
- * and add the class override data to ../etc/extrapci.ids.
- */
-
-static void
-getPciClassFlags(pciConfigPtr *pcrpp)
-{
- pciConfigPtr pcrp;
- int i = 0;
-
- if (!pcrpp)
- return;
- while ((pcrp = pcrpp[i])) {
- if (!(pcrp->listed_class =
- xf86FindPciClassBySubsys(pcrp->pci_subsys_vendor,
- pcrp->pci_subsys_card))) {
- pcrp->listed_class =
- xf86FindPciClassByDevice(pcrp->pci_vendor, pcrp->pci_device);
- }
- i++;
- }
-}
-
-/*
* xf86FindPciVendorDevice() xf86FindPciClass(): These functions
* are meant to be used by the pci bios emulation. Some bioses
* need to see if there are _other_ chips of the same type around
diff --git a/hw/xfree86/common/xf86str.h b/hw/xfree86/common/xf86str.h
index b939282ee..a4f351661 100644
--- a/hw/xfree86/common/xf86str.h
+++ b/hw/xfree86/common/xf86str.h
@@ -447,7 +447,6 @@ typedef struct {
pointer thisCard;
Bool validSize;
Bool validate;
- CARD32 listed_class;
} pciVideoRec, *pciVideoPtr;
typedef struct {
diff --git a/hw/xfree86/os-support/bus/xf86Pci.h b/hw/xfree86/os-support/bus/xf86Pci.h
index a8b7ef492..bd6b300e8 100644
--- a/hw/xfree86/os-support/bus/xf86Pci.h
+++ b/hw/xfree86/os-support/bus/xf86Pci.h
@@ -659,7 +659,6 @@ typedef struct pci_device {
pciCfgSpc cfgspc;
int basesize[7]; /* number of bits in base addr allocations */
Bool minBasesize;
- CARD32 listed_class;
pointer businfo; /* pointer to secondary's bus info structure */
Bool fakeDevice; /* Device added by system chipset support */
} pciDevice, *pciConfigPtr;
diff --git a/hw/xfree86/scanpci/xf86PciData.h b/hw/xfree86/scanpci/xf86PciData.h
index 0533d78ec..7cc81b755 100644
--- a/hw/xfree86/scanpci/xf86PciData.h
+++ b/hw/xfree86/scanpci/xf86PciData.h
@@ -48,10 +48,6 @@ typedef int (*ScanPciFindByDeviceProcPtr)(
typedef int (*ScanPciFindBySubsysProcPtr)(
unsigned short svendor, unsigned short subsys,
const char **svname, const char **sname);
-typedef CARD32 (*ScanPciFindClassBySubsysProcPtr)(
- unsigned short vendor, unsigned short subsystem);
-typedef CARD32 (*ScanPciFindClassByDeviceProcPtr)(
- unsigned short vendor, unsigned short device);
/*
* Whoever loads this module needs to define these and initialise them
@@ -61,8 +57,6 @@ extern ScanPciSetupProcPtr xf86SetupPciIds;
extern ScanPciCloseProcPtr xf86ClosePciIds;
extern ScanPciFindByDeviceProcPtr xf86FindPciNamesByDevice;
extern ScanPciFindBySubsysProcPtr xf86FindPciNamesBySubsys;
-extern ScanPciFindClassBySubsysProcPtr xf86FindPciClassBySubsys;
-extern ScanPciFindClassByDeviceProcPtr xf86FindPciClassByDevice;
Bool ScanPciSetupPciIds(void);
void ScanPciClosePciIds(void);
@@ -72,9 +66,5 @@ int ScanPciFindPciNamesByDevice(unsigned short vendor, unsigned short device,
const char **svname, const char **sname);
int ScanPciFindPciNamesBySubsys(unsigned short svendor, unsigned short subsys,
const char **svname, const char **sname);
-CARD32 ScanPciFindPciClassBySubsys(unsigned short vendor,
- unsigned short subsystem);
-CARD32 ScanPciFindPciClassByDevice(unsigned short vendor,
- unsigned short device);
#endif
diff --git a/hw/xfree86/scanpci/xf86ScanPci.c b/hw/xfree86/scanpci/xf86ScanPci.c
index d321a5b79..8c897bd20 100644
--- a/hw/xfree86/scanpci/xf86ScanPci.c
+++ b/hw/xfree86/scanpci/xf86ScanPci.c
@@ -75,16 +75,6 @@
#include "xf86PciIds.h"
#include "xf86ScanPci.h"
-/*
- * PCI classes that have messages printed always. The others are only
- * have a message printed when the vendor/dev IDs are recognised.
- */
-#define PCIALWAYSPRINTCLASSES(b,s) \
- (((b) == PCI_CLASS_PREHISTORIC && (s) == PCI_SUBCLASS_PREHISTORIC_VGA) || \
- ((b) == PCI_CLASS_DISPLAY) || \
- ((b) == PCI_CLASS_MULTIMEDIA && (s) == PCI_SUBCLASS_MULTIMEDIA_VIDEO))
-
-
#ifdef XFree86LOADER
#include "xf86Module.h"
@@ -272,58 +262,6 @@ ScanPciFindPciNamesBySubsys(unsigned short svendor, unsigned short subsys,
return 0;
}
-CARD32
-ScanPciFindPciClassBySubsys(unsigned short vendor, unsigned short subsys)
-{
- int i, j;
- const pciSubsystemInfo **pSub;
-
- if (vendor == NOVENDOR || subsys == NOSUBSYS)
- return 0;
-
- for (i = 0; pciVendorSubsysInfoList[i].VendorName; i++) {
- if (vendor == pciVendorSubsysInfoList[i].VendorID) {
- pSub = pciVendorSubsysInfoList[i].Subsystem;
- if (!pSub) {
- return 0;
- }
- for (j = 0; pSub[j]; j++) {
- if (subsys == pSub[j]->SubsystemID) {
- return pSub[j]->class;
- }
- }
- break;
- }
- }
- return 0;
-}
-
-CARD32
-ScanPciFindPciClassByDevice(unsigned short vendor, unsigned short device)
-{
- int i, j;
- const pciDeviceInfo **pDev;
-
- if (vendor == NOVENDOR || device == NODEVICE)
- return 0;
-
- for (i = 0; pciVendorInfoList[i].VendorName; i++) {
- if (vendor == pciVendorInfoList[i].VendorID) {
- pDev = pciVendorInfoList[i].Device;
- if (!pDev) {
- return 0;
- }
- for (j = 0; pDev[j]; j++) {
- if (device == pDev[j]->DeviceID) {
- return pDev[j]->class;
- }
- }
- break;
- }
- }
- return 0;
-}
-
#ifndef PCIDATA
void
ScanPciDisplayPCICardInfo(int verbosity)