aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/ide.txt15
-rw-r--r--drivers/ide/ide.c23
-rw-r--r--drivers/ide/legacy/qd65xx.c4
-rw-r--r--drivers/ide/pci/opti621.c2
4 files changed, 14 insertions, 30 deletions
diff --git a/Documentation/ide.txt b/Documentation/ide.txt
index 786c3a766995..82349f5cd3d7 100644
--- a/Documentation/ide.txt
+++ b/Documentation/ide.txt
@@ -232,7 +232,9 @@ Summary of ide driver parameters for kernel command line
232 232
233 "hdx=remap63" : remap the drive: add 63 to all sector numbers 233 "hdx=remap63" : remap the drive: add 63 to all sector numbers
234 (for DM OnTrack) 234 (for DM OnTrack)
235 235
236 "idex=noautotune" : driver will NOT attempt to tune interface speed
237
236 "hdx=autotune" : driver will attempt to tune interface speed 238 "hdx=autotune" : driver will attempt to tune interface speed
237 to the fastest PIO mode supported, 239 to the fastest PIO mode supported,
238 if possible for this drive only. 240 if possible for this drive only.
@@ -267,17 +269,6 @@ Summary of ide driver parameters for kernel command line
267 "idex=base,ctl" : specify both base and ctl 269 "idex=base,ctl" : specify both base and ctl
268 270
269 "idex=base,ctl,irq" : specify base, ctl, and irq number 271 "idex=base,ctl,irq" : specify base, ctl, and irq number
270
271 "idex=autotune" : driver will attempt to tune interface speed
272 to the fastest PIO mode supported,
273 for all drives on this interface.
274 Not fully supported by all chipset types,
275 and quite likely to cause trouble with
276 older/odd IDE drives.
277
278 "idex=noautotune" : driver will NOT attempt to tune interface speed
279 This is the default for most chipsets,
280 except the cmd640.
281 272
282 "idex=serialize" : do not overlap operations on idex. Please note 273 "idex=serialize" : do not overlap operations on idex. Please note
283 that you will have to specify this option for 274 that you will have to specify this option for
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index 48a087dfc592..ac1a720f182a 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -1578,7 +1578,7 @@ static int __init ide_setup(char *s)
1578 */ 1578 */
1579 if (s[0] == 'h' && s[1] == 'd' && s[2] >= 'a' && s[2] <= max_drive) { 1579 if (s[0] == 'h' && s[1] == 'd' && s[2] >= 'a' && s[2] <= max_drive) {
1580 const char *hd_words[] = { 1580 const char *hd_words[] = {
1581 "none", "noprobe", "nowerr", "cdrom", "serialize", 1581 "none", "noprobe", "nowerr", "cdrom", "minus5",
1582 "autotune", "noautotune", "minus8", "swapdata", "bswap", 1582 "autotune", "noautotune", "minus8", "swapdata", "bswap",
1583 "noflush", "remap", "remap63", "scsi", NULL }; 1583 "noflush", "remap", "remap63", "scsi", NULL };
1584 unit = s[2] - 'a'; 1584 unit = s[2] - 'a';
@@ -1606,9 +1606,6 @@ static int __init ide_setup(char *s)
1606 drive->ready_stat = 0; 1606 drive->ready_stat = 0;
1607 hwif->noprobe = 0; 1607 hwif->noprobe = 0;
1608 goto done; 1608 goto done;
1609 case -5: /* "serialize" */
1610 printk(" -- USE \"ide%d=serialize\" INSTEAD", hw);
1611 goto do_serialize;
1612 case -6: /* "autotune" */ 1609 case -6: /* "autotune" */
1613 drive->autotune = IDE_TUNE_AUTO; 1610 drive->autotune = IDE_TUNE_AUTO;
1614 goto obsolete_option; 1611 goto obsolete_option;
@@ -1669,7 +1666,7 @@ static int __init ide_setup(char *s)
1669 * (-8, -9, -10) are reserved to ease the hardcoding. 1666 * (-8, -9, -10) are reserved to ease the hardcoding.
1670 */ 1667 */
1671 static const char *ide_words[] = { 1668 static const char *ide_words[] = {
1672 "noprobe", "serialize", "autotune", "noautotune", 1669 "noprobe", "serialize", "minus3", "minus4",
1673 "reset", "dma", "ata66", "minus8", "minus9", 1670 "reset", "dma", "ata66", "minus8", "minus9",
1674 "minus10", "four", "qd65xx", "ht6560b", "cmd640_vlb", 1671 "minus10", "four", "qd65xx", "ht6560b", "cmd640_vlb",
1675 "dtc2278", "umc8672", "ali14xx", NULL }; 1672 "dtc2278", "umc8672", "ali14xx", NULL };
@@ -1740,12 +1737,17 @@ static int __init ide_setup(char *s)
1740 hwif->chipset = mate->chipset = ide_4drives; 1737 hwif->chipset = mate->chipset = ide_4drives;
1741 mate->irq = hwif->irq; 1738 mate->irq = hwif->irq;
1742 memcpy(mate->io_ports, hwif->io_ports, sizeof(hwif->io_ports)); 1739 memcpy(mate->io_ports, hwif->io_ports, sizeof(hwif->io_ports));
1743 goto do_serialize; 1740 hwif->mate = mate;
1741 mate->mate = hwif;
1742 hwif->serialized = mate->serialized = 1;
1743 goto obsolete_option;
1744 } 1744 }
1745#endif /* CONFIG_BLK_DEV_4DRIVES */ 1745#endif /* CONFIG_BLK_DEV_4DRIVES */
1746 case -10: /* minus10 */ 1746 case -10: /* minus10 */
1747 case -9: /* minus9 */ 1747 case -9: /* minus9 */
1748 case -8: /* minus8 */ 1748 case -8: /* minus8 */
1749 case -4:
1750 case -3:
1749 goto bad_option; 1751 goto bad_option;
1750 case -7: /* ata66 */ 1752 case -7: /* ata66 */
1751#ifdef CONFIG_BLK_DEV_IDEPCI 1753#ifdef CONFIG_BLK_DEV_IDEPCI
@@ -1760,16 +1762,7 @@ static int __init ide_setup(char *s)
1760 case -5: /* "reset" */ 1762 case -5: /* "reset" */
1761 hwif->reset = 1; 1763 hwif->reset = 1;
1762 goto obsolete_option; 1764 goto obsolete_option;
1763 case -4: /* "noautotune" */
1764 hwif->drives[0].autotune = IDE_TUNE_NOAUTO;
1765 hwif->drives[1].autotune = IDE_TUNE_NOAUTO;
1766 goto obsolete_option;
1767 case -3: /* "autotune" */
1768 hwif->drives[0].autotune = IDE_TUNE_AUTO;
1769 hwif->drives[1].autotune = IDE_TUNE_AUTO;
1770 goto obsolete_option;
1771 case -2: /* "serialize" */ 1765 case -2: /* "serialize" */
1772 do_serialize:
1773 hwif->mate = &ide_hwifs[hw^1]; 1766 hwif->mate = &ide_hwifs[hw^1];
1774 hwif->mate->mate = hwif; 1767 hwif->mate->mate = hwif;
1775 hwif->serialized = hwif->mate->serialized = 1; 1768 hwif->serialized = hwif->mate->serialized = 1;
diff --git a/drivers/ide/legacy/qd65xx.c b/drivers/ide/legacy/qd65xx.c
index 584e26c96b46..ab482c85e415 100644
--- a/drivers/ide/legacy/qd65xx.c
+++ b/drivers/ide/legacy/qd65xx.c
@@ -16,8 +16,8 @@
16 * Please set local bus speed using kernel parameter idebus 16 * Please set local bus speed using kernel parameter idebus
17 * for example, "idebus=33" stands for 33Mhz VLbus 17 * for example, "idebus=33" stands for 33Mhz VLbus
18 * To activate controller support, use "ide0=qd65xx" 18 * To activate controller support, use "ide0=qd65xx"
19 * To enable tuning, use "ide0=autotune" 19 * To enable tuning, use "hda=autotune hdb=autotune"
20 * To enable second channel tuning (qd6580 only), use "ide1=autotune" 20 * To enable 2nd channel tuning (qd6580 only), use "hdc=autotune hdd=autotune"
21 */ 21 */
22 22
23/* 23/*
diff --git a/drivers/ide/pci/opti621.c b/drivers/ide/pci/opti621.c
index af9aaafa55b6..aede7eee9246 100644
--- a/drivers/ide/pci/opti621.c
+++ b/drivers/ide/pci/opti621.c
@@ -57,7 +57,7 @@
57 * There is a 25/33MHz switch in configuration 57 * There is a 25/33MHz switch in configuration
58 * register, but driver is written for use at any frequency which get 58 * register, but driver is written for use at any frequency which get
59 * (use idebus=xx to select PCI bus speed). 59 * (use idebus=xx to select PCI bus speed).
60 * Use ide0=autotune for automatical tune of the PIO modes. 60 * Use hda=autotune and hdb=autotune for automatical tune of the PIO modes.
61 * If you get strange results, do not use this and set PIO manually 61 * If you get strange results, do not use this and set PIO manually
62 * by hdparm. 62 * by hdparm.
63 * 63 *