Subject: aic7xxx still missing interrupt on poweredge 4200
To: None <current-users@netbsd.org>
From: Geoffrey Lee <glee@bluesat.unsw.edu.au>
List: current-users
Date: 07/26/2004 15:16:47
--TB36FDmn/VVEgNH/
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi all.


I've had problems with the aic7xxx card missing an interrupt on a 
dual processor poweredge 4200.  Unfortunately, this is still the case
with the latest -current.

It seems it misses interrupts so it then thinks that it hasn't received a 
reply from the card and it dumps the card register state.

However, while running in uniprocessor mode, it works.  In SMP mode it
fails.  I suspect this may be an APIC problem.

Unfortunately, the box is old enough not to have ACPI so unfortunately
I cannot try that ...

I've attached a dmesg of it while running in SMP mode with the card dumping
state.  this is NetBSD 2.0_BETA (I took this on the serial console last time)
but I've checked and it is still the same with the latest -current.

Any help on how to fix this (or that it cannot be fixed ...) would be 
appreciated.  In a previous life it ran redhat linux (2.4.x) in SMP mode, so it
must have worked somehow ...

	-- geoff.

--TB36FDmn/VVEgNH/
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=dmesg

> boot -v
booting hd0a:netbsd (howto 0x20000)
3060432+86284+1011816 [205248+182055]=0x457ce8
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 2.0_BETA (SHINOBU.MP) #11: Wed Jun  9 00:58:22 HKT 2004
        root@shinobu.wychk.org:/sys/arch/i386/compile/obj/SHINOBU.MP
