summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorgallatin <gallatin@FreeBSD.org>2001-05-31 21:47:25 +0000
committergallatin <gallatin@FreeBSD.org>2001-05-31 21:47:25 +0000
commit70b10bbd043a07adcf94a4ba01570dca45cb0aea (patch)
tree311c12edf3114cc9068dd1b74cbf6b48999a9487 /sys
parent66a9685e9fa6a8f647f4e59527d056aeb4942fb6 (diff)
downloadFreeBSD-src-70b10bbd043a07adcf94a4ba01570dca45cb0aea.zip
FreeBSD-src-70b10bbd043a07adcf94a4ba01570dca45cb0aea.tar.gz
Backout previous revision. While it fixed many platforms, it broke
all alphas with devices behind ppb's. I'm working on a better solution now. Note that all alphas that use per-platform interrupt mapping are broken again (as they have been for several months)
Diffstat (limited to 'sys')
-rw-r--r--sys/alpha/pci/pcibus.c9
-rw-r--r--sys/dev/pci/pci.c6
2 files changed, 3 insertions, 12 deletions
diff --git a/sys/alpha/pci/pcibus.c b/sys/alpha/pci/pcibus.c
index 58363fa..71a3eb1 100644
--- a/sys/alpha/pci/pcibus.c
+++ b/sys/alpha/pci/pcibus.c
@@ -40,7 +40,6 @@
#include <sys/sysctl.h>
#include <sys/rman.h>
-#include <pci/pcireg.h>
#include <pci/pcivar.h>
#include <machine/chipset.h>
#include <machine/cpuconf.h>
@@ -81,8 +80,6 @@ SYSCTL_LONG(_hw_chipset, OID_AUTO, hae_mask, CTLFLAG_RD, &chipset_hae_mask, 0,
int
alpha_pci_route_interrupt(device_t bus, device_t dev, int pin)
{
- int intline = 255;
-
/*
* Validate requested pin number.
*/
@@ -90,10 +87,8 @@ alpha_pci_route_interrupt(device_t bus, device_t dev, int pin)
return(255);
if (platform.pci_intr_route)
- intline = platform.pci_intr_route(bus, dev, pin);
- if (intline == 255)
- intline = pci_read_config(dev, PCIR_INTLINE, 1);
- return intline;
+ return(platform.pci_intr_route(bus, dev, pin));
+ return(255);
}
#ifdef DEV_ISA
diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c
index c4b2951..3da4d29 100644
--- a/sys/dev/pci/pci.c
+++ b/sys/dev/pci/pci.c
@@ -1207,11 +1207,7 @@ pci_alloc_resource(device_t dev, device_t child, int type, int *rid,
* If device doesn't have an interrupt routed, and is deserving of
* an interrupt, try to assign it one.
*/
- if ((type == SYS_RES_IRQ)
-#ifndef __alpha__
- && (cfg->intline == 255) && (cfg->intpin != 0)
-#endif
- ) {
+ if ((type == SYS_RES_IRQ) && (cfg->intline == 255) && (cfg->intpin != 0)) {
cfg->intline = PCIB_ROUTE_INTERRUPT(device_get_parent(dev), child,
cfg->intpin);
if (cfg->intline != 255) {
OpenPOWER on IntegriCloud