diff options
| author | Stephen McKay <mckay@FreeBSD.org> | 2003-08-26 11:32:57 +0000 |
|---|---|---|
| committer | Stephen McKay <mckay@FreeBSD.org> | 2003-08-26 11:32:57 +0000 |
| commit | a0fb2afc229a7184145c4f13f9915f16ea393deb (patch) | |
| tree | 419a43f6a6d098745e8e16bff7c64f4202485ebe /sys/dev | |
| parent | 9789c0a5444312f333618e18eaf25ebbfcc41f88 (diff) | |
Notes
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/ata/ata-dma.c | 8 | ||||
| -rw-r--r-- | sys/dev/ata/ata-pci.c | 6 |
2 files changed, 10 insertions, 4 deletions
diff --git a/sys/dev/ata/ata-dma.c b/sys/dev/ata/ata-dma.c index 834b632aba09..cc6f9c43cd64 100644 --- a/sys/dev/ata/ata-dma.c +++ b/sys/dev/ata/ata-dma.c @@ -626,7 +626,7 @@ ata_dmainit(struct ata_channel *ch, int device, ata_prtdev(atadev, "%s setting UDMA6 on SiI chip\n", (error) ? "failed" : "success"); if (!error) { - pci_write_config(parent, ureg, (uval & 0x3f) | 0x01, 1); + pci_write_config(parent, ureg, (uval & ~0x3f) | 0x01, 1); atadev->mode = ATA_UDMA6; return; } @@ -638,7 +638,7 @@ ata_dmainit(struct ata_channel *ch, int device, ata_prtdev(atadev, "%s setting UDMA5 on SiI chip\n", (error) ? "failed" : "success"); if (!error) { - pci_write_config(parent, ureg, (uval & 0x3f) | 0x02, 1); + pci_write_config(parent, ureg, (uval & ~0x3f) | 0x02, 1); atadev->mode = ATA_UDMA5; return; } @@ -650,7 +650,7 @@ ata_dmainit(struct ata_channel *ch, int device, ata_prtdev(atadev, "%s setting UDMA4 on SiI chip\n", (error) ? "failed" : "success"); if (!error) { - pci_write_config(parent, ureg, (uval & 0x3f) | 0x03, 1); + pci_write_config(parent, ureg, (uval & ~0x3f) | 0x03, 1); atadev->mode = ATA_UDMA4; return; } @@ -662,7 +662,7 @@ ata_dmainit(struct ata_channel *ch, int device, ata_prtdev(atadev, "%s setting UDMA2 on SiI chip\n", (error) ? "failed" : "success"); if (!error) { - pci_write_config(parent, ureg, (uval & 0x3f) | 0x07, 1); + pci_write_config(parent, ureg, (uval & ~0x3f) | 0x07, 1); atadev->mode = ATA_UDMA2; return; } diff --git a/sys/dev/ata/ata-pci.c b/sys/dev/ata/ata-pci.c index 7fb9e47a7baa..4d744b639aab 100644 --- a/sys/dev/ata/ata-pci.c +++ b/sys/dev/ata/ata-pci.c @@ -579,6 +579,12 @@ ata_pci_intr(struct ata_channel *ch) return 1; break; + case 0x06801095: /* SiI 680 */ + if (!(pci_read_config(device_get_parent(ch->dev), + (ch->unit ? 0xb1 : 0xa1), 1) & 0x08)) + return 1; + break; + case 0x4d33105a: /* Promise Ultra/Fasttrak 33 */ case 0x0d38105a: /* Promise Fasttrak 66 */ case 0x4d38105a: /* Promise Ultra/Fasttrak 66 */ |