total memory = 127 MB
avail memory = 120 MB
BIOS32 rev. 0 found at 0xf7770
mainbus0 (root)
mainbus0: scanning 0x9fc00 to 0x9fff0 for MP signature
mainbus0: scanning 0x9f800 to 0x9fbf0 for MP signature
mainbus0: scanning 0xf0000 to 0xffff0 for MP signature
mainbus0: MP floating pointer found in bios at 0xfdbd0
mainbus0: MP config table at 0x9fd50, 260 bytes long
mainbus0: Intel MP Specification (Version 1.4) (DELL     POWEREDGE   )
cpu0 at mainbus0: apid 1 (boot processor)
cpu0: Intel Pentium II (686-class), 332.41 MHz, id 0x651
cpu0: features 183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features 183fbff<PGE,MCA,CMOV,PAT,PSE36,MMX>
cpu0: features 183fbff<FXSR>
cpu0: I-cache 16 KB 32b/line 4-way, D-cache 16 KB 32b/line 4-way
cpu0: L2 cache 512 KB 32b/line 4-way
cpu0: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
cpu0: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
cpu0: calibrating local timer
cpu0: apic clock running at 66 MHz
cpu0: 32 page colors
cpu0: kstack at 0xc4093000 for 16384 bytes
cpu0: idle pcb at 0xc4093000, idle sp at 0xc4096f98
cpu1 at mainbus0: apid 0 (application processor)
cpu1: starting
cpu1: Intel Pentium II (686-class), 332.39 MHz, id 0x651
cpu1: features 183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu1: features 183fbff<PGE,MCA,CMOV,PAT,PSE36,MMX>
cpu1: features 183fbff<FXSR>
cpu1: I-cache 16 KB 32b/line 4-way, D-cache 16 KB 32b/line 4-way
cpu1: L2 cache 512 KB 32b/line 4-way
cpu1: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
cpu1: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
cpu1: kstack at 0xc4120000 for 16384 bytes
cpu1: idle pcb at 0xc4120000, idle sp at 0xc4123f98
mpbios: bus 0 is type PCI
mpbios: bus 1 is type PCI
mpbios: bus 2 is type EISA
ioapic0 at mainbus0 apid 2 (I/O APIC)
ioapic0: pa 0xfec00000, virtual wire mode, version 11, 16 pins
ioapic0: int0 attached to ExtINT (type 3<type=3=ExtINT> flags 5<pol=1=Act Hi,trig=1=Edge>)
ioapic0: int1 attached to eisa2 EISA irq 1 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int2 attached to eisa2 EISA irq 0 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int3 attached to eisa2 EISA irq 3 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int4 attached to eisa2 EISA irq 4 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int5 attached to eisa2 EISA irq 5 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int6 attached to eisa2 EISA irq 6 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int7 attached to eisa2 EISA irq 7 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int8 attached to eisa2 EISA irq 8 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int9 attached to eisa2 EISA irq 9 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int10 attached to eisa2 EISA irq 10 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int11 attached to eisa2 EISA irq 11 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int12 attached to eisa2 EISA irq 12 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int13 attached to eisa2 EISA irq 13 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int14 attached to eisa2 EISA irq 14 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int15 attached to eisa2 EISA irq 15 (type 0<type=0> flags 0<pol=0,trig=0>)
local apic: int0 attached to ExtINT (type 3<type=3=ExtINT> flags 5<pol=1=Act Hi,trig=1=Edge>)
local apic: int1 attached to NMI (type 1<type=1=NMI> flags 5<pol=1=Act Hi,trig=1=Edge>)
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82441FX PCI and Memory Controller (PMC) (rev. 0x02)
ppb0 at pci0 dev 13 function 0: Digital Equipment DECchip 21152 PCI-PCI Bridge (rev. 0x02)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
ahc0 at pci1 dev 10 function 0: Adaptec aic7880 Ultra SCSI adapter
ahc0: interrupting at ioapic0 pin 11 (irq 11)
ahc0: Reading SEEPROM...done.
ahc0: Low byte termination Enabled
ahc0: High byte termination Enabled
ahc0: found 16 SCBs
ahc0: Downloading Sequencer Program... 451 instructions downloaded
ahc0: Features 0x5, Bugs 0x25, Flags 0x481540
ahc0: aic7880: Ultra Wide Channel A, SCSI Id=7, 16/253 SCBs
scsibus0 at ahc0: 16 targets, 8 luns per target
ahc1 at pci1 dev 11 function 0: Adaptec aic7860 Ultra SCSI adapter
ahc1: interrupting at ioapic0 pin 11 (irq 11)
ahc1: Reading SEEPROM...done.
ahc1: Low byte termination enabled
ahc1: found 3 SCBs
ahc1: Downloading Sequencer Program... 462 instructions downloaded
ahc1: Features 0x10101, Bugs 0x35, Flags 0x481540
ahc1: aic7860: Ultra Single Channel A, SCSI Id=7, 3/253 SCBs
scsibus1 at ahc1: 8 targets, 8 luns per target
Realtek Semiconductor 8029 Ethernet (ethernet network) at pci1 dev 13 function 0 not configured
pceb0 at pci0 dev 15 function 0
pceb0: Intel 82375EB/SB PCI-EISA Bridge (PCEB) (rev. 0x15)
fxp0 at pci0 dev 19 function 0: i82558 Ethernet, rev 5
fxp0: interrupting at ioapic0 pin 14 (irq 14)
fxp0: Ethernet address 00:90:27:3a:74:d3
inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 0
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vga1 at pci0 dev 20 function 0: ATI Technologies Mach64 VT (rev. 0x40)
wsdisplay0 at vga1 kbdmux 1
wsmux1: connecting to wsdisplay0
eisa0 at pceb0
eisa0: can't map I/O space for slot 14
eisa0: can't map I/O space for slot 15
isa0 at pceb0
lpt0 at isa0 port 0x378-0x37b irq 7
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
com1: console
pckbc0 at isa0 port 0x60-0x64
pcppi0 at isa0 port 0x61
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
isapnp0: no ISA Plug 'n Play devices found
cpu0: prelint0 700<vector=0,delmode=7,dest=0> 0<target=0>
cpu0: prelint1 400<vector=0,delmode=4,dest=0> 0<target=0>
cpu0: timer0 300c0<vector=c0,delmode=0,masked,dest=0> 0<target=0>
cpu0: pcint0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu0: lint0 10700<vector=0,delmode=7,masked,dest=0> 0<target=0>
cpu0: lint1 400<vector=0,delmode=4,dest=0> 0<target=0>
cpu0: err0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
ioapic0: enabling
ioapic0: int3 1d1<vector=d1,delmode=1,dest=0> 1000000<target=1>
ioapic0: int4 1d0<vector=d0,delmode=1,dest=0> 1000000<target=1>
ioapic0: int6 161<vector=61,delmode=1,dest=0> 1000000<target=1>
ioapic0: int7 190<vector=90,delmode=1,dest=0> 1000000<target=1>
ioapic0: int11 f160<vector=60,delmode=1,pending,actlo,irrpending,level,dest=0> 1000000<target=1>
ioapic0: int14 f170<vector=70,delmode=1,pending,actlo,irrpending,level,dest=0> 1000000<target=1>
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
vinum: loaded
IPsec: Initialized Security Association Processing.
crypto: assign driver 0, flags 2
crypto: driver 0 registers alg 1 flags 0 maxoplen 0
crypto: driver 0 registers alg 2 flags 0 maxoplen 0
crypto: driver 0 registers alg 3 flags 0 maxoplen 0
crypto: driver 0 registers alg 4 flags 0 maxoplen 0
crypto: driver 0 registers alg 5 flags 0 maxoplen 0
crypto: driver 0 registers alg 17 flags 0 maxoplen 0
crypto: driver 0 registers alg 6 flags 0 maxoplen 0
crypto: driver 0 registers alg 7 flags 0 maxoplen 0
crypto: driver 0 registers alg 15 flags 0 maxoplen 0
crypto: driver 0 registers alg 8 flags 0 maxoplen 0
crypto: driver 0 registers alg 16 flags 0 maxoplen 0
crypto: driver 0 registers alg 9 flags 0 maxoplen 0
crypto: driver 0 registers alg 10 flags 0 maxoplen 0
crypto: driver 0 registers alg 13 flags 0 maxoplen 0
crypto: driver 0 registers alg 14 flags 0 maxoplen 0
crypto: driver 0 registers alg 11 flags 0 maxoplen 0
crypto: driver 0 registers alg 18 flags 0 maxoplen 0
scsibus0: waiting 2 seconds for devices to settle...
scsibus1: waiting 2 seconds for devices to settle...
ahc0:A:0:0: Ensuring async
(ahc0:A:0:0): Sending WDTR 0
ahc0:SCB 0xf - timed out
>>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<<
ahc0: Dumping Card State in Message-out phase, at SEQADDR 0x172
Card was paused
ACCUM = 0xa0, SINDEX = 0x61, DINDEX = 0xc0, ARG_2 = 0x3
HCNT = 0x0 SCBPTR = 0x0
SCSISIGI[0xb6] ERROR[0x0] SCSIBUSL[0x1] LASTPHASE[0xa0]
SCSISEQ[0x12] SBLKCTL[0x2] SCSIRATE[0x0] SEQCTL[0x10]
SEQ_FLAGS[0x40] SSTAT0[0x7] SSTAT1[0x3] SSTAT2[0x0]
SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xac] SXFRCTL0[0x88]
DFCNTRL[0x4] DFSTATUS[0x6d]
STACK: 0xe7 0x0 0x0 0x19c
SCB count = 16
Kernel NEXTQSCB = 14
Card NEXTQSCB = 14
QINFIFO entries:
Waiting Queue entries:
Disconnected Queue entries:
QOUTFIFO entries:
Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Sequencer SCB Info:
  0 SCB_CONTROL[0x40] SCB_SCSIID[0x7]
