SMP and the aic7xxx driver

Warren W. Thompson wthompson at altaira.com
Tue Apr 21 18:43:19 PDT 1998


Okay,

I obtained and compiled the 2.1.97 with the aic7xxx driver built into
the kernel and SMP turned off by commenting out the "SMP = 1" line from
the Linux source's root makefile. It worked just fine, below is the
result of the driver loading under kernel 2.1.97 with SMP disabled:

(scsi0) <Adaptec AIC-7880 Ultra SCSI host adapter> found at PCI 12/0
(scsi0) Narrow Channel, SCSI ID=7, 16/255 SCBs
(scsi0) BIOS enabled, IO Port 0x6400, IRQ 11
(scsi0) IO Memory at 0xe4000000, MMAP Memory at 0xc8800000
(scsi0) Resetting channel
(scsi0) Downloading sequencer code... 413 instructions downloaded
scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.0.13/3.2.4
       <Adaptec AIC-7880 Ultra SCSI host adapter>
scsi : 1 host.
(scsi0:0:-1:-1) Scanning channel for devices.
(scsi0:0:0:0) Synchronous at 20.0MHz, offset 15.
  Vendor: IBM OEM   Model: DCHS09U           Rev: 2626
  Type:   Direct-Access                      ANSI SCSI revision: 02
Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
scsi : detected 1 SCSI disk total.
SCSI device sda: hdwr sector= 512 bytes. Sectors= 17796077 [8689 MB]
[8.7 GB]
Partition check:
 sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 >

For the next build the only change I made was uncommenting the "SMP = 1"
line from the makefile and recompiling. It did not work, it seems to
have incorrectly gotten the IRQ of the scsi card again. The following is
the result of the driver loading under kernel 2.1.97 with SMP enabled:

(scsi0) <Adaptec AIC-7880 Ultra SCSI host adapter> found at PCI 12/0
(scsi0) Narrow Channel, SCSI ID=7, 16/255 SCBs
(scsi0) BIOS enabled, IO Port 0x6400, IRQ 16
(scsi0) IO Memory at 0xe4000000, MMAP Memory at 0xc8800000
(scsi0) Resetting channel
(scsi0) Downloading sequencer code... 413 instructions downloaded
scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.0.13/3.2.4
       <Adaptec AIC-7880 Ultra SCSI host adapter>
scsi : 1 host.
(scsi0:0:-1:-1) Scanning channel for devices.
<At this point the system hangs indefinitely>

Notice that the IRQ location that works is 11 and the one detected by
the SMP driver is 16...Hmmmm. Well, I hope you can give me some insight
into why this may be occurring and what, if anything, can be done to fix
it. I'm even up for hardcoding the scsi device's IRQ under SMP if that
will get it up.

Thanks in advance!

Warren

Doug Ledford wrote:
>
> The aic7xxx driver in 2.1.95 was completely replaced as of 2.1.96 and
> above.  I would suggest trying 2.1.97 and then let me know if it also has
> this problem.  If so, I suspect it's a bug in the PCI code since the aic7xxx
> driver simply reads the pci data structures in the kernel to get the IRQ
> assignment, and if it's off, then we never get any interrupts and the system
> hangs.
> 
> --
> 
>  Doug Ledford  <dledford at dialnet.net>
>   Opinions expressed are my own, but
>      they should be everybody's.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vcard.vcf
Type: text/x-vcard
Size: 247 bytes
Desc: Card for Warren Thompson
Url : http://lists.freebsd.org/pipermail/aic7xxx/attachments/19980421/87953167/vcard.vcf


More information about the aic7xxx mailing list