summaryrefslogtreecommitdiffstats
path: root/sys/sparc64/pci/psycho.c
diff options
context:
space:
mode:
authortmm <tmm@FreeBSD.org>2002-12-06 13:16:52 +0000
committertmm <tmm@FreeBSD.org>2002-12-06 13:16:52 +0000
commit3036bdcf9beb740c8bafae2b18c785736eb70ff1 (patch)
tree7baffe4fbb1d044d303e9e3abc9d804bb6a478a8 /sys/sparc64/pci/psycho.c
parente008bfac8f005993754d4bf92901329c9ad54ff3 (diff)
downloadFreeBSD-src-3036bdcf9beb740c8bafae2b18c785736eb70ff1.zip
FreeBSD-src-3036bdcf9beb740c8bafae2b18c785736eb70ff1.tar.gz
Exclude yet more interrupt mapping registers from the OBIO INO search,
namely the ones for the timers, error handling and power management. The registers for the timers, power management and PCI bus b errors are reserved on Sabres (US-IIi) and can lead to false matches there. Since all of them are never used for devices on the bus, they can be omitted safely. Approved by: re
Diffstat (limited to 'sys/sparc64/pci/psycho.c')
-rw-r--r--sys/sparc64/pci/psycho.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/sparc64/pci/psycho.c b/sys/sparc64/pci/psycho.c
index 79e2f09..939018e 100644
--- a/sys/sparc64/pci/psycho.c
+++ b/sys/sparc64/pci/psycho.c
@@ -580,7 +580,7 @@ psycho_attach(device_t dev)
PSYCHO_WRITE8(sc, map, INTMAP_ENABLE(mr, PCPU_GET(mid)));
}
for (map = PSR_SCSI_INT_MAP, clr = PSR_SCSI_INT_CLR, n = 0;
- map < PSR_FFB0_INT_MAP; map += 8, clr += 8, n++) {
+ map <= PSR_SERIAL_INT_MAP; map += 8, clr += 8, n++) {
mr = PSYCHO_READ8(sc, map);
#ifdef PSYCHO_DEBUG
device_printf(dev, "intr map (obio) %d: %#lx, clr: %#lx\n", n,
@@ -674,7 +674,7 @@ psycho_find_intrmap(struct psycho_softc *sc, int ino, bus_addr_t *intrmapptr,
/* Hunt thru obio first */
diag = PSYCHO_READ8(sc, PSR_OBIO_INT_DIAG);
for (intrmap = PSR_SCSI_INT_MAP, intrclr = PSR_SCSI_INT_CLR;
- intrmap < PSR_FFB0_INT_MAP; intrmap += 8, intrclr += 8,
+ intrmap <= PSR_SERIAL_INT_MAP; intrmap += 8, intrclr += 8,
diag >>= 2) {
im = PSYCHO_READ8(sc, intrmap);
if (INTINO(im) == ino) {
OpenPOWER on IntegriCloud