diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ide/Kconfig | 23 | ||||
-rw-r--r-- | drivers/ide/ide-probe.c | 6 |
2 files changed, 2 insertions, 27 deletions
diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig index 052879a6f853..b50b5dac95b0 100644 --- a/drivers/ide/Kconfig +++ b/drivers/ide/Kconfig | |||
@@ -131,29 +131,6 @@ config BLK_DEV_IDEDISK | |||
131 | 131 | ||
132 | If unsure, say Y. | 132 | If unsure, say Y. |
133 | 133 | ||
134 | config IDEDISK_MULTI_MODE | ||
135 | bool "Use multiple sector mode for Programmed Input/Output by default" | ||
136 | help | ||
137 | This setting is irrelevant for most IDE disks, with direct memory | ||
138 | access, to which multiple sector mode does not apply. Multiple sector | ||
139 | mode is a feature of most modern IDE hard drives, permitting the | ||
140 | transfer of multiple sectors per Programmed Input/Output interrupt, | ||
141 | rather than the usual one sector per interrupt. When this feature is | ||
142 | enabled, it can reduce operating system overhead for disk Programmed | ||
143 | Input/Output. On some systems, it also can increase the data | ||
144 | throughput of Programmed Input/Output. Some drives, however, seemed | ||
145 | to run slower with multiple sector mode enabled. Some drives claimed | ||
146 | to support multiple sector mode, but lost data at some settings. | ||
147 | Under rare circumstances, such failures could result in massive | ||
148 | filesystem corruption. | ||
149 | |||
150 | If you get the following error, try to say Y here: | ||
151 | |||
152 | hda: set_multmode: status=0x51 { DriveReady SeekComplete Error } | ||
153 | hda: set_multmode: error=0x04 { DriveStatusError } | ||
154 | |||
155 | If in doubt, say N. | ||
156 | |||
157 | config BLK_DEV_IDECS | 134 | config BLK_DEV_IDECS |
158 | tristate "PCMCIA IDE support" | 135 | tristate "PCMCIA IDE support" |
159 | depends on PCMCIA | 136 | depends on PCMCIA |
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c index 8cfce50c71e4..9926e12783bb 100644 --- a/drivers/ide/ide-probe.c +++ b/drivers/ide/ide-probe.c | |||
@@ -89,16 +89,14 @@ static void ide_disk_init_mult_count(ide_drive_t *drive) | |||
89 | u8 max_multsect = id[ATA_ID_MAX_MULTSECT] & 0xff; | 89 | u8 max_multsect = id[ATA_ID_MAX_MULTSECT] & 0xff; |
90 | 90 | ||
91 | if (max_multsect) { | 91 | if (max_multsect) { |
92 | #ifdef CONFIG_IDEDISK_MULTI_MODE | ||
93 | if ((max_multsect / 2) > 1) | 92 | if ((max_multsect / 2) > 1) |
94 | id[ATA_ID_MULTSECT] = max_multsect | 0x100; | 93 | id[ATA_ID_MULTSECT] = max_multsect | 0x100; |
95 | else | 94 | else |
96 | id[ATA_ID_MULTSECT] &= ~0x1ff; | 95 | id[ATA_ID_MULTSECT] &= ~0x1ff; |
97 | 96 | ||
98 | drive->mult_req = id[ATA_ID_MULTSECT] & 0xff; | 97 | drive->mult_req = id[ATA_ID_MULTSECT] & 0xff; |
99 | #endif | 98 | |
100 | if ((id[ATA_ID_MULTSECT] & 0x100) && | 99 | if (drive->mult_req) |
101 | (id[ATA_ID_MULTSECT] & 0xff)) | ||
102 | drive->special.b.set_multmode = 1; | 100 | drive->special.b.set_multmode = 1; |
103 | } | 101 | } |
104 | } | 102 | } |