Subject: aic7880 & MP
To: None <netbsd-users@netbsd.org>
From: Peter Eisch <peter@boku.net>
List: netbsd-users
Date: 02/17/2005 15:40:11
Anyone have a patch for the ahc(4) driver that will work with an MP (perhaps
i386) kernel?  The driver spews after "waiting 2 seconds for devices to
settle" when it tries to scan these onboard controllers:

...
ahc2 at pci0 dev 10 function 0: Adaptec aic7880 Ultra SCSI adapter
ahc2: interrupting at irq 15
ahc2: Using left over BIOS settings
ahc2: aic7880: Ultra Wide Channel A, SCSI Id=7, 16/253 SCBs
scsibus1 at ahc2: 16 targets, 8 luns per target
ahc3 at pci0 dev 11 function 0: Adaptec aic7880 Ultra SCSI adapter
ahc3: interrupting at irq 15
ahc3: Using left over BIOS settings
ahc3: aic7880: Ultra Wide Channel A, SCSI Id=7, 16/253 SCBs
scsibus2 at ahc3: 16 targets, 8 luns per target
...

3msof1# pcictl pci0 dump -d 10
PCI configuration registers:
  Common header:
    0x00: 0x80789004 0x02800157 0x01000000 0x00004008

    Vendor Name: Adaptec (0x9004)
    Device Name: AIC-7880 Ultra (0x8078)
    Command register: 0x0157
      I/O space accesses: on
      Memory space accesses: on
      Bus mastering: on
      Special cycles: off
      MWI transactions: on
      Palette snooping: off
      Parity error checking: on
      Address/data stepping: off
      System error (SERR): on
      Fast back-to-back transactions: off
    Status register: 0x0280
      Capability List support: off
      66 MHz capable: off
      User Definable Features (UDF) support: off
      Fast back-to-back capable: on
      Data parity error detected: off
      DEVSEL timing: medium (0x1)
      Slave signaled Target Abort: off
      Master received Target Abort: off
      Master received Master Abort: off
      Asserted System Error (SERR): off
      Parity error detected: off
    Class Name: mass storage (0x01)
    Subclass Name: SCSI (0x00)
    Interface: 0x00
    Revision ID: 0x00
    BIST: 0x00
    Header Type: 0x00 (0x00)
    Latency Timer: 0x40
    Cache Line Size: 0x08

  Type 0 ("normal" device) header:
    0x10: 0x0000f401 0xfedfe000 0x00000000 0x00000000
    0x20: 0x00000000 0x00000000 0x00000000 0x00000000
    0x30: 0x00000000 0x00000000 0x00000000 0x0808010f

    Base address register at 0x10
      type: i/o
      base: 0x0000f400, not sized
    Base address register at 0x14
      type: 32-bit nonprefetchable memory
      base: 0xfedfe000, not sized
    Base address register at 0x18
      not implemented(?)
    Base address register at 0x1c
      not implemented(?)
    Base address register at 0x20
      not implemented(?)
    Base address register at 0x24
      not implemented(?)
    Cardbus CIS Pointer: 0x00000000
    Subsystem vendor ID: 0x0000
    Subsystem ID: 0x0000
    Expansion ROM Base Address: 0x00000000
    Reserved @ 0x34: 0x00000000
    Reserved @ 0x38: 0x00000000
    Maximum Latency: 0x08
    Minimum Grant: 0x08
    Interrupt pin: 0x01 (pin A)
    Interrupt line: 0x0f

  Device-dependent header:
    0x40: 0x800015a0 0x800015a0 0x00000000 0x00000000
    0x50: 0x00000000 0x00000000 0x00000000 0x00000000
    0x60: 0x00000000 0x00000000 0x00000000 0x00000000
    0x70: 0x00000000 0x00000000 0x00000000 0x00000000
    0x80: 0x00000000 0x00000000 0x00000000 0x00000000
    0x90: 0x00000000 0x00000000 0x00000000 0x00000000
    0xa0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xc0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xd0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xe0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xf0: 0x00000000 0x00000000 0x00000000 0x00000000

3msof1#

Thanks,

peter