NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/38056: ahcisata fails to attach with a ServerWorks HT-1000 SATA



Manuel Bouyer wrote:

> I suspect it's a side effect of support for AHCI RAID controllers.
> What does pcidump say for this device ?
> 
> ahcisata should probably not match any controller announcing a RAID subclass.
> We should use a table of compatible devices for RAID class.

        opteron 2# pcictl /dev/pci1 dump -d 14
        PCI configuration registers:
          Common header:
            0x00: 0x024a1166 0x02100107 0x01040500 0x00004000

            Vendor Name: ServerWorks (0x1166)
            Device Name: HT-1000 SATA (0x024a)
            Command register: 0x0107
              I/O space accesses: on
              Memory space accesses: on
              Bus mastering: on
              Special cycles: off
              MWI transactions: off
              Palette snooping: off
              Parity error checking: off
              Address/data stepping: off
              System error (SERR): on
              Fast back-to-back transactions: off
              Interrupt disable: off
            Status register: 0x0210
              Capability List support: on
              66 MHz capable: off
              User Definable Features (UDF) support: off
              Fast back-to-back capable: off
              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: RAID (0x04)
            Interface: 0x05
            Revision ID: 0x00
            BIST: 0x00
            Header Type: 0x00 (0x00)
            Latency Timer: 0x40
            Cache Line Size: 0x00

          Type 0 ("normal" device) header:
            0x10: 0x0000c081 0x0000c001 0x0000bc01 0x0000b881
            0x20: 0x0000b801 0xfe8fe000 0x00000000 0x024a1166
            0x30: 0xfe8c0000 0x00000060 0x00000000 0x0000010b

            Base address register at 0x10
              type: i/o
              base: 0x0000c080, not sized
            Base address register at 0x14
              type: i/o
              base: 0x0000c000, not sized
            Base address register at 0x18
              type: i/o
              base: 0x0000bc00, not sized
            Base address register at 0x1c
              type: i/o
              base: 0x0000b880, not sized
            Base address register at 0x20
              type: i/o
              base: 0x0000b800, not sized
            Base address register at 0x24
              type: 32-bit nonprefetchable memory
              base: 0xfe8fe000, not sized
            Cardbus CIS Pointer: 0x00000000
            Subsystem vendor ID: 0x1166
            Subsystem ID: 0x024a
            Expansion ROM Base Address: 0xfe8c0000
            Capability list pointer: 0x60
            Reserved @ 0x38: 0x00000000
            Maximum Latency: 0x00
            Minimum Grant: 0x00
            Interrupt pin: 0x01 (pin A)
            Interrupt line: 0x0b

          Capability register at 0x60
            type: 0x07 (PCI-X)
          Capability register at 0x90
            type: 0x01 (Power Management, rev. 1.0)
          Capability register at 0xa0
            type: 0x05 (MSI)

          Device-dependent header:
            0x40: 0x00000000 0x00000000 0x00000000 0x00000000
            0x50: 0x00000000 0x00000000 0x00000000 0x00000000
            0x60: 0x00409007 0x0a030170 0x00000000 0x00000000
            0x70: 0x00000018 0x00000000 0x00000000 0x00000000
            0x80: 0x00000000 0x00000000 0x00000000 0x00000000
            0x90: 0x0002a001 0x00000000 0x00000000 0x00000000
            0xa0: 0x00000005 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

The "Subclass Name: RAID (0x04)" is the bit you're looking for?  In
ahcisata_pci.c there's this:

             PCI_SUBCLASS(pa->pa_class) == PCI_SUBCLASS_MASS_STORAGE_RAID)) {

in ahci_pci_match().  Shall I just try removing that part of the attach
test?

Cheers,
Simon.


Home | Main Index | Thread Index | Old Index