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)
This commit is contained in:
Andrew Gallatin 2001-05-31 21:47:25 +00:00
parent c678bc4f13
commit 6dc5259a6c
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=77543
2 changed files with 3 additions and 12 deletions

View file

@ -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

View file

@ -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) {