DragonFly users List (threaded) for 2009-06
DragonFly BSD
DragonFly users List (threaded) for 2009-06
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

SILI-3132 driver progress report.

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 17 Jun 2009 10:46:56 -0700 (PDT)

    What?  I thought Matt was only going to do an AHCI driver?

    Well, after diving the Silicon Image data book and looking at the
    OpenBSD and Linux driver code for it I figured I could do a full
    driver using the AHCI driver as a base, and I figured I could do it in
    three days.

    This is the third day and its almost done.  There are some PM-related
    issues and probing issues left but it basically works.  It is not yet
    hooked into the kernel build but it is available as a module in

    This driver only supports the Sil 3132 at the moment.  It is a PCI-e
    2-port E-Sata card.  Other chips will be added once this one is solid.

    The Sil chip hardware is a little buggy but from reading the linux
    driver it looks like the bugs can be worked around fairly well.  A
    lot of the remaining work I have to do is to deal with the chip bugs.

    As with the AHCI driver my SILI driver supports NCQ, Hot-Plug, Port
    Multipliers, and Hot-Plug on targets behind Port Multipliers.  It also
    supports FIS-based switching and FIS-based switching to targets behind
    port multipliers, so it can access multiple drives behind a PM
    quite efficiently.  In my tests the aggegate transfer rate limit seems
    to be about 150 MBytes/sec which is suspiciously close to the limit
    for SATA-150, even though its supposed to be connecting at SATA-300
    speeds.  I'll continue to research that.

    The chip seems to top out at around 30,000 transaction a second.  Not
    bad at all.

    In contrast, the AHCI driver cannot currently do FIS-Based switching
    or NCQ to targets behind a PM, but it can do NCQ to directly-connected
    targets.  So the Sili chip is primarily of interest to people who
    want to use Port Multipliers.

					Matthew Dillon 

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