summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2003-03-10 08:20:14 +0000
committersos <sos@FreeBSD.org>2003-03-10 08:20:14 +0000
commit35cf7b6cbad5c937338b9f82fb5dedf99c317d7d (patch)
treed4f5e320447a841e8ec31cb9cb0c5384f2a17937 /sys/dev/ata
parent14ed6230694657886d1723f423533bd246610c09 (diff)
downloadFreeBSD-src-35cf7b6cbad5c937338b9f82fb5dedf99c317d7d.zip
FreeBSD-src-35cf7b6cbad5c937338b9f82fb5dedf99c317d7d.tar.gz
Dont use r_bmio on Cyrix chips if not set from BIOS.
Diffstat (limited to 'sys/dev/ata')
-rw-r--r--sys/dev/ata/ata-chipset.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/ata/ata-chipset.c b/sys/dev/ata/ata-chipset.c
index 094b61a..c7b053a 100644
--- a/sys/dev/ata/ata-chipset.c
+++ b/sys/dev/ata/ata-chipset.c
@@ -480,7 +480,10 @@ ata_cyrix_chipinit(device_t dev)
if (ata_default_interrupt(dev))
return ENXIO;
- ctlr->setmode = ata_cyrix_setmode;
+ if (ctlr->r_bmio)
+ ctlr->setmode = ata_cyrix_setmode;
+ else
+ ctlr->setmode = ata_generic_setmode;
return 0;
}
@@ -1592,7 +1595,7 @@ ata_sis_setmode(struct ata_device *atadev, int mode)
case SIS133NEW: {
u_int32_t timings[] =
{ 0x28269008, 0x0c266008, 0x04263008, 0x0c0a3008, 0x05093008,
- 0x22190608, 0x0c0a3008, 0x05093008, 0x050939fc, 0x050936ac,
+ 0x22196008, 0x0c0a3008, 0x05093008, 0x050939fc, 0x050936ac,
0x0509347c, 0x0509325c, 0x0509323c, 0x0509322c, 0x0509321c};
u_int32_t reg;
OpenPOWER on IntegriCloud