diff options
author | sos <sos@FreeBSD.org> | 2001-10-06 11:07:04 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2001-10-06 11:07:04 +0000 |
commit | 910868a68fad084aa307651c4ce629496e4cbc77 (patch) | |
tree | 19e354ace73ab242b6d780a15f7f18ee6c43ada9 /sys/dev/ata/ata-dma.c | |
parent | db02c4b19d46abd5825669969370c0bb0e5bf4da (diff) | |
download | FreeBSD-src-910868a68fad084aa307651c4ce629496e4cbc77.zip FreeBSD-src-910868a68fad084aa307651c4ce629496e4cbc77.tar.gz |
Update with latest ATA/ATAPI ver 6 rev 2 items.
Diffstat (limited to 'sys/dev/ata/ata-dma.c')
-rw-r--r-- | sys/dev/ata/ata-dma.c | 116 |
1 files changed, 58 insertions, 58 deletions
diff --git a/sys/dev/ata/ata-dma.c b/sys/dev/ata/ata-dma.c index a578ea9..12a2e2a 100644 --- a/sys/dev/ata/ata-dma.c +++ b/sys/dev/ata/ata-dma.c @@ -103,7 +103,7 @@ ata_dmainit(struct ata_softc *scp, int device, /* DMA engine address alignment is usually 1 word (2 bytes) */ scp->alignment = 0x1; - if (udmamode > 2 && !ATA_PARAM(scp, device)->cblid) { + if (udmamode > 2 && !ATA_PARAM(scp, device)->hwres_cblid) { ata_printf(scp, device, "DMA limited to UDMA33, non-ATA66 compliant cable\n"); udmamode = 2; @@ -119,7 +119,7 @@ ata_dmainit(struct ata_softc *scp, int device, word54 = pci_read_config(parent, 0x54, 2); if (word54 & (0x10 << devno)) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA5, ATA_C_F_SETXFER,ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -149,7 +149,7 @@ ata_dmainit(struct ata_softc *scp, int device, word54 = pci_read_config(parent, 0x54, 2); if (word54 & (0x10 << devno)) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA4, ATA_C_F_SETXFER,ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -178,7 +178,7 @@ ata_dmainit(struct ata_softc *scp, int device, if (udmamode >= 2) { int32_t mask48, new48; - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting UDMA2 on Intel chip\n", @@ -218,7 +218,7 @@ ata_dmainit(struct ata_softc *scp, int device, pci_write_config(parent, 0x40, new40, 4); pci_write_config(parent, 0x44, new44, 4); } - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting WDMA2 on Intel chip\n", @@ -267,7 +267,7 @@ ata_dmainit(struct ata_softc *scp, int device, ((word40 >> (device == ATA_MASTER ? 0 : 4)) & 1) == 1)) break; - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -289,7 +289,7 @@ ata_dmainit(struct ata_softc *scp, int device, break; } if (udmamode >= 5 && pci_get_revid(parent) >= 0xC4) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA5, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -310,7 +310,7 @@ ata_dmainit(struct ata_softc *scp, int device, } } if (udmamode >= 4 && pci_get_revid(parent) >= 0xC2) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -331,7 +331,7 @@ ata_dmainit(struct ata_softc *scp, int device, } } if (udmamode >= 2 && pci_get_revid(parent) >= 0x20) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -356,7 +356,7 @@ ata_dmainit(struct ata_softc *scp, int device, ~(0x0008 << (devno << 2)), 2); if (wdmamode >= 2 && apiomode >= 4) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -377,7 +377,7 @@ ata_dmainit(struct ata_softc *scp, int device, case 0x74111022: /* AMD 766 */ if (udmamode >= 5) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA5, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -393,7 +393,7 @@ ata_dmainit(struct ata_softc *scp, int device, case 0x74091022: /* AMD 756 */ if (udmamode >= 4) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -411,7 +411,7 @@ ata_dmainit(struct ata_softc *scp, int device, if (ata_find_dev(parent, 0x06861106, 0x40) || ata_find_dev(parent, 0x30741106, 0)) { /* 82C686b */ if (udmamode >= 5) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA5, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -424,7 +424,7 @@ ata_dmainit(struct ata_softc *scp, int device, } } if (udmamode >= 4) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -437,7 +437,7 @@ ata_dmainit(struct ata_softc *scp, int device, } } if (udmamode >= 2) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -453,7 +453,7 @@ ata_dmainit(struct ata_softc *scp, int device, else if (ata_find_dev(parent, 0x06861106, 0) || /* 82C686a */ ata_find_dev(parent, 0x05961106, 0x12)) { /* 82C596b */ if (udmamode >= 4) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -466,7 +466,7 @@ ata_dmainit(struct ata_softc *scp, int device, } } if (udmamode >= 2) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -483,7 +483,7 @@ ata_dmainit(struct ata_softc *scp, int device, ata_find_dev(parent, 0x05861106, 0x03)) { /* 82C586b */ via_82c586: if (udmamode >= 2) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting UDMA2 on %s chip\n", @@ -498,7 +498,7 @@ via_82c586: } } if (wdmamode >= 2 && apiomode >= 4) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting WDMA2 on %s chip\n", @@ -516,7 +516,7 @@ via_82c586: case 0x55131039: /* SiS 5591 */ if (udmamode >= 2 && pci_get_revid(parent) > 0xc1) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -529,7 +529,7 @@ via_82c586: } } if (wdmamode >=2 && apiomode >= 4) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -548,7 +548,7 @@ via_82c586: if (udmamode >= 5) { u_int8_t umode; - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA5, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting UDMA5 on CMD chip\n", @@ -568,7 +568,7 @@ via_82c586: if (udmamode >= 4) { u_int8_t umode; - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting UDMA4 on CMD chip\n", @@ -585,7 +585,7 @@ via_82c586: if (udmamode >= 2) { u_int8_t umode; - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting UDMA2 on CMD chip\n", @@ -607,7 +607,7 @@ via_82c586: case 0x06461095: /* CMD 646 ATA controller */ if (wdmamode >= 2 && apiomode >= 4) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting WDMA2 on CMD chip\n", @@ -625,7 +625,7 @@ via_82c586: case 0xc6931080: /* Cypress 82c693 ATA controller */ if (wdmamode >= 2 && apiomode >= 4) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -643,7 +643,7 @@ via_82c586: case 0x01021078: /* Cyrix 5530 ATA33 controller */ scp->alignment = 0xf; /* DMA engine requires 16 byte alignment */ if (udmamode >= 2) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting UDMA2 on Cyrix chip\n", @@ -655,7 +655,7 @@ via_82c586: } } if (wdmamode >= 2 && apiomode >= 4) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting WDMA2 on Cyrix chip\n", @@ -666,20 +666,20 @@ via_82c586: return; } } - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, - ata_pio2mode(apiomode), ATA_C_F_SETXFER, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, + ATA_PIO0 + apiomode, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting %s on Cyrix chip\n", (error) ? "failed" : "success", - ata_mode2str(ata_pio2mode(apiomode))); - cyrix_timing(scp, devno, ata_pio2mode(apiomode)); - scp->mode[ATA_DEV(device)] = ata_pio2mode(apiomode); + ata_mode2str(ATA_PIO0 + apiomode)); + cyrix_timing(scp, devno, ATA_PIO0 + apiomode); + scp->mode[ATA_DEV(device)] = ATA_PIO0 + apiomode; return; case 0x02111166: /* ServerWorks ROSB4 ATA33 controller */ if (udmamode >= 2) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -700,7 +700,7 @@ via_82c586: } } if (wdmamode >= 2 && apiomode >= 4) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -727,7 +727,7 @@ via_82c586: case 0x6268105a: /* Promise TX2v2 ATA100 controllers */ ATA_OUTB(scp->r_bmio, ATA_BMDEVSPEC_0, 0x0b); if (udmamode >= 4 && !(ATA_INB(scp->r_bmio, ATA_BMDEVSPEC_1) & 0x04)) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA + max(udmamode, 5), ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) @@ -740,7 +740,7 @@ via_82c586: } } if (udmamode >= 2) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting %s on Promise chip\n", @@ -751,7 +751,7 @@ via_82c586: } } if (wdmamode >= 2 && apiomode >= 4) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting %s on Promise chip\n", @@ -767,7 +767,7 @@ via_82c586: case 0x0d30105a: /* Promise OEM ATA100 controllers */ if (!ATAPI_DEVICE(scp, device) && udmamode >= 5 && !(pci_read_config(parent, 0x50, 2)&(scp->channel ? 1<<11 : 1<<10))){ - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA5, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -784,7 +784,7 @@ via_82c586: case 0x4d38105a: /* Promise Ultra/FastTrak 66 controllers */ if (!ATAPI_DEVICE(scp, device) && udmamode >= 4 && !(pci_read_config(parent, 0x50, 2)&(scp->channel ? 1<<11 : 1<<10))){ - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -800,7 +800,7 @@ via_82c586: case 0x4d33105a: /* Promise Ultra/FastTrak 33 controllers */ if (!ATAPI_DEVICE(scp, device) && udmamode >= 2) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -813,7 +813,7 @@ via_82c586: } } if (!ATAPI_DEVICE(scp, device) && wdmamode >= 2 && apiomode >= 4) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -825,23 +825,23 @@ via_82c586: return; } } - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, - ata_pio2mode(apiomode), + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, + ATA_PIO0 + apiomode, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting PIO%d on Promise chip\n", (error) ? "failed" : "success", (apiomode >= 0) ? apiomode : 0); - promise_timing(scp, devno, ata_pio2mode(apiomode)); - scp->mode[ATA_DEV(device)] = ata_pio2mode(apiomode); + promise_timing(scp, devno, ATA_PIO0 + apiomode); + scp->mode[ATA_DEV(device)] = ATA_PIO0 + apiomode; return; case 0x00041103: /* HighPoint HPT366/368/370 controllers */ if (!ATAPI_DEVICE(scp, device) && udmamode >=5 && pci_get_revid(parent) >= 0x03 && !(pci_read_config(parent, 0x5a, 1) & (scp->channel ? 0x01:0x02))) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA5, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -855,7 +855,7 @@ via_82c586: } if (!ATAPI_DEVICE(scp, device) && udmamode >=4 && !(pci_read_config(parent, 0x5a, 1) & (scp->channel ? 0x01:0x02))) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -868,7 +868,7 @@ via_82c586: } } if (!ATAPI_DEVICE(scp, device) && udmamode >= 2) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_UDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -881,7 +881,7 @@ via_82c586: } } if (!ATAPI_DEVICE(scp, device) && wdmamode >= 2 && apiomode >= 4) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -893,15 +893,15 @@ via_82c586: return; } } - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, - ata_pio2mode(apiomode), + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, + ATA_PIO0 + apiomode, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting PIO%d on HighPoint chip\n", (error) ? "failed" : "success", (apiomode >= 0) ? apiomode : 0); - hpt_timing(scp, devno, ata_pio2mode(apiomode)); - scp->mode[ATA_DEV(device)] = ata_pio2mode(apiomode); + hpt_timing(scp, devno, ATA_PIO0 + apiomode); + scp->mode[ATA_DEV(device)] = ATA_PIO0 + apiomode; return; default: /* unknown controller chip */ @@ -922,7 +922,7 @@ via_82c586: /* well, we have no support for this, but try anyways */ if ((wdmamode >= 2 && apiomode >= 4) && scp->r_bmio) { - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, @@ -934,13 +934,13 @@ via_82c586: } } } - error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, - ata_pio2mode(apiomode), ATA_C_F_SETXFER,ATA_WAIT_READY); + error = ata_command(scp, device, ATA_C_SETFEATURES, 0, ATA_PIO0 + apiomode, + ATA_C_F_SETXFER,ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting PIO%d on generic chip\n", (error) ? "failed" : "success", apiomode < 0 ? 0 : apiomode); if (!error) - scp->mode[ATA_DEV(device)] = ata_pio2mode(apiomode); + scp->mode[ATA_DEV(device)] = ATA_PIO0 + apiomode; else { if (bootverbose) ata_printf(scp, device, "using PIO mode set by BIOS\n"); |