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