Commit 8cf715b3 authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz Committed by Linus Torvalds

[PATCH] ide: change CONFIG_IDEDISK_STOKE to a runtime option

From: Christoph Hellwig <hch@lst.de>

To be useful for distribution kernels it needs to be a runtime option.
The original patch is from Joerg Platte via the Debian kernel package,
with some adjustments from me (and me too - Bart).
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent da5aad2e
...@@ -248,6 +248,13 @@ Summary of ide driver parameters for kernel command line ...@@ -248,6 +248,13 @@ Summary of ide driver parameters for kernel command line
allowing ide-floppy, ide-tape, and ide-cdrom|writers allowing ide-floppy, ide-tape, and ide-cdrom|writers
to use ide-scsi emulation on a device specific option. to use ide-scsi emulation on a device specific option.
"hdx=stroke" : Should you have a system w/ an AWARD Bios and your
drives are larger than 32GB and it will not boot,
one is required to perform a few OEM operations first.
The option is called "stroke" because it allows one
to "soft clip" the drive to work around a barrier
limit.
"idebus=xx" : inform IDE driver of VESA/PCI bus speed in MHz, "idebus=xx" : inform IDE driver of VESA/PCI bus speed in MHz,
where "xx" is between 20 and 66 inclusive, where "xx" is between 20 and 66 inclusive,
used when tuning chipset PIO modes. used when tuning chipset PIO modes.
......
...@@ -157,20 +157,6 @@ config IDEDISK_MULTI_MODE ...@@ -157,20 +157,6 @@ config IDEDISK_MULTI_MODE
If in doubt, say N. If in doubt, say N.
config IDEDISK_STROKE
bool "Auto-Geometry Resizing support"
depends on BLK_DEV_IDEDISK
help
Should you have a system w/ an AWARD Bios and your drives are larger
than 32GB and it will not boot, one is required to perform a few OEM
operations first. The option is called "STROKE" because it allows
one to "soft clip" the drive to work around a barrier limit. For
Maxtor drives it is called "jumpon.exe". Please search Maxtor's
web-site for "JUMPON.EXE". IBM has a similar tool at:
<http://www.storage.ibm.com/hdd/support/download.htm>.
If you are unsure, say N here.
config BLK_DEV_IDECS config BLK_DEV_IDECS
tristate "PCMCIA IDE support" tristate "PCMCIA IDE support"
depends on PCMCIA depends on PCMCIA
......
...@@ -963,7 +963,6 @@ static unsigned long long idedisk_read_native_max_address_ext(ide_drive_t *drive ...@@ -963,7 +963,6 @@ static unsigned long long idedisk_read_native_max_address_ext(ide_drive_t *drive
return addr; return addr;
} }
#ifdef CONFIG_IDEDISK_STROKE
/* /*
* Sets maximum virtual LBA address of the drive. * Sets maximum virtual LBA address of the drive.
* Returns new maximum virtual LBA address (> 0) or 0 on failure. * Returns new maximum virtual LBA address (> 0) or 0 on failure.
...@@ -1032,8 +1031,6 @@ static unsigned long long idedisk_set_max_address_ext(ide_drive_t *drive, unsign ...@@ -1032,8 +1031,6 @@ static unsigned long long idedisk_set_max_address_ext(ide_drive_t *drive, unsign
return addr_set; return addr_set;
} }
#endif /* CONFIG_IDEDISK_STROKE */
static unsigned long long sectors_to_MB(unsigned long long n) static unsigned long long sectors_to_MB(unsigned long long n)
{ {
n <<= 9; /* make it bytes */ n <<= 9; /* make it bytes */
...@@ -1080,7 +1077,10 @@ static inline void idedisk_check_hpa(ide_drive_t *drive) ...@@ -1080,7 +1077,10 @@ static inline void idedisk_check_hpa(ide_drive_t *drive)
drive->name, drive->name,
capacity, sectors_to_MB(capacity), capacity, sectors_to_MB(capacity),
set_max, sectors_to_MB(set_max)); set_max, sectors_to_MB(set_max));
#ifdef CONFIG_IDEDISK_STROKE
if (!drive->stroke)
return;
if (lba48) if (lba48)
set_max = idedisk_set_max_address_ext(drive, set_max); set_max = idedisk_set_max_address_ext(drive, set_max);
else else
...@@ -1090,7 +1090,6 @@ static inline void idedisk_check_hpa(ide_drive_t *drive) ...@@ -1090,7 +1090,6 @@ static inline void idedisk_check_hpa(ide_drive_t *drive)
printk(KERN_INFO "%s: Host Protected Area disabled.\n", printk(KERN_INFO "%s: Host Protected Area disabled.\n",
drive->name); drive->name);
} }
#endif
} }
/* /*
......
...@@ -1806,7 +1806,7 @@ int __init ide_setup (char *s) ...@@ -1806,7 +1806,7 @@ int __init ide_setup (char *s)
if (s[0] == 'h' && s[1] == 'd' && s[2] >= 'a' && s[2] <= max_drive) { if (s[0] == 'h' && s[1] == 'd' && s[2] >= 'a' && s[2] <= max_drive) {
const char *hd_words[] = { const char *hd_words[] = {
"none", "noprobe", "nowerr", "cdrom", "serialize", "none", "noprobe", "nowerr", "cdrom", "serialize",
"autotune", "noautotune", "minus8", "swapdata", "bswap", "autotune", "noautotune", "stroke", "swapdata", "bswap",
"minus11", "remap", "remap63", "scsi", NULL }; "minus11", "remap", "remap63", "scsi", NULL };
unit = s[2] - 'a'; unit = s[2] - 'a';
hw = unit / MAX_DRIVES; hw = unit / MAX_DRIVES;
...@@ -1840,6 +1840,9 @@ int __init ide_setup (char *s) ...@@ -1840,6 +1840,9 @@ int __init ide_setup (char *s)
case -7: /* "noautotune" */ case -7: /* "noautotune" */
drive->autotune = IDE_TUNE_NOAUTO; drive->autotune = IDE_TUNE_NOAUTO;
goto done; goto done;
case -8: /* stroke */
drive->stroke = 1;
goto done;
case -9: /* "swapdata" */ case -9: /* "swapdata" */
case -10: /* "bswap" */ case -10: /* "bswap" */
drive->bswap = 1; drive->bswap = 1;
......
...@@ -751,6 +751,7 @@ typedef struct ide_drive_s { ...@@ -751,6 +751,7 @@ typedef struct ide_drive_s {
unsigned remap_0_to_1 : 1; /* 0=noremap, 1=remap 0->1 (for EZDrive) */ unsigned remap_0_to_1 : 1; /* 0=noremap, 1=remap 0->1 (for EZDrive) */
unsigned blocked : 1; /* 1=powermanagment told us not to do anything, so sleep nicely */ unsigned blocked : 1; /* 1=powermanagment told us not to do anything, so sleep nicely */
unsigned vdma : 1; /* 1=doing PIO over DMA 0=doing normal DMA */ unsigned vdma : 1; /* 1=doing PIO over DMA 0=doing normal DMA */
unsigned stroke : 1; /* from: hdx=stroke */
unsigned addressing; /* : 3; unsigned addressing; /* : 3;
* 0=28-bit * 0=28-bit
* 1=48-bit * 1=48-bit
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment