#
# IDE ATA ATAPI Block device driver configuration
#
# Andre Hedrick <andre@linux-ide.org>
#

menu "ATA/ATAPI/MFM/RLL support"

config IDE
	tristate "ATA/ATAPI/MFM/RLL support"
	---help---
	  If you say Y here, your kernel will be able to manage low cost mass
	  storage units such as ATA/(E)IDE and ATAPI units. The most common
	  cases are IDE hard drives and ATAPI CD-ROM drives.

	  If your system is pure SCSI and doesn't use these interfaces, you
	  can say N here.

	  Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard
	  for mass storage units such as hard disks. It was designed by
	  Western Digital and Compaq Computer in 1984. It was then named
	  ST506. Quite a number of disks use the IDE interface.

	  AT Attachment (ATA) is the superset of the IDE specifications.
	  ST506 was also called ATA-1.

	  Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is
	  ATA-3. It provides support for larger disks (up to 8.4GB by means of
	  the LBA standard), more disks (4 instead of 2) and for other mass
	  storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is
	  ATA-4 and provides faster (and more CPU friendly) transfer modes
	  than previous PIO (Programmed processor Input/Output) from previous
	  ATA/IDE standards by means of fast DMA controllers.

	  ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and
	  CD-ROM drives, similar in many respects to the SCSI protocol.

	  SMART IDE (Self Monitoring, Analysis and Reporting Technology) was
	  designed in order to prevent data corruption and disk crash by
	  detecting pre hardware failure conditions (heat, access time, and
	  the like...). Disks built since June 1995 may follow this standard.
	  The kernel itself doesn't manage this; however there are quite a
	  number of user programs such as smart that can query the status of
	  SMART parameters from disk drives.

	  To compile this driver as a module, choose M here: the
	  module will be called ide.

	  For further information, please read <file:Documentation/ide.txt>.

	  If unsure, say Y.

if IDE

config BLK_DEV_IDE
	tristate "Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support"
	---help---
	  If you say Y here, you will use the full-featured IDE driver to
	  control up to ten ATA/IDE interfaces, each being able to serve a
	  "master" and a "slave" device, for a total of up to twenty ATA/IDE
	  disk/cdrom/tape/floppy drives.

	  Useful information about large (>540 MB) IDE disks, multiple
	  interfaces, what to do if ATA/IDE devices are not automatically
	  detected, sound card ATA/IDE ports, module support, and other
	  topics, is contained in <file:Documentation/ide.txt>. For detailed
	  information about hard drives, consult the Disk-HOWTO and the
	  Multi-Disk-HOWTO, available from
	  <http://www.tldp.org/docs.html#howto>.

	  To fine-tune ATA/IDE drive/interface parameters for improved
	  performance, look for the hdparm package at
	  <ftp://ibiblio.org/pub/Linux/system/hardware/>.

	  To compile this driver as a module, choose M here and read
	  <file:Documentation/ide.txt>. The module will be called ide-mod.
	  Do not compile this driver as a module if your root file system (the
	  one containing the directory /) is located on an IDE device.

	  If you have one or more IDE drives, say Y or M here. If your system
	  has no IDE drives, or if memory requirements are really tight, you
	  could say N here, and select the "Old hard disk driver" below
	  instead to save about 13 KB of memory in the kernel.

if BLK_DEV_IDE

comment "Please see Documentation/ide.txt for help/info on IDE drives"

config BLK_DEV_IDEDISK
	tristate "Include IDE/ATA-2 DISK support"
	---help---
	  This will include enhanced support for MFM/RLL/IDE hard disks.  If
	  you have a MFM/RLL/IDE disk, and there is no special reason to use
	  the old hard disk driver instead, say Y.  If you have an SCSI-only
	  system, you can say N here.

	  To compile this driver as a module, choose M here: the
	  module will be called ide-disk.
	  Do not compile this driver as a module if your root file system
	  (the one containing the directory /) is located on the IDE disk.

	  If unsure, say Y.

config IDEDISK_MULTI_MODE
	bool "Use multi-mode by default"
	depends on BLK_DEV_IDEDISK
	help
	  If you get this error, try to say Y here:

	  hda: set_multmode: status=0x51 { DriveReady SeekComplete Error }
	  hda: set_multmode: error=0x04 { DriveStatusError }

	  If in doubt, say N.

comment "IDE chipset support/bugfixes"

config IDE_GENERIC
	tristate "generic/default IDE chipset support"
	default y
	help
	  If unsure, say Y.

config BLK_DEV_IDEPCI
	bool "PCI IDE chipset support" if PCI
	default BLK_DEV_IDEDMA_PMAC if PPC_PMAC && BLK_DEV_IDEDMA_PMAC
	help
	  Say Y here for PCI systems which use IDE drive(s).
	  This option helps the IDE driver to automatically detect and
	  configure all PCI-based IDE interfaces in your system.

config IDEPCI_SHARE_IRQ
	bool "Sharing PCI IDE interrupts support"
	depends on PCI && BLK_DEV_IDEPCI
	help
	  Some ATA/IDE chipsets have hardware support which allows for
	  sharing a single IRQ with other cards. To enable support for
	  this in the ATA/IDE driver, say Y here.

	  It is safe to say Y to this question, in most cases.
	  If unsure, say N.

