V4L/DVB (8613): v4l: move BKL down to the driver level.
[linux-2.6] / drivers / ide / Kconfig
1 #
2 # IDE ATA ATAPI Block device driver configuration
3 #
4
5 # Select HAVE_IDE if IDE is supported
6 config HAVE_IDE
7         def_bool n
8
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.
17
18           If your system is pure SCSI and doesn't use these interfaces, you
19           can say N here.
20
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.
25
26           AT Attachment (ATA) is the superset of the IDE specifications.
27           ST506 was also called ATA-1.
28
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.
36
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.
39
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.
47
48           To compile this driver as a module, choose M here: the
49           module will be called ide.
50
51           For further information, please read <file:Documentation/ide/ide.txt>.
52
53           If unsure, say Y.
54
55 if IDE
56
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.
64
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>.
72
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/>.
76
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.
81
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.
86
87 if BLK_DEV_IDE
88
89 comment "Please see Documentation/ide/ide.txt for help/info on IDE drives"
90
91 config IDE_TIMINGS
92         bool
93
94 config IDE_ATAPI
95         bool
96
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.
102
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".
107
108           The IDE driver (which you are currently configuring) supports
109           a few first-generation SATA controllers.
110
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.
116
117           If unsure, say N.
118
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.
126
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.
131
132           If unsure, say Y.
133
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.
140
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.
147
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.
156
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".
162
163           To compile this driver as a module, choose M here: the
164           module will be called ide-cd.
165
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.
174
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.
183
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.
187
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.
194
195           To compile this driver as a module, choose M here: the
196           module will be called ide-tape.
197
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.
205
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).
213
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).
217
218           To compile this driver as a module, choose M here: the
219           module will be called ide-floppy.
220
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.
230
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.
234
235           If both this SCSI emulation and native ATAPI support are compiled
236           into the kernel, the native support will be used.
237
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.
244
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.
252
253           If you are unsure, say N here.
254
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.
263
264           If unsure say Y.
265
266 comment "IDE chipset support/bugfixes"
267
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.
279
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.
285
286           If unsure, say N.
287
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.
293
294           If unsure, say N.
295
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.
309
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.)
316
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>.
320
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.
330
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.
338
339 config BLK_DEV_IDEDMA_SFF
340         bool
341
342 if PCI
343
344 comment "PCI IDE chipsets support"
345
346 config BLK_DEV_IDEPCI
347         bool
348
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.
357
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).
361
362           If in doubt, say N.
363
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.
376
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.
379
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).
383
384           If in doubt, say N.
385
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.
392
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>.
400
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.
413
414 config BLK_DEV_IDEDMA_PCI
415         bool
416         select BLK_DEV_IDEPCI
417         select BLK_DEV_IDEDMA_SFF
418
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.
426
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.
435
436           Please read the comments at the top of
437           <file:drivers/ide/pci/alim15x3.c>.
438
439           If unsure, say N.
440
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.
451
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.
460
461           Say Y here if you have an ATI IXP chipset IDE controller.
462
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.
470
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
477
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.
486
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.
495
496           It is safe to say Y to this question.
497
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.
504
505           It is safe to say Y to this question.
506
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.
514
515           It is safe to say Y to this question.
516
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.
528
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.
536
537           If unsure, say N.
538
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.
548
549           This driver adds up to 4 more EIDE devices sharing a single
550           interrupt.
551
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.
558
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.
562
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.
569
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.
576
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.
584
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.
590
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.
597
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).
604
605           Please read the comments at the top of <file:drivers/ide/pci/ns87415.c>.
606
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
614
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.
622
623           Please read the comments at the top of
624           <file:drivers/ide/pci/pdc202xx_old.c>.
625
626           If unsure, say N.
627
628 config BLK_DEV_PDC202XX_NEW
629         tristate "PROMISE PDC202{68|69|70|71|75|76|77} support"
630         select BLK_DEV_IDEDMA_PCI
631
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.
638
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.
647
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.
654
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.
662
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
669
670           Please read the comments at the top of <file:drivers/ide/pci/sis5513.c>.
671
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.
681
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.
691
692           Please read the comments at the top of
693           <file:drivers/ide/pci/slc90e66.c>.
694
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>.
703
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.
712
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.
718
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.
727
728 endif
729
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.
738
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.
749
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.
759
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
767
768 config BLK_DEV_IDE_AU1XXX_PIO_DBDMA
769        bool "PIO+DbDMA IDE for AMD Alchemy Au1200"
770
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
775
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
780
781 config IDE_ARM
782         tristate "ARM IDE support"
783         depends on ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
784         default y
785
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.
793
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.
800
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.
807
808 config IDE_H8300
809         tristate "H8300 IDE support"
810         depends on H8300
811         default y
812         help
813           Enables the H8300 IDE driver.
814
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.
829
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.
839
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!
842
843           Say Y if you have an IDE doubler.  The feature is enabled at kernel
844           runtime using the "gayle.doubler" kernel boot parameter.
845
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.
853
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.
857
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.
866
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.
875
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.
879
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.
887
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
896
897 # no isa -> no vlb
898 if ISA && (ALPHA || X86 || MIPS)
899
900 comment "Other IDE chipsets support"
901 comment "Note: most of these also require special kernel boot parameters"
902
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.
911
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.
922
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.
931
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.
941
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.
950
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.
959
960 endif
961
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
965
966 endif
967
968 endif # IDE