Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <b.zolnierkiewicz@elka.pw.edu.pl>2003-10-16 20:49:21 -0700
committerLinus Torvalds <torvalds@home.osdl.org>2003-10-16 20:49:21 -0700
commitbba47a5d359d9e0c48f7074489b20da1866ef826 (patch)
tree5fc58e27550145c2788e4fe1a9db19ab8effddd2
parent2ede979b02038072f3dd488652352f0ef4284be9 (diff)
[PATCH] remove "biostimings" boot options
They were added by Torben to workaround ServerWorks driver problems (fixed by previous patch), but depending on BIOS can be dangerous on other chipsets and it is always better to fix specific driver. Removal of these options was acked by Torben.
-rw-r--r--Documentation/ide.txt6
-rw-r--r--drivers/ide/ide-dma.c13
-rw-r--r--drivers/ide/ide.c19
-rw-r--r--drivers/ide/setup-pci.c16
-rw-r--r--include/linux/ide.h4
5 files changed, 7 insertions, 51 deletions
diff --git a/Documentation/ide.txt b/Documentation/ide.txt
index 2bb5dd163281..d54e17f666b2 100644
--- a/Documentation/ide.txt
+++ b/Documentation/ide.txt
@@ -242,9 +242,6 @@ Summary of ide driver parameters for kernel command line
and quite likely to cause trouble with
older/odd IDE drives.
- "hdx=biostimings" : driver will NOT attempt to tune interface speed
- (DMA/PIO) but always honour BIOS timings.
-
"hdx=slow" : insert a huge pause after each access to the data
port. Should be used only as a last resort.
@@ -293,9 +290,6 @@ Summary of ide driver parameters for kernel command line
This is the default for most chipsets,
except the cmd640.
- "idex=biostimings" : driver will NOT attempt to tune interface speed
- (DMA/PIO) but always honour BIOS timings.
-
"idex=serialize" : do not overlap operations on idex. Please note
that you will have to specify this option for
both the respecitve primary and secondary channel
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c
index bf08b73c6aa1..10b5b3ad9b34 100644
--- a/drivers/ide/ide-dma.c
+++ b/drivers/ide/ide-dma.c
@@ -1105,18 +1105,9 @@ void ide_setup_dma (ide_hwif_t *hwif, unsigned long dma_base, unsigned int num_p
if (hwif->chipset != ide_trm290) {
u8 dma_stat = hwif->INB(hwif->dma_status);
- printk(", BIOS settings: %s:%s%s, %s:%s%s",
+ printk(", BIOS settings: %s:%s, %s:%s",
hwif->drives[0].name, (dma_stat & 0x20) ? "DMA" : "pio",
- hwif->drives[0].autotune == IDE_TUNE_BIOS ?
- " (used)" : "",
- hwif->drives[1].name, (dma_stat & 0x40) ? "DMA" : "pio",
- hwif->drives[1].autotune == IDE_TUNE_BIOS ?
- " (used)" : "");
-
- if (hwif->drives[0].autotune == IDE_TUNE_BIOS)
- hwif->drives[0].using_dma = (dma_stat & 0x20);
- if (hwif->drives[1].autotune == IDE_TUNE_BIOS)
- hwif->drives[1].using_dma = (dma_stat & 0x40);
+ hwif->drives[1].name, (dma_stat & 0x40) ? "DMA" : "pio");
}
printk("\n");
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index 9a5525d7d676..150eddf50438 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -1846,8 +1846,6 @@ static int __initdata is_chipset_set[MAX_HWIFS];
* Not fully supported by all chipset types,
* and quite likely to cause trouble with
* older/odd IDE drives.
- * "hdx=biostimings" : driver will NOT attempt to tune interface speed
- * (DMA/PIO) but always honour BIOS timings.
* "hdx=slow" : insert a huge pause after each access to the data
* port. Should be used only as a last resort.
*
@@ -1884,8 +1882,6 @@ static int __initdata is_chipset_set[MAX_HWIFS];
* "idex=noautotune" : driver will NOT attempt to tune interface speed
* This is the default for most chipsets,
* except the cmd640.
- * "idex=biostimings" : driver will NOT attempt to tune interface speed
- * (DMA/PIO) but always honour BIOS timings.
* "idex=serialize" : do not overlap operations on idex and ide(x^1)
* "idex=four" : four drives on idex and ide(x^1) share same ports
* "idex=reset" : reset interface before first use
@@ -1961,8 +1957,7 @@ int __init ide_setup (char *s)
const char *hd_words[] = {
"none", "noprobe", "nowerr", "cdrom", "serialize",
"autotune", "noautotune", "slow", "swapdata", "bswap",
- "flash", "remap", "remap63", "scsi", "biostimings",
- NULL };
+ "flash", "remap", "remap63", "scsi", NULL };
unit = s[2] - 'a';
hw = unit / MAX_DRIVES;
unit = unit % MAX_DRIVES;
@@ -2028,9 +2023,6 @@ int __init ide_setup (char *s)
case -14: /* "scsi" */
drive->scsi = 1;
goto done;
- case -15: /* "biostimings" */
- drive->autotune = IDE_TUNE_BIOS;
- goto done;
case 3: /* cyl,head,sect */
drive->media = ide_disk;
drive->cyl = drive->bios_cyl = vals[0];
@@ -2065,11 +2057,11 @@ int __init ide_setup (char *s)
if (s[3] >= '0' && s[3] <= max_hwif) {
/*
* Be VERY CAREFUL changing this: note hardcoded indexes below
- * -9,-10 : are reserved for future idex calls to ease the hardcoding.
+ * (-8, -9, -10) are reserved to ease the hardcoding.
*/
const char *ide_words[] = {
"noprobe", "serialize", "autotune", "noautotune",
- "reset", "dma", "ata66", "biostimings", "minus9",
+ "reset", "dma", "ata66", "minus8", "minus9",
"minus10", "four", "qd65xx", "ht6560b", "cmd640_vlb",
"dtc2278", "umc8672", "ali14xx", "dc4030", NULL };
hw = s[3] - '0';
@@ -2149,11 +2141,8 @@ int __init ide_setup (char *s)
#endif /* CONFIG_BLK_DEV_4DRIVES */
case -10: /* minus10 */
case -9: /* minus9 */
+ case -8: /* minus8 */
goto bad_option;
- case -8: /* "biostimings" */
- hwif->drives[0].autotune = IDE_TUNE_BIOS;
- hwif->drives[1].autotune = IDE_TUNE_BIOS;
- goto done;
case -7: /* ata66 */
#ifdef CONFIG_BLK_DEV_IDEPCI
hwif->udma_four = 1;
diff --git a/drivers/ide/setup-pci.c b/drivers/ide/setup-pci.c
index d1de94267ce5..a1bf1ae9bfd5 100644
--- a/drivers/ide/setup-pci.c
+++ b/drivers/ide/setup-pci.c
@@ -587,7 +587,6 @@ void ide_pci_setup_ports(struct pci_dev *dev, ide_pci_device_t *d, int autodma,
int at_least_one_hwif_enabled = 0;
ide_hwif_t *hwif, *mate = NULL;
static int secondpdc = 0;
- int drive0_tune, drive1_tune;
u8 tmp;
index->all = 0xf0f0;
@@ -648,27 +647,12 @@ controller_ok:
else
ide_hwif_setup_dma(dev, d, hwif);
bypass_legacy_dma:
-
- drive0_tune = hwif->drives[0].autotune;
- drive1_tune = hwif->drives[1].autotune;
-
if (d->init_hwif)
/* Call chipset-specific routine
* for each enabled hwif
*/
d->init_hwif(hwif);
- /*
- * This is in the wrong place. The driver may
- * do set up based on the autotune value and this
- * will then trash it. Torben please move it and
- * propagate the fixes into the drivers
- */
- if (drive0_tune == IDE_TUNE_BIOS) /* biostimings */
- hwif->drives[0].autotune = IDE_TUNE_BIOS;
- if (drive1_tune == IDE_TUNE_BIOS)
- hwif->drives[1].autotune = IDE_TUNE_BIOS;
-
mate = hwif;
at_least_one_hwif_enabled = 1;
}
diff --git a/include/linux/ide.h b/include/linux/ide.h
index bda3346af22f..fe10ca8d3dd8 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -107,7 +107,6 @@ typedef unsigned char byte; /* used everywhere */
/*
* Tune flags
*/
-#define IDE_TUNE_BIOS 3
#define IDE_TUNE_NOAUTO 2
#define IDE_TUNE_AUTO 1
#define IDE_TUNE_DEFAULT 0
@@ -722,8 +721,7 @@ typedef struct ide_drive_s {
unsigned nice0 : 1; /* give obvious excess bandwidth */
unsigned nice2 : 1; /* give a share in our own bandwidth */
unsigned doorlocking : 1; /* for removable only: door lock/unlock works */
- unsigned autotune : 3; /* 1=autotune, 2=noautotune,
- 3=biostimings, 0=default */
+ unsigned autotune : 2; /* 0=default, 1=autotune, 2=noautotune */
unsigned remap_0_to_1 : 1; /* 0=noremap, 1=remap 0->1 (for EZDrive) */
unsigned ata_flash : 1; /* 1=present, 0=default */
unsigned blocked : 1; /* 1=powermanagment told us not to do anything, so sleep nicely */