config BLK_DEV_OFFBOARD
	bool "Boot off-board chipsets first support"
	depends on PCI && BLK_DEV_IDEPCI
	help
	  Normally, IDE controllers built into the motherboard (on-board
	  controllers) are assigned to ide0 and ide1 while those on add-in PCI
	  cards (off-board controllers) are relegated to ide2 and ide3.
	  Answering Y here will allow you to reverse the situation, with
	  off-board controllers on ide0/1 and on-board controllers on ide2/3.
	  This can improve the usability of some boot managers such as lilo
	  when booting from a drive on an off-board controller.

	  If you say Y here, and you actually want to reverse the device scan
	  order as explained above, you also need to issue the kernel command
	  line option "ide=reverse". (Try "man bootparam" or see the
	  documentation of your boot loader (lilo or loadlin) about how to
	  pass options to the kernel at boot time.)

	  Note that, if you do this, the order of the hd* devices will be
	  rearranged which may require modification of fstab and other files.

	  If in doubt, say N.

config BLK_DEV_GENERIC
	tristate "Generic PCI IDE Chipset Support"
	depends on BLK_DEV_IDEPCI


config BLK_DEV_IDEDMA_PCI
	bool "Generic PCI bus-master DMA support"
	depends on PCI && BLK_DEV_IDEPCI
	---help---
	  If your PCI system uses IDE drive(s) (as opposed to SCSI, say) and
	  is capable of bus-master DMA operation (most Pentium PCI systems),
	  you will want to say Y here to reduce CPU overhead. You can then use
	  the "hdparm" utility to enable DMA for drives for which it was not
	  enabled automatically. By default, DMA is not enabled automatically
	  for these drives, but you can change that by saying Y to the
	  following question "Use DMA by default when available". You can get
	  the latest version of the hdparm utility from
	  <ftp://ibiblio.org/pub/Linux/system/hardware/>.

	  Read the comments at the beginning of <file:drivers/ide/ide-dma.c>
	  and the file <file:Documentation/ide.txt> for more information.

	  It is safe to say Y to this question.

if BLK_DEV_IDEDMA_PCI

config BLK_DEV_IDEDMA_FORCED
	bool "Force enable legacy 2.0.X HOSTS to use DMA"
	help
	  This is an old piece of lost code from Linux 2.0 Kernels.

	  Generally say N here.

config IDEDMA_PCI_AUTO
	bool "Use PCI DMA by default when available"
	---help---
	  Prior to kernel version 2.1.112, Linux used to automatically use
	  DMA for IDE drives and chipsets which support it. Due to concerns
	  about a couple of cases where buggy hardware may have caused damage,
	  the default is now to NOT use DMA automatically. To revert to the
	  previous behaviour, say Y to this question.

	  If you suspect your hardware is at all flakey, say N here.
	  Do NOT email the IDE kernel people regarding this issue!

	  It is normally safe to answer Y to this question unless your
	  motherboard uses a VIA VP2 chipset, in which case you should say N.

config IDEDMA_ONLYDISK
	bool "Enable DMA only for disks "
	depends on IDEDMA_PCI_AUTO
	help
	  This is used if you know your ATAPI Devices are going to fail DMA
	  Transfers.

	  Generally say N here.

config BLK_DEV_ADMA
	bool
	depends on PCI && BLK_DEV_IDEPCI
	default BLK_DEV_IDEDMA_PCI

config BLK_DEV_VIA82CXXX
	tristate "VIA82CXXX chipset support"
	help
	  This driver adds explicit support for VIA BusMastering IDE chips.
	  This allows the kernel to change PIO, DMA and UDMA speeds and to
	  configure the chip to optimum performance.

endif

config BLK_DEV_IDEDMA
	def_bool BLK_DEV_IDEDMA_PCI || BLK_DEV_IDEDMA_PMAC || BLK_DEV_IDEDMA_ICS

config IDEDMA_IVB
	bool "IGNORE word93 Validation BITS"
	depends on BLK_DEV_IDEDMA_PCI || BLK_DEV_IDEDMA_PMAC || BLK_DEV_IDEDMA_ICS
	---help---
	  There are unclear terms in ATA-4 and ATA-5 standards how certain
	  hardware (an 80c ribbon) should be detected. Different interpretations
	  of the standards have been released in hardware. This causes problems:
	  for example, a host with Ultra Mode 4 (or higher) will not run
	  in that mode with an 80c ribbon.

	  If you are experiencing compatibility or performance problems, you
	  MAY try to answering Y here. However, it does not necessarily solve
	  any of your problems, it could even cause more of them.

	  It is normally safe to answer Y; however, the default is N.

config IDEDMA_AUTO
	def_bool IDEDMA_PCI_AUTO || BLK_DEV_IDEDMA_PMAC_AUTO || IDEDMA_ICS_AUTO

endif

config BLK_DEV_HD_ONLY
	bool "Old hard disk (MFM/RLL/IDE) driver"
	depends on BLK_DEV_IDE=n
	help
	  There are two drivers for MFM/RLL/IDE hard disks. Most people use
	  the newer enhanced driver, but this old one is still around for two
	  reasons. Some older systems have strange timing problems and seem to
	  work only with the old driver (which itself does not work with some
	  newer systems). The other reason is that the old driver is smaller,
	  since it lacks the enhanced functionality of the new one. This makes
	  it a good choice for systems with very tight memory restrictions, or
	  for systems with only older MFM/RLL/ESDI drives. Choosing the old
	  driver can save 13 KB or so of kernel memory.

	  If you are unsure, then just choose the Enhanced IDE/MFM/RLL driver
	  instead of this one. For more detailed information, read the
	  Disk-HOWTO, available from
	  <http://www.tldp.org/docs.html#howto>.

config BLK_DEV_HD
	def_bool BLK_DEV_HD_IDE || BLK_DEV_HD_ONLY

endif

endmenu