SCB_LUN[0x0] SCB_TAG[0xf]
  1 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  2 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  3 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  4 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  5 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  6 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  7 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  8 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  9 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
Pending list:
 15 SCB_CONTROL[0x40] SCB_SCSIID[0x7]
SCB_LUN[0x0]
Kernel Free SCB list: 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Untagged Q(0): 15

<<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>>
sg[0] - Addr 0x1441e94 : Length 36
ahc0:BDR message in message buffer
ahc0:SCB 0xf - timed out
>>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<<
ahc0: Dumping Card State in Message-out phase, at SEQADDR 0x172
Card was paused
ACCUM = 0xa0, SINDEX = 0x61, DINDEX = 0xc0, ARG_2 = 0x3
HCNT = 0x0 SCBPTR = 0x0
SCSISIGI[0xb6] ERROR[0x0] SCSIBUSL[0x2] LASTPHASE[0xa0]
SCSISEQ[0x12] SBLKCTL[0x2] SCSIRATE[0x0] SEQCTL[0x10]
SEQ_FLAGS[0x40] SSTAT0[0x7] SSTAT1[0x3] SSTAT2[0x0]
SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xac] SXFRCTL0[0x88]
DFCNTRL[0x4] DFSTATUS[0x6d]
STACK: 0xe7 0x0 0x0 0x19c
SCB count = 16
Kernel NEXTQSCB = 14
Card NEXTQSCB = 14
QINFIFO entries:
Waiting Queue entries:
Disconnected Queue entries:
QOUTFIFO entries:
Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Sequencer SCB Info:
  0 SCB_CONTROL[0x40] SCB_SCSIID[0x7]
SCB_LUN[0x0] SCB_TAG[0xf]
  1 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  2 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  3 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  4 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  5 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  6 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  7 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  8 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
  9 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff]
SCB_LUN[0xff] SCB_TAG[0xff]
Pending list:
 15 SCB_CONTROL[0x40] SCB_SCSIID[0x7]
SCB_LUN[0x0]
Kernel Free SCB list: 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Untagged Q(0): 15

<<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>>
sg[0] - Addr 0x1441e94 : Length 36
probe(ahc0:0:0:0): ahc0: no longer in timeout, status = 0
ahc0: Issued Channel A Bus Reset. 1 SCBs aborted

--TB36FDmn/VVEgNH/--