diff options
author | sos <sos@FreeBSD.org> | 2002-09-18 09:39:37 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2002-09-18 09:39:37 +0000 |
commit | 43ba8ad6aae703497304d0d93fa5e457cad11663 (patch) | |
tree | 637e282ed9c0fbed87455f70e3e615934d9619c4 | |
parent | 9746ec766a71ee0841e67fe78bab69c74710adc4 (diff) | |
download | FreeBSD-src-43ba8ad6aae703497304d0d93fa5e457cad11663.zip FreeBSD-src-43ba8ad6aae703497304d0d93fa5e457cad11663.tar.gz |
Add support for the VIA 8235.
Submitted by: Jason Dambrosio <jason@wiz.cx>
-rw-r--r-- | sys/dev/ata/ata-dma.c | 5 | ||||
-rw-r--r-- | sys/dev/ata/ata-pci.c | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/ata/ata-dma.c b/sys/dev/ata/ata-dma.c index 3d3a073..ffd28e9 100644 --- a/sys/dev/ata/ata-dma.c +++ b/sys/dev/ata/ata-dma.c @@ -507,7 +507,7 @@ ata_dmainit(struct ata_device *atadev, int apiomode, int wdmamode, int udmamode) case 0x74411022: /* AMD 768 */ case 0x74111022: /* AMD 766 */ case 0x74091022: /* AMD 756 */ - case 0x05711106: /* VIA 82C571, 82C586, 82C596, 82C686 , 8231, 8233 */ + case 0x05711106: /* VIA 82C571, 82C586, 82C596, 82C686, 8231,8233,8235 */ { int via_modes[5][7] = { { 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00 }, /* VIA ATA33 */ @@ -518,7 +518,8 @@ ata_dmainit(struct ata_device *atadev, int apiomode, int wdmamode, int udmamode) int *reg_val = NULL; char *chip = "VIA"; - if (ata_find_dev(parent, 0x31471106, 0)) { /* 8233a */ + if (ata_find_dev(parent, 0x31471106, 0) || /* 8233a */ + ata_find_dev(parent, 0x31771106, 0)) { /* 8235 */ udmamode = imin(udmamode, 6); reg_val = via_modes[3]; } diff --git a/sys/dev/ata/ata-pci.c b/sys/dev/ata/ata-pci.c index 0dc8bf5..059a4bf 100644 --- a/sys/dev/ata/ata-pci.c +++ b/sys/dev/ata/ata-pci.c @@ -180,6 +180,8 @@ ata_pci_match(device_t dev) return "VIA 8233 ATA100 controller"; if (ata_find_dev(dev, 0x31471106, 0)) return "VIA 8233 ATA133 controller"; + if (ata_find_dev(dev, 0x31771106, 0)) + return "VIA 8235 ATA133 controller"; return "VIA Apollo ATA controller"; case 0x55131039: |