Bug 21772

Summary: No interrupts for 39160 PCI adapter in PR440FX under SMP kernel
Product: Base System Reporter: Justin T. Gibbs <gibbs>
Component: i386Assignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 5.0-CURRENT   
Hardware: Any   
OS: Any   

Description Justin T. Gibbs 2000-10-05 17:10:00 UTC
	When booting this system with an SMP kernel all disk activity
	on the 39160 PCI HBA results in a timeout.  After instrumenting
	the aic7xxx driver, it is plain that interrupts are not being
	delivered.  In the SMP boot case, ahc0 is given irq 17, ahc1
	is given irq 18, and ahc2 is given irq 10.  A UP kernel from
	the same sources boots correctly.

Fix: 

My guess is that we're missing another workaround for a
	broken mptable, but I don't know enough about the MP
	spec to determine exactly what is wrong nor how to
	correct it.
How-To-Repeat: 
	Boot a PR440FX with a multi-function PCI device.
Comment 1 Tor Egge 2000-10-05 17:27:42 UTC
This looks like a BIOS issue, with an incomplete MP table.

> I/O Ints:	Type	Polarity    Trigger	Bus ID	 IRQ	APIC ID	PIN#
> 		INT	active-lo       level	     0	17:A	     13	  18

[...]
> ahc1: <Adaptec 3960D Ultra160 SCSI adapter> port 0xf800-0xf8ff mem 0xffbde000-0xffbdefff irq 9 at device 17.0 on pci0
> aic7899: Wide Channel A, SCSI Id=7, 32/255 SCBs
> ahc2: <Adaptec 3960D Ultra160 SCSI adapter> port 0xfc00-0xfcff mem 0xffbdf000-0xffbdffff irq 10 at device 17.1 on pci0
> aic7899: Wide Channel B, SCSI Id=7, 32/255 SCBs

Since different interrupts are used in UP mode, I assume that multiple
interrupt lines are used on the PCI bus for the 3960D, e.g. that a

 I/O Ints:	Type	Polarity    Trigger	Bus ID	 IRQ	APIC ID	PIN#
 		INT	active-lo       level	     0	17:B	     13	  ??

is missing from the MP table.

- Tor Egge
Comment 2 iedowse freebsd_committer freebsd_triage 2001-11-17 17:46:36 UTC
State Changed
From-To: open->feedback


Is it still useful to keep this PR open?
Comment 3 martin 2001-11-19 12:05:14 UTC
This is probably the same problem that caused kern/26048 where a PR440FX and an
Adaptec 3200S won't play nicely together under SMP.


-- 
Martin Nilsson, Civilingenjör M.Sc. CS&E 
Svenska Butiker AB,
S:t Larsväg 44, 222 70 Lund
martin@svenskabutiker.se  
Tel: 046-304130      
www.svenskabutiker.se
Comment 4 iedowse freebsd_committer freebsd_triage 2002-06-02 11:42:25 UTC
State Changed
From-To: feedback->closed


Feedback timeout.