diff options
author | gallatin <gallatin@FreeBSD.org> | 2001-05-31 21:47:25 +0000 |
---|---|---|
committer | gallatin <gallatin@FreeBSD.org> | 2001-05-31 21:47:25 +0000 |
commit | 70b10bbd043a07adcf94a4ba01570dca45cb0aea (patch) | |
tree | 311c12edf3114cc9068dd1b74cbf6b48999a9487 /sys | |
parent | 66a9685e9fa6a8f647f4e59527d056aeb4942fb6 (diff) | |
download | FreeBSD-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.c | 9 | ||||
-rw-r--r-- | sys/dev/pci/pci.c | 6 |
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) { |