summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorStephen McKay <mckay@FreeBSD.org>2003-08-26 11:32:57 +0000
committerStephen McKay <mckay@FreeBSD.org>2003-08-26 11:32:57 +0000
commita0fb2afc229a7184145c4f13f9915f16ea393deb (patch)
tree419a43f6a6d098745e8e16bff7c64f4202485ebe /sys/dev
parent9789c0a5444312f333618e18eaf25ebbfcc41f88 (diff)
Notes
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ata/ata-dma.c8
-rw-r--r--sys/dev/ata/ata-pci.c6
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 */