diff options
author | sos <sos@FreeBSD.org> | 2006-09-11 19:48:30 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2006-09-11 19:48:30 +0000 |
commit | 320be4d7621ff6087c57d04e2811b302cb44eb92 (patch) | |
tree | d390a2bbb3246633f83aeb075316613023856b44 | |
parent | 902d47f2944163484df8f2847f9c7f70f3bfb457 (diff) | |
download | FreeBSD-src-320be4d7621ff6087c57d04e2811b302cb44eb92.zip FreeBSD-src-320be4d7621ff6087c57d04e2811b302cb44eb92.tar.gz |
Add support for a few more Serverworks and lookalikes chips.
-rw-r--r-- | sys/dev/ata/ata-chipset.c | 21 | ||||
-rw-r--r-- | sys/dev/ata/ata-pci.h | 3 |
2 files changed, 15 insertions, 9 deletions
diff --git a/sys/dev/ata/ata-chipset.c b/sys/dev/ata/ata-chipset.c index 1bf83b0..0caeb8a 100644 --- a/sys/dev/ata/ata-chipset.c +++ b/sys/dev/ata/ata-chipset.c @@ -3952,14 +3952,17 @@ ata_serverworks_ident(device_t dev) struct ata_pci_controller *ctlr = device_get_softc(dev); struct ata_chip_id *idx; static struct ata_chip_id ids[] = - {{ ATA_ROSB4, 0x00, SWKS33, 0x00, ATA_UDMA2, "ROSB4" }, - { ATA_CSB5, 0x92, SWKS100, 0x00, ATA_UDMA5, "CSB5" }, - { ATA_CSB5, 0x00, SWKS66, 0x00, ATA_UDMA4, "CSB5" }, - { ATA_CSB6, 0x00, SWKS100, 0x00, ATA_UDMA5, "CSB6" }, - { ATA_CSB6_1, 0x00, SWKS66, 0x00, ATA_UDMA4, "CSB6" }, - { ATA_HT1000, 0x00, SWKS100, 0x00, ATA_UDMA5, "HT1000" }, - { ATA_HT1000_S1, 0x00, SWKS100, 0x00, ATA_SA150, "HT1000 SATA" }, - { ATA_HT1000_S2, 0x00, SWKSMIO, 0x00, ATA_SA150, "HT1000 SATA mmio" }, + {{ ATA_ROSB4, 0x00, SWKS33, 0, ATA_UDMA2, "ROSB4" }, + { ATA_CSB5, 0x92, SWKS100, 0, ATA_UDMA5, "CSB5" }, + { ATA_CSB5, 0x00, SWKS66, 0, ATA_UDMA4, "CSB5" }, + { ATA_CSB6, 0x00, SWKS100, 0, ATA_UDMA5, "CSB6" }, + { ATA_CSB6_1, 0x00, SWKS66, 0, ATA_UDMA4, "CSB6" }, + { ATA_HT1000, 0x00, SWKS100, 0, ATA_UDMA5, "HT1000" }, + { ATA_HT1000_S1, 0x00, SWKS100, 4, ATA_SA150, "HT1000" }, + { ATA_HT1000_S2, 0x00, SWKSMIO, 4, ATA_SA150, "HT1000" }, + { ATA_K2, 0x00, SWKSMIO, 4, ATA_SA150, "K2" }, + { ATA_FRODO4, 0x00, SWKSMIO, 4, ATA_SA150, "Frodo4" }, + { ATA_FRODO8, 0x00, SWKSMIO, 8, ATA_SA150, "Frodo8" }, { 0, 0, 0, 0, 0, 0}}; char buffer[64]; @@ -3989,7 +3992,7 @@ ata_serverworks_chipinit(device_t dev) &ctlr->r_rid2, RF_ACTIVE))) return ENXIO; - ctlr->channels = 4; + ctlr->channels = ctlr->chip->cfg2; ctlr->allocate = ata_serverworks_allocate; ctlr->setmode = ata_sata_setmode; return 0; diff --git a/sys/dev/ata/ata-pci.h b/sys/dev/ata/ata-pci.h index 0a80a5e..4d1192a 100644 --- a/sys/dev/ata/ata-pci.h +++ b/sys/dev/ata/ata-pci.h @@ -266,6 +266,9 @@ struct ata_connect_task { #define ATA_HT1000 0x02141166 #define ATA_HT1000_S1 0x024b1166 #define ATA_HT1000_S2 0x024a1166 +#define ATA_K2 0x02401166 +#define ATA_FRODO4 0x02411166 +#define ATA_FRODO8 0x02421166 #define ATA_SILICON_IMAGE_ID 0x1095 #define ATA_SII3114 0x31141095 |