i386: convert hardware exception 19 to an interrupt gate
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / drivers / ide / Kconfig
blobb50b5dac95b0f75a49d9da5aeae42e1db2d87a2c
2 # IDE ATA ATAPI Block device driver configuration
5 # Select HAVE_IDE if IDE is supported
6 config HAVE_IDE
7         def_bool n
9 menuconfig IDE
10         tristate "ATA/ATAPI/MFM/RLL support"
11         depends on HAVE_IDE
12         depends on BLOCK
13         ---help---
14           If you say Y here, your kernel will be able to manage low cost mass
15           storage units such as ATA/(E)IDE and ATAPI units. The most common
16           cases are IDE hard drives and ATAPI CD-ROM drives.
18           If your system is pure SCSI and doesn't use these interfaces, you
19           can say N here.
21           Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard
22           for mass storage units such as hard disks. It was designed by
23           Western Digital and Compaq Computer in 1984. It was then named
24           ST506. Quite a number of disks use the IDE interface.
26           AT Attachment (ATA) is the superset of the IDE specifications.
27           ST506 was also called ATA-1.
29           Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is
30           ATA-3. It provides support for larger disks (up to 8.4GB by means of
31           the LBA standard), more disks (4 instead of 2) and for other mass
32           storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is
33           ATA-4 and provides faster (and more CPU friendly) transfer modes
34           than previous PIO (Programmed processor Input/Output) from previous
35           ATA/IDE standards by means of fast DMA controllers.
37           ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and
38           CD-ROM drives, similar in many respects to the SCSI protocol.
40           SMART IDE (Self Monitoring, Analysis and Reporting Technology) was
41           designed in order to prevent data corruption and disk crash by
42           detecting pre hardware failure conditions (heat, access time, and
43           the like...). Disks built since June 1995 may follow this standard.
44           The kernel itself doesn't manage this; however there are quite a
45           number of user programs such as smart that can query the status of
46           SMART parameters from disk drives.
48           To compile this driver as a module, choose M here: the
49           module will be called ide.
51           For further information, please read <file:Documentation/ide/ide.txt>.
53           If unsure, say Y.
55 if IDE
57 config BLK_DEV_IDE
58         tristate "Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support"
59         ---help---
60           If you say Y here, you will use the full-featured IDE driver to
61           control up to ten ATA/IDE interfaces, each being able to serve a
62           "master" and a "slave" device, for a total of up to twenty ATA/IDE
63           disk/cdrom/tape/floppy drives.
65           Useful information about large (>540 MB) IDE disks, multiple
66           interfaces, what to do if ATA/IDE devices are not automatically
67           detected, sound card ATA/IDE ports, module support, and other
68           topics, is contained in <file:Documentation/ide/ide.txt>. For detailed
69           information about hard drives, consult the Disk-HOWTO and the
70           Multi-Disk-HOWTO, available from
71           <http://www.tldp.org/docs.html#howto>.
73           To fine-tune ATA/IDE drive/interface parameters for improved
74           performance, look for the hdparm package at
75           <ftp://ibiblio.org/pub/Linux/system/hardware/>.
77           To compile this driver as a module, choose M here and read
78           <file:Documentation/ide/ide.txt>. The module will be called ide-mod.
79           Do not compile this driver as a module if your root file system (the
80           one containing the directory /) is located on an IDE device.
82           If you have one or more IDE drives, say Y or M here. If your system
83           has no IDE drives, or if memory requirements are really tight, you
84           could say N here, and select the "Old hard disk driver" below
85           instead to save about 13 KB of memory in the kernel.
87 if BLK_DEV_IDE
89 comment "Please see Documentation/ide/ide.txt for help/info on IDE drives"
91 config IDE_TIMINGS
92         bool
94 config IDE_ATAPI
95         bool
97 config BLK_DEV_IDE_SATA
98         bool "Support for SATA (deprecated; conflicts with libata SATA driver)"
99         default n
100         ---help---
101           There are two drivers for Serial ATA controllers.
103           The main driver, "libata", uses the SCSI subsystem
104           and supports most modern SATA controllers. In order to use it
105           you may take a look at "Serial ATA (prod) and Parallel ATA
106           (experimental) drivers".
108           The IDE driver (which you are currently configuring) supports
109           a few first-generation SATA controllers.
111           In order to eliminate conflicts between the two subsystems,
112           this config option enables the IDE driver's SATA support.
113           Normally this is disabled, as it is preferred that libata
114           supports SATA controllers, and this (IDE) driver supports
115           PATA controllers.
117           If unsure, say N.
119 config BLK_DEV_IDEDISK
120         tristate "Include IDE/ATA-2 DISK support"
121         ---help---
122           This will include enhanced support for MFM/RLL/IDE hard disks.  If
123           you have a MFM/RLL/IDE disk, and there is no special reason to use
124           the old hard disk driver instead, say Y.  If you have an SCSI-only
125           system, you can say N here.
127           To compile this driver as a module, choose M here: the
128           module will be called ide-disk.
129           Do not compile this driver as a module if your root file system
130           (the one containing the directory /) is located on the IDE disk.
132           If unsure, say Y.
134 config BLK_DEV_IDECS
135         tristate "PCMCIA IDE support"
136         depends on PCMCIA
137         help
138           Support for Compact Flash cards, outboard IDE disks, tape drives,
139           and CD-ROM drives connected through a PCMCIA card.
141 config BLK_DEV_DELKIN
142         tristate "Cardbus IDE support (Delkin/ASKA/Workbit)"
143         depends on CARDBUS && PCI
144         help
145           Support for Delkin, ASKA, and Workbit Cardbus CompactFlash
146           Adapters.  This may also work for similar SD and XD adapters.
148 config BLK_DEV_IDECD
149         tristate "Include IDE/ATAPI CDROM support"
150         ---help---
151           If you have a CD-ROM drive using the ATAPI protocol, say Y. ATAPI is
152           a newer protocol used by IDE CD-ROM and TAPE drives, similar to the
153           SCSI protocol. Most new CD-ROM drives use ATAPI, including the
154           NEC-260, Mitsumi FX400, Sony 55E, and just about all non-SCSI
155           double(2X) or better speed drives.
157           If you say Y here, the CD-ROM drive will be identified at boot time
158           along with other IDE devices, as "hdb" or "hdc", or something
159           similar (check the boot messages with dmesg). If this is your only
160           CD-ROM drive, you can say N to all other CD-ROM options, but be sure
161           to say Y or M to "ISO 9660 CD-ROM file system support".
163           To compile this driver as a module, choose M here: the
164           module will be called ide-cd.
166 config BLK_DEV_IDECD_VERBOSE_ERRORS
167         bool "Verbose error logging for IDE/ATAPI CDROM driver" if EMBEDDED
168         depends on BLK_DEV_IDECD
169         default y
170         help
171           Turn this on to have the driver print out the meanings of the
172           ATAPI error codes.  This will use up additional 8kB of kernel-space
173           memory, though.
175 config BLK_DEV_IDETAPE
176         tristate "Include IDE/ATAPI TAPE support"
177         select IDE_ATAPI
178         help
179           If you have an IDE tape drive using the ATAPI protocol, say Y.
180           ATAPI is a newer protocol used by IDE tape and CD-ROM drives,
181           similar to the SCSI protocol.  If you have an SCSI tape drive
182           however, you can say N here.
184           You should also say Y if you have an OnStream DI-30 tape drive; this
185           will not work with the SCSI protocol, until there is support for the
186           SC-30 and SC-50 versions.
188           If you say Y here, the tape drive will be identified at boot time
189           along with other IDE devices, as "hdb" or "hdc", or something
190           similar, and will be mapped to a character device such as "ht0"
191           (check the boot messages with dmesg).  Be sure to consult the
192           <file:drivers/ide/ide-tape.c> and <file:Documentation/ide/ide.txt>
193           files for usage information.
195           To compile this driver as a module, choose M here: the
196           module will be called ide-tape.
198 config BLK_DEV_IDEFLOPPY
199         tristate "Include IDE/ATAPI FLOPPY support"
200         select IDE_ATAPI
201         ---help---
202           If you have an IDE floppy drive which uses the ATAPI protocol,
203           answer Y.  ATAPI is a newer protocol used by IDE CD-ROM/tape/floppy
204           drives, similar to the SCSI protocol.
206           The LS-120 and the IDE/ATAPI Iomega ZIP drive are also supported by
207           this driver. For information about jumper settings and the question
208           of when a ZIP drive uses a partition table, see
209           <http://www.win.tue.nl/~aeb/linux/zip/zip-1.html>.
210           (ATAPI PD-CD/CDR drives are not supported by this driver; support
211           for PD-CD/CDR drives is available if you answer Y to
212           "SCSI emulation support", below).
214           If you say Y here, the FLOPPY drive will be identified along with
215           other IDE devices, as "hdb" or "hdc", or something similar (check
216           the boot messages with dmesg).
218           To compile this driver as a module, choose M here: the
219           module will be called ide-floppy.
221 config BLK_DEV_IDESCSI
222         tristate "SCSI emulation support (DEPRECATED)"
223         depends on SCSI
224         select IDE_ATAPI
225         ---help---
226           WARNING: ide-scsi is no longer needed for cd writing applications!
227           The 2.6 kernel supports direct writing to ide-cd, which eliminates
228           the need for ide-scsi + the entire scsi stack just for writing a
229           cd. The new method is more efficient in every way.
231           This will provide SCSI host adapter emulation for IDE ATAPI devices,
232           and will allow you to use a SCSI device driver instead of a native
233           ATAPI driver.
235           If both this SCSI emulation and native ATAPI support are compiled
236           into the kernel, the native support will be used.
238 config BLK_DEV_IDEACPI
239         bool "IDE ACPI support"
240         depends on ACPI
241         ---help---
242           Implement ACPI support for generic IDE devices. On modern
243           machines ACPI support is required to properly handle ACPI S3 states.
245 config IDE_TASK_IOCTL
246         bool "IDE Taskfile Access"
247         help
248           This is a direct raw access to the media.  It is a complex but
249           elegant solution to test and validate the domain of the hardware and
250           perform below the driver data recovery if needed.  This is the most
251           basic form of media-forensics.
253           If you are unsure, say N here.
255 config IDE_PROC_FS
256         bool "legacy /proc/ide/ support"
257         depends on IDE && PROC_FS
258         default y
259         help
260           This option enables support for the various files in
261           /proc/ide.  In Linux 2.6 this has been superseded by
262           files in sysfs but many legacy applications rely on this.
264           If unsure say Y.
266 comment "IDE chipset support/bugfixes"
268 config IDE_GENERIC
269         tristate "generic/default IDE chipset support"
270         depends on ALPHA || X86 || IA64 || M32R || MIPS
271         help
272           This is the generic IDE driver.  This driver attaches to the
273           fixed legacy ports (e.g. on PCs 0x1f0/0x170, 0x1e8/0x168 and
274           so on).  Please note that if this driver is built into the
275           kernel or loaded before other ATA (IDE or libata) drivers
276           and the controller is located at legacy ports, this driver
277           may grab those ports and thus can prevent the controller
278           specific driver from attaching.
280           Also, currently, IDE generic doesn't allow IRQ sharing
281           meaning that the IRQs it grabs won't be available to other
282           controllers sharing those IRQs which usually makes drivers
283           for those controllers fail.  Generally, it's not a good idea
284           to load IDE generic driver on modern systems.
286           If unsure, say N.
288 config BLK_DEV_PLATFORM
289         tristate "Platform driver for IDE interfaces"
290         help
291           This is the platform IDE driver, used mostly for Memory Mapped
292           IDE devices, like Compact Flashes running in True IDE mode.
294           If unsure, say N.
296 config BLK_DEV_CMD640
297         tristate "CMD640 chipset bugfix/support"
298         depends on X86
299         select IDE_TIMINGS
300         ---help---
301           The CMD-Technologies CMD640 IDE chip is used on many common 486 and
302           Pentium motherboards, usually in combination with a "Neptune" or
303           "SiS" chipset. Unfortunately, it has a number of rather nasty
304           design flaws that can cause severe data corruption under many common
305           conditions. Say Y here to include code which tries to automatically
306           detect and correct the problems under Linux. This option also
307           enables access to the secondary IDE ports in some CMD640 based
308           systems.
310           This driver will work automatically in PCI based systems (most new
311           systems have PCI slots). But if your system uses VESA local bus
312           (VLB) instead of PCI, you must also supply a kernel boot parameter
313           to enable the CMD640 bugfix/support: "cmd640.probe_vlb". (Try "man
314           bootparam" or see the documentation of your boot loader about how to
315           pass options to the kernel.)
317           The CMD640 chip is also used on add-in cards by Acculogic, and on
318           the "CSA-6400E PCI to IDE controller" that some people have. For
319           details, read <file:Documentation/ide/ide.txt>.
321 config BLK_DEV_CMD640_ENHANCED
322         bool "CMD640 enhanced support"
323         depends on BLK_DEV_CMD640
324         help
325           This option includes support for setting/autotuning PIO modes and
326           prefetch on CMD640 IDE interfaces.  For details, read
327           <file:Documentation/ide/ide.txt>. If you have a CMD640 IDE interface
328           and your BIOS does not already do this for you, then say Y here.
329           Otherwise say N.
331 config BLK_DEV_IDEPNP
332         tristate "PNP EIDE support"
333         depends on PNP
334         help
335           If you have a PnP (Plug and Play) compatible EIDE card and
336           would like the kernel to automatically detect and activate
337           it, say Y here.
339 config BLK_DEV_IDEDMA_SFF
340         bool
342 if PCI
344 comment "PCI IDE chipsets support"
346 config BLK_DEV_IDEPCI
347         bool
349 config IDEPCI_PCIBUS_ORDER
350         bool "Probe IDE PCI devices in the PCI bus order (DEPRECATED)"
351         depends on BLK_DEV_IDE=y && BLK_DEV_IDEPCI
352         default y
353         help
354           Probe IDE PCI devices in the order in which they appear on the
355           PCI bus (i.e. 00:1f.1 PCI device before 02:01.0 PCI device)
356           instead of the order in which IDE PCI host drivers are loaded.
358           Please note that this method of assuring stable naming of
359           IDE devices is unreliable and use other means for achieving
360           it (i.e. udev).
362           If in doubt, say N.
364 # TODO: split it on per host driver config options (or module parameters)
365 config BLK_DEV_OFFBOARD
366         bool "Boot off-board chipsets first support (DEPRECATED)"
367         depends on BLK_DEV_IDEPCI && (BLK_DEV_AEC62XX || BLK_DEV_GENERIC || BLK_DEV_HPT34X || BLK_DEV_HPT366 || BLK_DEV_PDC202XX_NEW || BLK_DEV_PDC202XX_OLD || BLK_DEV_TC86C001)
368         help
369           Normally, IDE controllers built into the motherboard (on-board
370           controllers) are assigned to ide0 and ide1 while those on add-in PCI
371           cards (off-board controllers) are relegated to ide2 and ide3.
372           Answering Y here will allow you to reverse the situation, with
373           off-board controllers on ide0/1 and on-board controllers on ide2/3.
374           This can improve the usability of some boot managers such as lilo
375           when booting from a drive on an off-board controller.
377           Note that, if you do this, the order of the hd* devices will be
378           rearranged which may require modification of fstab and other files.
380           Please also note that this method of assuring stable naming of
381           IDE devices is unreliable and use other means for achieving it
382           (i.e. udev).
384           If in doubt, say N.
386 config BLK_DEV_GENERIC
387         tristate "Generic PCI IDE Chipset Support"
388         select BLK_DEV_IDEPCI
389         help
390           This option provides generic support for various PCI IDE Chipsets
391           which otherwise might not be supported.
393 config BLK_DEV_OPTI621
394         tristate "OPTi 82C621 chipset enhanced support (EXPERIMENTAL)"
395         depends on EXPERIMENTAL
396         select BLK_DEV_IDEPCI
397         help
398           This is a driver for the OPTi 82C621 EIDE controller.
399           Please read the comments at the top of <file:drivers/ide/pci/opti621.c>.
401 config BLK_DEV_RZ1000
402         tristate "RZ1000 chipset bugfix/support"
403         depends on X86
404         select BLK_DEV_IDEPCI
405         help
406           The PC-Technologies RZ1000 IDE chip is used on many common 486 and
407           Pentium motherboards, usually along with the "Neptune" chipset.
408           Unfortunately, it has a rather nasty design flaw that can cause
409           severe data corruption under many conditions. Say Y here to include
410           code which automatically detects and corrects the problem under
411           Linux. This may slow disk throughput by a few percent, but at least
412           things will operate 100% reliably.
414 config BLK_DEV_IDEDMA_PCI
415         bool
416         select BLK_DEV_IDEPCI
417         select BLK_DEV_IDEDMA_SFF
419 config BLK_DEV_AEC62XX
420         tristate "AEC62XX chipset support"
421         select BLK_DEV_IDEDMA_PCI
422         help
423           This driver adds explicit support for Acard AEC62xx (Artop ATP8xx)
424           IDE controllers. This allows the kernel to change PIO, DMA and UDMA
425           speeds and to configure the chip to optimum performance.
427 config BLK_DEV_ALI15X3
428         tristate "ALI M15x3 chipset support"
429         select IDE_TIMINGS
430         select BLK_DEV_IDEDMA_PCI
431         help
432           This driver ensures (U)DMA support for ALI 1533, 1543 and 1543C
433           onboard chipsets.  It also tests for Simplex mode and enables
434           normal dual channel support.
436           Please read the comments at the top of
437           <file:drivers/ide/pci/alim15x3.c>.
439           If unsure, say N.
441 config BLK_DEV_AMD74XX
442         tristate "AMD and nVidia IDE support"
443         depends on !ARM
444         select IDE_TIMINGS
445         select BLK_DEV_IDEDMA_PCI
446         help
447           This driver adds explicit support for AMD-7xx and AMD-8111 chips
448           and also for the nVidia nForce chip.  This allows the kernel to
449           change PIO, DMA and UDMA speeds and to configure the chip to
450           optimum performance.
452 config BLK_DEV_ATIIXP
453         tristate "ATI IXP chipset IDE support"
454         depends on X86
455         select BLK_DEV_IDEDMA_PCI
456         help
457           This driver adds explicit support for ATI IXP chipset.
458           This allows the kernel to change PIO, DMA and UDMA speeds
459           and to configure the chip to optimum performance.
461           Say Y here if you have an ATI IXP chipset IDE controller.
463 config BLK_DEV_CMD64X
464         tristate "CMD64{3|6|8|9} chipset support"
465         select IDE_TIMINGS
466         select BLK_DEV_IDEDMA_PCI
467         help
468           Say Y here if you have an IDE controller which uses any of these
469           chipsets: CMD643, CMD646, or CMD648.
471 config BLK_DEV_TRIFLEX
472         tristate "Compaq Triflex IDE support"
473         select BLK_DEV_IDEDMA_PCI
474         help
475           Say Y here if you have a Compaq Triflex IDE controller, such
476           as those commonly found on Compaq Pentium-Pro systems
478 config BLK_DEV_CY82C693
479         tristate "CY82C693 chipset support"
480         depends on ALPHA
481         select IDE_TIMINGS
482         select BLK_DEV_IDEDMA_PCI
483         help
484           This driver adds detection and support for the CY82C693 chipset
485           used on Digital's PC-Alpha 164SX boards.
487 config BLK_DEV_CS5520
488         tristate "Cyrix CS5510/20 MediaGX chipset support (VERY EXPERIMENTAL)"
489         depends on EXPERIMENTAL
490         select BLK_DEV_IDEDMA_PCI
491         help
492           Include support for PIO tuning and virtual DMA on the Cyrix MediaGX
493           5510/5520 chipset. This will automatically be detected and
494           configured if found.
496           It is safe to say Y to this question.
498 config BLK_DEV_CS5530
499         tristate "Cyrix/National Semiconductor CS5530 MediaGX chipset support"
500         select BLK_DEV_IDEDMA_PCI
501         help
502           Include support for UDMA on the Cyrix MediaGX 5530 chipset. This
503           will automatically be detected and configured if found.
505           It is safe to say Y to this question.
507 config BLK_DEV_CS5535
508         tristate "AMD CS5535 chipset support"
509         depends on X86 && !X86_64
510         select BLK_DEV_IDEDMA_PCI
511         help
512           Include support for UDMA on the NSC/AMD CS5535 companion chipset.
513           This will automatically be detected and configured if found.
515           It is safe to say Y to this question.
517 config BLK_DEV_HPT34X
518         tristate "HPT34X chipset support"
519         depends on BROKEN
520         select BLK_DEV_IDEDMA_PCI
521         help
522           This driver adds up to 4 more EIDE devices sharing a single
523           interrupt. The HPT343 chipset in its current form is a non-bootable
524           controller; the HPT345/HPT363 chipset is a bootable (needs BIOS FIX)
525           PCI UDMA controllers. This driver requires dynamic tuning of the
526           chipset during the ide-probe at boot time. It is reported to support
527           DVD II drives, by the manufacturer.
529 config HPT34X_AUTODMA
530         bool "HPT34X AUTODMA support (EXPERIMENTAL)"
531         depends on BLK_DEV_HPT34X && EXPERIMENTAL
532         help
533           This is a dangerous thing to attempt currently! Please read the
534           comments at the top of <file:drivers/ide/pci/hpt34x.c>.  If you say Y
535           here, then say Y to "Use DMA by default when available" as well.
537           If unsure, say N.
539 config BLK_DEV_HPT366
540         tristate "HPT36X/37X chipset support"
541         select BLK_DEV_IDEDMA_PCI
542         help
543           HPT366 is an Ultra DMA chipset for ATA-66.
544           HPT368 is an Ultra DMA chipset for ATA-66 RAID Based.
545           HPT370 is an Ultra DMA chipset for ATA-100.
546           HPT372 is an Ultra DMA chipset for ATA-100.
547           HPT374 is an Ultra DMA chipset for ATA-100.
549           This driver adds up to 4 more EIDE devices sharing a single
550           interrupt.
552           The HPT366 chipset in its current form is bootable. One solution
553           for this problem are special LILO commands for redirecting the
554           reference to device 0x80. The other solution is to say Y to "Boot
555           off-board chipsets first support" (CONFIG_BLK_DEV_OFFBOARD) unless
556           your mother board has the chipset natively mounted. Regardless one
557           should use the fore mentioned option and call at LILO.
559           This driver requires dynamic tuning of the chipset during the
560           ide-probe at boot. It is reported to support DVD II drives, by the
561           manufacturer.
563 config BLK_DEV_JMICRON
564         tristate "JMicron JMB36x support"
565         select BLK_DEV_IDEDMA_PCI
566         help
567           Basic support for the JMicron ATA controllers. For full support
568           use the libata drivers.
570 config BLK_DEV_SC1200
571         tristate "National SCx200 chipset support"
572         select BLK_DEV_IDEDMA_PCI
573         help
574           This driver adds support for the on-board IDE controller on the
575           National SCx200 series of embedded x86 "Geode" systems.
577 config BLK_DEV_PIIX
578         tristate "Intel PIIX/ICH chipsets support"
579         select BLK_DEV_IDEDMA_PCI
580         help
581           This driver adds explicit support for Intel PIIX and ICH chips.
582           This allows the kernel to change PIO, DMA and UDMA speeds and to
583           configure the chip to optimum performance.
585 config BLK_DEV_IT8213
586         tristate "IT8213 IDE support"
587         select BLK_DEV_IDEDMA_PCI
588         help
589          This driver adds support for the ITE 8213 IDE controller.
591 config BLK_DEV_IT821X
592         tristate "IT821X IDE support"
593         select BLK_DEV_IDEDMA_PCI
594         help
595           This driver adds support for the ITE 8211 IDE controller and the
596           IT 8212 IDE RAID controller in both RAID and pass-through mode.
598 config BLK_DEV_NS87415
599         tristate "NS87415 chipset support"
600         select BLK_DEV_IDEDMA_PCI
601         help
602           This driver adds detection and support for the NS87415 chip
603           (used mainly on SPARC64 and PA-RISC machines).
605           Please read the comments at the top of <file:drivers/ide/pci/ns87415.c>.
607 config BLK_DEV_PDC202XX_OLD
608         tristate "PROMISE PDC202{46|62|65|67} support"
609         select BLK_DEV_IDEDMA_PCI
610         help
611           Promise Ultra33 or PDC20246
612           Promise Ultra66 or PDC20262
613           Promise Ultra100 or PDC20265/PDC20267/PDC20268
615           This driver adds up to 4 more EIDE devices sharing a single
616           interrupt. This add-on card is a bootable PCI UDMA controller. Since
617           multiple cards can be installed and there are BIOS ROM problems that
618           happen if the BIOS revisions of all installed cards (three-max) do
619           not match, the driver attempts to do dynamic tuning of the chipset
620           at boot-time for max-speed.  Ultra33 BIOS 1.25 or newer is required
621           for more than one card.
623           Please read the comments at the top of
624           <file:drivers/ide/pci/pdc202xx_old.c>.
626           If unsure, say N.
628 config BLK_DEV_PDC202XX_NEW
629         tristate "PROMISE PDC202{68|69|70|71|75|76|77} support"
630         select BLK_DEV_IDEDMA_PCI
632 config BLK_DEV_SVWKS
633         tristate "ServerWorks OSB4/CSB5/CSB6 chipsets support"
634         select BLK_DEV_IDEDMA_PCI
635         help
636           This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5
637           chipsets.
639 config BLK_DEV_SGIIOC4
640         tristate "Silicon Graphics IOC4 chipset ATA/ATAPI support"
641         depends on (IA64_SGI_SN2 || IA64_GENERIC) && SGI_IOC4
642         select BLK_DEV_IDEDMA_PCI
643         help
644           This driver adds PIO & MultiMode DMA-2 support for the SGI IOC4
645           chipset, which has one channel and can support two devices.
646           Please say Y here if you have an Altix System from SGI.
648 config BLK_DEV_SIIMAGE
649         tristate "Silicon Image chipset support"
650         select BLK_DEV_IDEDMA_PCI
651         help
652           This driver adds PIO/(U)DMA support for the SI CMD680 and SII
653           3112 (Serial ATA) chips.
655 config BLK_DEV_SIS5513
656         tristate "SiS5513 chipset support"
657         depends on X86
658         select BLK_DEV_IDEDMA_PCI
659         help
660           This driver ensures (U)DMA support for SIS5513 chipset family based
661           mainboards.
663           The following chipsets are supported:
664           ATA16:  SiS5511, SiS5513
665           ATA33:  SiS5591, SiS5597, SiS5598, SiS5600
666           ATA66:  SiS530, SiS540, SiS620, SiS630, SiS640
667           ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740,
668           SiS745, SiS750
670           Please read the comments at the top of <file:drivers/ide/pci/sis5513.c>.
672 config BLK_DEV_SL82C105
673         tristate "Winbond SL82c105 support"
674         depends on (PPC || ARM)
675         select IDE_TIMINGS
676         select BLK_DEV_IDEDMA_PCI
677         help
678           If you have a Winbond SL82c105 IDE controller, say Y here to enable
679           special configuration for this chip. This is common on various CHRP
680           motherboards, but could be used elsewhere. If in doubt, say Y.
682 config BLK_DEV_SLC90E66
683         tristate "SLC90E66 chipset support"
684         select BLK_DEV_IDEDMA_PCI
685         help
686           This driver ensures (U)DMA support for Victory66 SouthBridges for
687           SMsC with Intel NorthBridges.  This is an Ultra66 based chipset.
688           The nice thing about it is that you can mix Ultra/DMA/PIO devices
689           and it will handle timing cycles.  Since this is an improved
690           look-a-like to the PIIX4 it should be a nice addition.
692           Please read the comments at the top of
693           <file:drivers/ide/pci/slc90e66.c>.
695 config BLK_DEV_TRM290
696         tristate "Tekram TRM290 chipset support"
697         select BLK_DEV_IDEDMA_PCI
698         help
699           This driver adds support for bus master DMA transfers
700           using the Tekram TRM290 PCI IDE chip. Volunteers are
701           needed for further tweaking and development.
702           Please read the comments at the top of <file:drivers/ide/pci/trm290.c>.
704 config BLK_DEV_VIA82CXXX
705         tristate "VIA82CXXX chipset support"
706         select IDE_TIMINGS
707         select BLK_DEV_IDEDMA_PCI
708         help
709           This driver adds explicit support for VIA BusMastering IDE chips.
710           This allows the kernel to change PIO, DMA and UDMA speeds and to
711           configure the chip to optimum performance.
713 config BLK_DEV_TC86C001
714         tristate "Toshiba TC86C001 support"
715         select BLK_DEV_IDEDMA_PCI
716         help
717         This driver adds support for Toshiba TC86C001 GOKU-S chip.
719 config BLK_DEV_CELLEB
720         tristate "Toshiba's Cell Reference Set IDE support"
721         depends on PPC_CELLEB
722         select BLK_DEV_IDEDMA_PCI
723         help
724           This driver provides support for the on-board IDE controller on
725           Toshiba Cell Reference Board.
726           If unsure, say Y.
728 endif
730 config BLK_DEV_IDE_PMAC
731         tristate "PowerMac on-board IDE support"
732         depends on PPC_PMAC && IDE=y && BLK_DEV_IDE=y
733         select IDE_TIMINGS
734         help
735           This driver provides support for the on-board IDE controller on
736           most of the recent Apple Power Macintoshes and PowerBooks.
737           If unsure, say Y.
739 config BLK_DEV_IDE_PMAC_ATA100FIRST
740         bool "Probe on-board ATA/100 (Kauai) first"
741         depends on BLK_DEV_IDE_PMAC
742         help
743           This option will cause the ATA/100 controller found in UniNorth2
744           based machines (Windtunnel PowerMac, Aluminium PowerBooks, ...)
745           to be probed before the ATA/66 and ATA/33 controllers. Without
746           these, those machine used to have the hard disk on hdc and the
747           CD-ROM on hda. This option changes this to more natural hda for
748           hard disk and hdc for CD-ROM.
750 config BLK_DEV_IDEDMA_PMAC
751         bool "PowerMac IDE DMA support"
752         depends on BLK_DEV_IDE_PMAC
753         select BLK_DEV_IDEDMA_PCI
754         help
755           This option allows the driver for the on-board IDE controller on
756           Power Macintoshes and PowerBooks to use DMA (direct memory access)
757           to transfer data to and from memory.  Saying Y is safe and improves
758           performance.
760 config BLK_DEV_IDE_AU1XXX
761        bool "IDE for AMD Alchemy Au1200"
762        depends on SOC_AU1200
763 choice
764        prompt "IDE Mode for AMD Alchemy Au1200"
765        default CONFIG_BLK_DEV_IDE_AU1XXX_PIO_DBDMA
766        depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX
768 config BLK_DEV_IDE_AU1XXX_PIO_DBDMA
769        bool "PIO+DbDMA IDE for AMD Alchemy Au1200"
771 config BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
772        bool "MDMA2+DbDMA IDE for AMD Alchemy Au1200"
773        depends on SOC_AU1200 && BLK_DEV_IDE_AU1XXX
774 endchoice
776 config BLK_DEV_IDE_AU1XXX_SEQTS_PER_RQ
777        int "Maximum transfer size (KB) per request (up to 128)"
778        default "128"
779        depends on BLK_DEV_IDE_AU1XXX
781 config IDE_ARM
782         tristate "ARM IDE support"
783         depends on ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
784         default y
786 config BLK_DEV_IDE_ICSIDE
787         tristate "ICS IDE interface support"
788         depends on ARM && ARCH_ACORN
789         help
790           On Acorn systems, say Y here if you wish to use the ICS IDE
791           interface card.  This is not required for ICS partition support.
792           If you are unsure, say N to this.
794 config BLK_DEV_IDEDMA_ICS
795         bool "ICS DMA support"
796         depends on BLK_DEV_IDE_ICSIDE
797         help
798           Say Y here if you want to add DMA (Direct Memory Access) support to
799           the ICS IDE driver.
801 config BLK_DEV_IDE_RAPIDE
802         tristate "RapIDE interface support"
803         depends on ARM && ARCH_ACORN
804         help
805           Say Y here if you want to support the Yellowstone RapIDE controller
806           manufactured for use with Acorn computers.
808 config IDE_H8300
809         tristate "H8300 IDE support"
810         depends on H8300
811         default y
812         help
813           Enables the H8300 IDE driver.
815 config BLK_DEV_GAYLE
816         tristate "Amiga Gayle IDE interface support"
817         depends on AMIGA
818         help
819           This is the IDE driver for the Amiga Gayle IDE interface. It supports
820           both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
821           This includes on-board IDE interfaces on some Amiga models (A600,
822           A1200, A4000, and A4000T), and IDE interfaces on the Zorro expansion
823           bus (M-Tech E-Matrix 530 expansion card).
824           Say Y if you have an Amiga with a Gayle IDE interface and want to use
825           IDE devices (hard disks, CD-ROM drives, etc.) that are connected to
826           it.
827           Note that you also have to enable Zorro bus support if you want to
828           use Gayle IDE interfaces on the Zorro expansion bus.
830 config BLK_DEV_IDEDOUBLER
831         bool "Amiga IDE Doubler support (EXPERIMENTAL)"
832         depends on BLK_DEV_GAYLE && EXPERIMENTAL
833         ---help---
834           This feature provides support for the so-called `IDE doublers' (made
835           by various manufacturers, e.g. Eyetech) that can be connected to
836           the on-board IDE interface of some Amiga models. Using such an IDE
837           doubler, you can connect up to four instead of two IDE devices to
838           the Amiga's on-board IDE interface.
840           Note that the normal Amiga Gayle IDE driver may not work correctly
841           if you have an IDE doubler and don't enable this feature!
843           Say Y if you have an IDE doubler.  The feature is enabled at kernel
844           runtime using the "gayle.doubler" kernel boot parameter.
846 config BLK_DEV_BUDDHA
847         tristate "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
848         depends on ZORRO && EXPERIMENTAL
849         help
850           This is the IDE driver for the IDE interfaces on the Buddha, Catweasel
851           and X-Surf expansion boards.  It supports up to two interfaces on the
852           Buddha, three on the Catweasel and two on the X-Surf.
854           Say Y if you have a Buddha or Catweasel expansion board and want to
855           use IDE devices (hard disks, CD-ROM drives, etc.) that are connected
856           to one of its IDE interfaces.
858 config BLK_DEV_FALCON_IDE
859         tristate "Falcon IDE interface support"
860         depends on ATARI
861         help
862           This is the IDE driver for the on-board IDE interface on the Atari
863           Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
864           disks, CD-ROM drives, etc.) that are connected to the on-board IDE
865           interface.
867 config BLK_DEV_MAC_IDE
868         tristate "Macintosh Quadra/Powerbook IDE interface support"
869         depends on MAC
870         help
871           This is the IDE driver for the on-board IDE interface on some m68k
872           Macintosh models. It supports both the `Quadra style' (used in
873           Quadra/ Centris 630 and Performa 588 models) and `Powerbook style'
874           (used in the Powerbook 150 and 190 models) IDE interface.
876           Say Y if you have such an Macintosh model and want to use IDE
877           devices (hard disks, CD-ROM drives, etc.) that are connected to the
878           on-board IDE interface.
880 config BLK_DEV_Q40IDE
881         tristate "Q40/Q60 IDE interface support"
882         depends on Q40
883         help
884           Enable the on-board IDE controller in the Q40/Q60.  This should
885           normally be on; disable it only if you are running a custom hard
886           drive subsystem through an expansion card.
888 config BLK_DEV_PALMCHIP_BK3710
889         tristate "Palmchip bk3710 IDE controller support"
890         depends on ARCH_DAVINCI
891         select IDE_TIMINGS
892         select BLK_DEV_IDEDMA_SFF
893         help
894           Say Y here if you want to support the onchip IDE controller on the
895           TI DaVinci SoC
897 # no isa -> no vlb
898 if ISA && (ALPHA || X86 || MIPS)
900 comment "Other IDE chipsets support"
901 comment "Note: most of these also require special kernel boot parameters"
903 config BLK_DEV_4DRIVES
904         tristate "Generic 4 drives/port support"
905         help
906           Certain older chipsets, including the Tekram 690CD, use a single set
907           of I/O ports at 0x1f0 to control up to four drives, instead of the
908           customary two drives per port. Support for this can be enabled at
909           runtime using the "ide-4drives.probe" kernel boot parameter if you
910           say Y here.
912 config BLK_DEV_ALI14XX
913         tristate "ALI M14xx support"
914         select IDE_TIMINGS
915         help
916           This driver is enabled at runtime using the "ali14xx.probe" kernel
917           boot parameter.  It enables support for the secondary IDE interface
918           of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster
919           I/O speeds to be set as well.
920           See the files <file:Documentation/ide/ide.txt> and
921           <file:drivers/ide/legacy/ali14xx.c> for more info.
923 config BLK_DEV_DTC2278
924         tristate "DTC-2278 support"
925         help
926           This driver is enabled at runtime using the "dtc2278.probe" kernel
927           boot parameter. It enables support for the secondary IDE interface
928           of the DTC-2278 card, and permits faster I/O speeds to be set as
929           well. See the <file:Documentation/ide/ide.txt> and
930           <file:drivers/ide/legacy/dtc2278.c> files for more info.
932 config BLK_DEV_HT6560B
933         tristate "Holtek HT6560B support"
934         select IDE_TIMINGS
935         help
936           This driver is enabled at runtime using the "ht6560b.probe" kernel
937           boot parameter. It enables support for the secondary IDE interface
938           of the Holtek card, and permits faster I/O speeds to be set as well.
939           See the <file:Documentation/ide/ide.txt> and
940           <file:drivers/ide/legacy/ht6560b.c> files for more info.
942 config BLK_DEV_QD65XX
943         tristate "QDI QD65xx support"
944         select IDE_TIMINGS
945         help
946           This driver is enabled at runtime using the "qd65xx.probe" kernel
947           boot parameter.  It permits faster I/O speeds to be set.  See the
948           <file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/qd65xx.c>
949           for more info.
951 config BLK_DEV_UMC8672
952         tristate "UMC-8672 support"
953         help
954           This driver is enabled at runtime using the "umc8672.probe" kernel
955           boot parameter. It enables support for the secondary IDE interface
956           of the UMC-8672, and permits faster I/O speeds to be set as well.
957           See the files <file:Documentation/ide/ide.txt> and
958           <file:drivers/ide/legacy/umc8672.c> for more info.
960 endif
962 config BLK_DEV_IDEDMA
963         def_bool BLK_DEV_IDEDMA_SFF || BLK_DEV_IDEDMA_PMAC || \
964                  BLK_DEV_IDEDMA_ICS || BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
966 endif
968 endif # IDE