Add experimental (as in hacked) support for the Silicon Image SATA
authorMatthew Dillon <dillon@dragonflybsd.org>
Wed, 18 Feb 2004 04:12:00 +0000 (04:12 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Wed, 18 Feb 2004 04:12:00 +0000 (04:12 +0000)
controller 3512.  run it like the SiI 0680 ATA133 controller for now.

It works operating as a non-raid ata device on an FN85 Shuttle (AMD64)
motherboard.  The controller is theoretically a raid controller there is
no current support for it.

sys/dev/disk/ata/ata-dma.c
sys/dev/disk/ata/ata-pci.c

index 4e2da74..504891d 100644 (file)
@@ -26,7 +26,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/ata/ata-dma.c,v 1.35.2.31 2003/05/07 16:46:11 jhb Exp $
- * $DragonFly: src/sys/dev/disk/ata/ata-dma.c,v 1.15 2004/02/18 04:08:49 dillon Exp $
+ * $DragonFly: src/sys/dev/disk/ata/ata-dma.c,v 1.16 2004/02/18 04:12:00 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -702,6 +702,9 @@ ata_dmainit(struct ata_device *atadev, int apiomode, int wdmamode, int udmamode)
        /* we could set PIO mode timings, but we assume the BIOS did that */
        break;
 
+    case 0x35121095:   /* SiI 3512 SATA controller */
+       /* EXPERIMENTAL!  Works with FN85 AMD 64 3200+ motherboard */
+       /* FALLTHROUGH */
     case 0x06801095:   /* SiI 0680 ATA133 controller */
        {
            u_int8_t ureg = 0xac + (device * 0x02) + (channel * 0x10);
index a8cec7d..fc2fa51 100644 (file)
@@ -26,7 +26,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/ata/ata-pci.c,v 1.32.2.15 2003/06/06 13:27:05 fjoe Exp $
- * $DragonFly: src/sys/dev/disk/ata/ata-pci.c,v 1.10 2004/02/18 04:08:49 dillon Exp $
+ * $DragonFly: src/sys/dev/disk/ata/ata-pci.c,v 1.11 2004/02/18 04:12:00 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -224,6 +224,9 @@ ata_pci_match(device_t dev)
        else
            return "SiS 5591 ATA33 controller";
 
+    case 0x35121095:
+       return "SiI 3512 SATA controller";
+
     case 0x06801095:
        return "SiI 0680 ATA133 controller";