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
allowing ide-floppy, ide-tape, and ide-cdrom|writers
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,
where "xx" is between 20 and 66 inclusive,
used when tuning chipset PIO modes.
......
......@@ -157,20 +157,6 @@ config IDEDISK_MULTI_MODE
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
tristate "PCMCIA IDE support"
depends on PCMCIA
......
......@@ -963,7 +963,6 @@ static unsigned long long idedisk_read_native_max_address_ext(ide_drive_t *drive
return addr;
}
#ifdef CONFIG_IDEDISK_STROKE
/*
* Sets maximum virtual LBA address of the drive.
* 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
return addr_set;
}
#endif /* CONFIG_IDEDISK_STROKE */
static unsigned long long sectors_to_MB(unsigned long long n)
{
n <<= 9; /* make it bytes */
......@@ -1080,7 +1077,10 @@ static inline void idedisk_check_hpa(ide_drive_t *drive)
drive->name,
capacity, sectors_to_MB(capacity),
set_max, sectors_to_MB(set_max));
#ifdef CONFIG_IDEDISK_STROKE
if (!drive->stroke)
return;
if (lba48)
set_max = idedisk_set_max_address_ext(drive, set_max);
else
......@@ -1090,7 +1090,6 @@ static inline void idedisk_check_hpa(ide_drive_t *drive)
printk(KERN_INFO "%s: Host Protected Area disabled.\n",
drive->name);
}
#endif
}
/*
......
......@@ -1806,7 +1806,7 @@ int __init ide_setup (char *s)
if (s[0] == 'h' && s[1] == 'd' && s[2] >= 'a' && s[2] <= max_drive) {
const char *hd_words[] = {
"none", "noprobe", "nowerr", "cdrom", "serialize",
"autotune", "noautotune", "minus8", "swapdata", "bswap",
"autotune", "noautotune", "stroke", "swapdata", "bswap",
"minus11", "remap", "remap63", "scsi", NULL };
unit = s[2] - 'a';
hw = unit / MAX_DRIVES;
......@@ -1840,6 +1840,9 @@ int __init ide_setup (char *s)
case -7: /* "noautotune" */
drive->autotune = IDE_TUNE_NOAUTO;
goto done;
case -8: /* stroke */
drive->stroke = 1;
goto done;
case -9: /* "swapdata" */
case -10: /* "bswap" */
drive->bswap = 1;
......
......@@ -751,6 +751,7 @@ typedef struct ide_drive_s {
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 vdma : 1; /* 1=doing PIO over DMA 0=doing normal DMA */
unsigned stroke : 1; /* from: hdx=stroke */
unsigned addressing; /* : 3;
* 0=28-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