xref: /linux/drivers/scsi/Kconfig (revision 65a15d6560dff065339f6cac91de4beded60fe3f)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
21da177e4SLinus Torvaldsmenu "SCSI device support"
31da177e4SLinus Torvalds
4fac829fdSJames Bottomleyconfig SCSI_MOD
5fac829fdSJames Bottomley	tristate
6fac829fdSJames Bottomley	default y if SCSI=n || SCSI=y
7fac829fdSJames Bottomley	default m if SCSI=m
83d217b9aSLukas Bulwahn	depends on BLOCK
9fac829fdSJames Bottomley
1061a7afa2SJames Bottomleyconfig RAID_ATTRS
1161a7afa2SJames Bottomley	tristate "RAID Transport Class"
1261a7afa2SJames Bottomley	default n
139361401eSDavid Howells	depends on BLOCK
14fac829fdSJames Bottomley	depends on SCSI_MOD
15a7f7f624SMasahiro Yamada	help
1661a7afa2SJames Bottomley	  Provides RAID
1761a7afa2SJames Bottomley
1833ff4ce4SChristoph Hellwigconfig SCSI_COMMON
1933ff4ce4SChristoph Hellwig	tristate
2033ff4ce4SChristoph Hellwig
211da177e4SLinus Torvaldsconfig SCSI
221da177e4SLinus Torvalds	tristate "SCSI device support"
239361401eSDavid Howells	depends on BLOCK
247689e82eSCornelia Huck	select SCSI_DMA if HAS_DMA
259b1d6c89SMing Lin	select SG_POOL
2633ff4ce4SChristoph Hellwig	select SCSI_COMMON
2778011042SChristoph Hellwig	select BLK_DEV_BSG_COMMON if BLK_DEV_BSG
28a7f7f624SMasahiro Yamada	help
291da177e4SLinus Torvalds	  If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or
301da177e4SLinus Torvalds	  any other SCSI device under Linux, say Y and make sure that you know
311da177e4SLinus Torvalds	  the name of your SCSI host adapter (the card inside your computer
321da177e4SLinus Torvalds	  that "speaks" the SCSI protocol, also called SCSI controller),
331da177e4SLinus Torvalds	  because you will be asked for it.
341da177e4SLinus Torvalds
351da177e4SLinus Torvalds	  You also need to say Y here if you have a device which speaks
361da177e4SLinus Torvalds	  the SCSI protocol.  Examples of this include the parallel port
371da177e4SLinus Torvalds	  version of the IOMEGA ZIP drive, USB storage devices, Fibre
3893c164afSFUJITA Tomonori	  Channel, and FireWire storage.
391da177e4SLinus Torvalds
401da177e4SLinus Torvalds	  To compile this driver as a module, choose M here and read
41b7223d9bSMauro Carvalho Chehab	  <file:Documentation/scsi/scsi.rst>.
421da177e4SLinus Torvalds	  The module will be called scsi_mod.
431da177e4SLinus Torvalds
441da177e4SLinus Torvalds	  However, do not compile this as a module if your root file system
451da177e4SLinus Torvalds	  (the one containing the directory /) is located on a SCSI device.
461da177e4SLinus Torvalds
477689e82eSCornelia Huckconfig SCSI_DMA
487689e82eSCornelia Huck	bool
497689e82eSCornelia Huck	default n
507689e82eSCornelia Huck
5153dce332SFinn Thainconfig SCSI_ESP_PIO
5253dce332SFinn Thain	bool
5353dce332SFinn Thain
5484314fd4SJames Smartconfig SCSI_NETLINK
552b7cbe20SJames Bottomley	bool
5684314fd4SJames Smart	default	n
575d6be6a5SAnish Bhatt	depends on NET
5884314fd4SJames Smart
591da177e4SLinus Torvaldsconfig SCSI_PROC_FS
601da177e4SLinus Torvalds	bool "legacy /proc/scsi/ support"
611da177e4SLinus Torvalds	depends on SCSI && PROC_FS
621da177e4SLinus Torvalds	default y
63a7f7f624SMasahiro Yamada	help
641da177e4SLinus Torvalds	  This option enables support for the various files in
6509509603SMatt LaPlante	  /proc/scsi.  In Linux 2.6 this has been superseded by
661da177e4SLinus Torvalds	  files in sysfs but many legacy applications rely on this.
671da177e4SLinus Torvalds
6809509603SMatt LaPlante	  If unsure say Y.
691da177e4SLinus Torvalds
701da177e4SLinus Torvaldscomment "SCSI support type (disk, tape, CD-ROM)"
711da177e4SLinus Torvalds	depends on SCSI
721da177e4SLinus Torvalds
731da177e4SLinus Torvaldsconfig BLK_DEV_SD
741da177e4SLinus Torvalds	tristate "SCSI disk support"
751da177e4SLinus Torvalds	depends on SCSI
76a754bd5fSHerbert Xu	select BLK_DEV_INTEGRITY_T10 if BLK_DEV_INTEGRITY
77a7f7f624SMasahiro Yamada	help
781da177e4SLinus Torvalds	  If you want to use SCSI hard disks, Fibre Channel disks,
79abcdceb9SRandy Dunlap	  Serial ATA (SATA) or Parallel ATA (PATA) hard disks,
801da177e4SLinus Torvalds	  USB storage or the SCSI or parallel port version of
811da177e4SLinus Torvalds	  the IOMEGA ZIP drive, say Y and read the SCSI-HOWTO,
821da177e4SLinus Torvalds	  the Disk-HOWTO and the Multi-Disk-HOWTO, available from
831da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>. This is NOT for SCSI
841da177e4SLinus Torvalds	  CD-ROMs.
851da177e4SLinus Torvalds
861da177e4SLinus Torvalds	  To compile this driver as a module, choose M here and read
87b7223d9bSMauro Carvalho Chehab	  <file:Documentation/scsi/scsi.rst>.
881da177e4SLinus Torvalds	  The module will be called sd_mod.
891da177e4SLinus Torvalds
901da177e4SLinus Torvalds	  Do not compile this driver as a module if your root file system
911da177e4SLinus Torvalds	  (the one containing the directory /) is located on a SCSI disk.
921da177e4SLinus Torvalds	  In this case, do not compile the driver for your SCSI host adapter
931da177e4SLinus Torvalds	  (below) as a module either.
941da177e4SLinus Torvalds
951da177e4SLinus Torvaldsconfig CHR_DEV_ST
961da177e4SLinus Torvalds	tristate "SCSI tape support"
971da177e4SLinus Torvalds	depends on SCSI
98a7f7f624SMasahiro Yamada	help
991da177e4SLinus Torvalds	  If you want to use a SCSI tape drive under Linux, say Y and read the
1001da177e4SLinus Torvalds	  SCSI-HOWTO, available from
1011da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>, and
102bf65c846SMauro Carvalho Chehab	  <file:Documentation/scsi/st.rst> in the kernel source.  This is NOT
1031da177e4SLinus Torvalds	  for SCSI CD-ROMs.
1041da177e4SLinus Torvalds
1051da177e4SLinus Torvalds	  To compile this driver as a module, choose M here and read
106b7223d9bSMauro Carvalho Chehab	  <file:Documentation/scsi/scsi.rst>. The module will be called st.
1071da177e4SLinus Torvalds
1081da177e4SLinus Torvaldsconfig BLK_DEV_SR
1091da177e4SLinus Torvalds	tristate "SCSI CDROM support"
110c091fbe9SArnd Bergmann	depends on SCSI && BLK_DEV
1112a750166SBart Van Assche	select CDROM
112a7f7f624SMasahiro Yamada	help
113e7fb6d2eSAlan Cox	  If you want to use a CD or DVD drive attached to your computer
114e7fb6d2eSAlan Cox	  by SCSI, FireWire, USB or ATAPI, say Y and read the SCSI-HOWTO
115e7fb6d2eSAlan Cox	  and the CDROM-HOWTO at <http://www.tldp.org/docs.html#howto>.
116e7fb6d2eSAlan Cox
117e7fb6d2eSAlan Cox	  Make sure to say Y or M to "ISO 9660 CD-ROM file system support".
1181da177e4SLinus Torvalds
1191da177e4SLinus Torvalds	  To compile this driver as a module, choose M here and read
120b7223d9bSMauro Carvalho Chehab	  <file:Documentation/scsi/scsi.rst>.
1211da177e4SLinus Torvalds	  The module will be called sr_mod.
1221da177e4SLinus Torvalds
1231da177e4SLinus Torvaldsconfig CHR_DEV_SG
1241da177e4SLinus Torvalds	tristate "SCSI generic support"
1251da177e4SLinus Torvalds	depends on SCSI
126a7f7f624SMasahiro Yamada	help
1271da177e4SLinus Torvalds	  If you want to use SCSI scanners, synthesizers or CD-writers or just
1281da177e4SLinus Torvalds	  about anything having "SCSI" in its name other than hard disks,
1291da177e4SLinus Torvalds	  CD-ROMs or tapes, say Y here. These won't be supported by the kernel
1301da177e4SLinus Torvalds	  directly, so you need some additional software which knows how to
1311da177e4SLinus Torvalds	  talk to these devices using the SCSI protocol:
1321da177e4SLinus Torvalds
133631dd1a8SJustin P. Mattock	  For scanners, look at SANE (<http://www.sane-project.org/>). For CD
1341da177e4SLinus Torvalds	  writer software look at Cdrtools
135fa17a6dcSDiego Elio Pettenò	  (<http://cdrtools.sourceforge.net/>)
1361da177e4SLinus Torvalds	  and for burning a "disk at once": CDRDAO
1371da177e4SLinus Torvalds	  (<http://cdrdao.sourceforge.net/>). Cdparanoia is a high
1381da177e4SLinus Torvalds	  quality digital reader of audio CDs (<http://www.xiph.org/paranoia/>).
1391da177e4SLinus Torvalds	  For other devices, it's possible that you'll have to write the
1401da177e4SLinus Torvalds	  driver software yourself. Please read the file
141d4d79340SMauro Carvalho Chehab	  <file:Documentation/scsi/scsi-generic.rst> for more information.
1421da177e4SLinus Torvalds
1431da177e4SLinus Torvalds	  To compile this driver as a module, choose M here and read
144b7223d9bSMauro Carvalho Chehab	  <file:Documentation/scsi/scsi.rst>. The module will be called sg.
1451da177e4SLinus Torvalds
1461da177e4SLinus Torvalds	  If unsure, say N.
1471da177e4SLinus Torvalds
14878011042SChristoph Hellwigconfig BLK_DEV_BSG
14978011042SChristoph Hellwig	bool "/dev/bsg support (SG v4)"
15078011042SChristoph Hellwig	depends on SCSI
15178011042SChristoph Hellwig	default y
15278011042SChristoph Hellwig	help
15378011042SChristoph Hellwig	  Saying Y here will enable generic SG (SCSI generic) v4 support
15478011042SChristoph Hellwig	  for any SCSI device.
15578011042SChristoph Hellwig
15678011042SChristoph Hellwig	  This option is required by UDEV to access device serial numbers, etc.
15778011042SChristoph Hellwig
15878011042SChristoph Hellwig	  If unsure, say Y.
15978011042SChristoph Hellwig
160daa6eda6SGerd Knorr config CHR_DEV_SCH
161daa6eda6SGerd Knorr 	tristate "SCSI media changer support"
162daa6eda6SGerd Knorr 	depends on SCSI
163a7f7f624SMasahiro Yamada	help
164daa6eda6SGerd Knorr 	  This is a driver for SCSI media changers.  Most common devices are
165daa6eda6SGerd Knorr 	  tape libraries and MOD/CDROM jukeboxes.  *Real* jukeboxes, you
166daa6eda6SGerd Knorr 	  don't need this for those tiny 6-slot cdrom changers.  Media
167daa6eda6SGerd Knorr 	  changers are listed as "Type: Medium Changer" in /proc/scsi/scsi.
168daa6eda6SGerd Knorr 	  If you have such hardware and want to use it with linux, say Y
169731fc16cSMauro Carvalho Chehab	  here.  Check <file:Documentation/scsi/scsi-changer.rst> for details.
170daa6eda6SGerd Knorr 
171daa6eda6SGerd Knorr 	  If you want to compile this as a module ( = code which can be
172daa6eda6SGerd Knorr 	  inserted in and removed from the running kernel whenever you want),
173cd238effSMauro Carvalho Chehab	  say M here and read <file:Documentation/kbuild/modules.rst> and
174b7223d9bSMauro Carvalho Chehab	  <file:Documentation/scsi/scsi.rst>. The module will be called ch.o.
175daa6eda6SGerd Knorr 	  If unsure, say N.
176daa6eda6SGerd Knorr 
1779927c688SJames Bottomleyconfig SCSI_ENCLOSURE
1789927c688SJames Bottomley	tristate "SCSI Enclosure Support"
1799927c688SJames Bottomley	depends on SCSI && ENCLOSURE_SERVICES
1803f8d6f2aSJames Bottomley	depends on m || SCSI_SAS_ATTRS != m
1819927c688SJames Bottomley	help
1829927c688SJames Bottomley	  Enclosures are devices sitting on or in SCSI backplanes that
1839927c688SJames Bottomley	  manage devices.  If you have a disk cage, the chances are that
1849927c688SJames Bottomley	  it has an enclosure device.  Selecting this option will just allow
1859927c688SJames Bottomley	  certain enclosure conditions to be reported and is not required.
186daa6eda6SGerd Knorr 
1871da177e4SLinus Torvaldsconfig SCSI_CONSTANTS
188e1f0bce3SRasmus Villemoes	bool "Verbose SCSI error reporting (kernel size += 36K)"
1891da177e4SLinus Torvalds	depends on SCSI
1901da177e4SLinus Torvalds	help
1911da177e4SLinus Torvalds	  The error messages regarding your SCSI hardware will be easier to
1921da177e4SLinus Torvalds	  understand if you say Y here; it will enlarge your kernel by about
193e1f0bce3SRasmus Villemoes	  36 KB. If in doubt, say Y.
1941da177e4SLinus Torvalds
1951da177e4SLinus Torvaldsconfig SCSI_LOGGING
1961da177e4SLinus Torvalds	bool "SCSI logging facility"
1971da177e4SLinus Torvalds	depends on SCSI
198a7f7f624SMasahiro Yamada	help
1991da177e4SLinus Torvalds	  This turns on a logging facility that can be used to debug a number
2001da177e4SLinus Torvalds	  of SCSI related problems.
2011da177e4SLinus Torvalds
2021da177e4SLinus Torvalds	  If you say Y here, no logging output will appear by default, but you
2031da177e4SLinus Torvalds	  can enable logging by saying Y to "/proc file system support" and
2041da177e4SLinus Torvalds	  "Sysctl support" below and executing the command
2051da177e4SLinus Torvalds
2065ef07416SRobert Love	  echo <bitmask> > /proc/sys/dev/scsi/logging_level
2071da177e4SLinus Torvalds
2085ef07416SRobert Love	  where <bitmask> is a four byte value representing the logging type
2095ef07416SRobert Love	  and logging level for each type of logging selected.
2101da177e4SLinus Torvalds
2115ef07416SRobert Love	  There are a number of logging types and you can find them in the
2125ef07416SRobert Love	  source at <file:drivers/scsi/scsi_logging.h>. The logging levels
2135ef07416SRobert Love	  are also described in that file and they determine the verbosity of
2145ef07416SRobert Love	  the logging for each logging type.
2151da177e4SLinus Torvalds
2161da177e4SLinus Torvalds	  If you say N here, it may be harder to track down some types of SCSI
2171da177e4SLinus Torvalds	  problems. If you say Y here your kernel will be somewhat larger, but
2181da177e4SLinus Torvalds	  there should be no noticeable performance impact as long as you have
2191da177e4SLinus Torvalds	  logging turned off.
2201da177e4SLinus Torvalds
22121db1882SMatthew Wilcoxconfig SCSI_SCAN_ASYNC
22221db1882SMatthew Wilcox	bool "Asynchronous SCSI scanning"
22321db1882SMatthew Wilcox	depends on SCSI
22421db1882SMatthew Wilcox	help
22521db1882SMatthew Wilcox	  The SCSI subsystem can probe for devices while the rest of the
22621db1882SMatthew Wilcox	  system continues booting, and even probe devices on different
22721db1882SMatthew Wilcox	  busses in parallel, leading to a significant speed-up.
228082f6f9dSMatthew Wilcox
229082f6f9dSMatthew Wilcox	  You can override this choice by specifying "scsi_mod.scan=sync"
230082f6f9dSMatthew Wilcox	  or async on the kernel's command line.
23121db1882SMatthew Wilcox
2323c31b52fSDan Williams	  Note that this setting also affects whether resuming from
2333c31b52fSDan Williams	  system suspend will be performed asynchronously.
2343c31b52fSDan Williams
2352908d778SJames Bottomleymenu "SCSI Transports"
2361da177e4SLinus Torvalds	depends on SCSI
2371da177e4SLinus Torvalds
2381da177e4SLinus Torvaldsconfig SCSI_SPI_ATTRS
2391da177e4SLinus Torvalds	tristate "Parallel SCSI (SPI) Transport Attributes"
2401da177e4SLinus Torvalds	depends on SCSI
2411da177e4SLinus Torvalds	help
2421da177e4SLinus Torvalds	  If you wish to export transport-specific information about
2431da177e4SLinus Torvalds	  each attached SCSI device to sysfs, say Y.  Otherwise, say N.
2441da177e4SLinus Torvalds
2451da177e4SLinus Torvaldsconfig SCSI_FC_ATTRS
2461da177e4SLinus Torvalds	tristate "FiberChannel Transport Attributes"
24795cd6f48SRandy Dunlap	depends on SCSI && NET
248c00da4c9SJohannes Thumshirn	select BLK_DEV_BSGLIB
24984314fd4SJames Smart	select SCSI_NETLINK
2501da177e4SLinus Torvalds	help
2511da177e4SLinus Torvalds	  If you wish to export transport-specific information about
2521da177e4SLinus Torvalds	  each attached FiberChannel device to sysfs, say Y.
2531da177e4SLinus Torvalds	  Otherwise, say N.
2541da177e4SLinus Torvalds
2551da177e4SLinus Torvaldsconfig SCSI_ISCSI_ATTRS
2561da177e4SLinus Torvalds	tristate "iSCSI Transport Attributes"
257c899e4efSAlex Aizman	depends on SCSI && NET
25890eeb01aSMike Christie	select BLK_DEV_BSGLIB
2591da177e4SLinus Torvalds	help
2601da177e4SLinus Torvalds	  If you wish to export transport-specific information about
2611da177e4SLinus Torvalds	  each attached iSCSI device to sysfs, say Y.
2621da177e4SLinus Torvalds	  Otherwise, say N.
2631da177e4SLinus Torvalds
264c7ebbbceSChristoph Hellwigconfig SCSI_SAS_ATTRS
265c7ebbbceSChristoph Hellwig	tristate "SAS Transport Attributes"
26647259658SRandy Dunlap	depends on SCSI
267580b71e9SArnd Bergmann	select BLK_DEV_BSGLIB
268c7ebbbceSChristoph Hellwig	help
269c7ebbbceSChristoph Hellwig	  If you wish to export transport-specific information about
270c7ebbbceSChristoph Hellwig	  each attached SAS device to sysfs, say Y.
271c7ebbbceSChristoph Hellwig
2722908d778SJames Bottomleysource "drivers/scsi/libsas/Kconfig"
2732908d778SJames Bottomley
27409345f65SFUJITA Tomonoriconfig SCSI_SRP_ATTRS
27509345f65SFUJITA Tomonori	tristate "SRP Transport Attributes"
2760012fdf9SFUJITA Tomonori	depends on SCSI
27709345f65SFUJITA Tomonori	help
27809345f65SFUJITA Tomonori	  If you wish to export transport-specific information about
27909345f65SFUJITA Tomonori	  each attached SRP device to sysfs, say Y.
28009345f65SFUJITA Tomonori
2811da177e4SLinus Torvaldsendmenu
2821da177e4SLinus Torvalds
283fc6e740dSJan Engelhardtmenuconfig SCSI_LOWLEVEL
284fc6e740dSJan Engelhardt	bool "SCSI low-level drivers"
2851da177e4SLinus Torvalds	depends on SCSI!=n
286fc6e740dSJan Engelhardt	default y
287fc6e740dSJan Engelhardt
28867951f63SJames Bottomleyif SCSI_LOWLEVEL && SCSI
2891da177e4SLinus Torvalds
290c899e4efSAlex Aizmanconfig ISCSI_TCP
291c899e4efSAlex Aizman	tristate "iSCSI Initiator over TCP/IP"
29296bad874SJames Bottomley	depends on SCSI && INET
293c899e4efSAlex Aizman	select CRYPTO
294c899e4efSAlex Aizman	select CRYPTO_MD5
295c899e4efSAlex Aizman	select CRYPTO_CRC32C
29696bad874SJames Bottomley	select SCSI_ISCSI_ATTRS
297c899e4efSAlex Aizman	help
298c899e4efSAlex Aizman	 The iSCSI Driver provides a host with the ability to access storage
299c899e4efSAlex Aizman	 through an IP network. The driver uses the iSCSI protocol to transport
300c899e4efSAlex Aizman	 SCSI requests and responses over a TCP/IP network between the host
301c899e4efSAlex Aizman	 (the "initiator") and "targets".  Architecturally, the iSCSI driver
302c899e4efSAlex Aizman	 combines with the host's TCP/IP stack, network drivers, and Network
303c899e4efSAlex Aizman	 Interface Card (NIC) to provide the same functions as a SCSI or a
304c899e4efSAlex Aizman	 Fibre Channel (FC) adapter driver with a Host Bus Adapter (HBA).
305c899e4efSAlex Aizman
306c899e4efSAlex Aizman	 To compile this driver as a module, choose M here: the
307c899e4efSAlex Aizman	 module will be called iscsi_tcp.
308c899e4efSAlex Aizman
309c899e4efSAlex Aizman	 The userspace component needed to initialize the driver, documentation,
310c899e4efSAlex Aizman	 and sample configuration files can be found here:
311c899e4efSAlex Aizman
312bca1088aSFUJITA Tomonori	 http://open-iscsi.org
313c899e4efSAlex Aizman
314aab7a8fdSMike Christieconfig ISCSI_BOOT_SYSFS
315aab7a8fdSMike Christie	tristate "iSCSI Boot Sysfs Interface"
316aab7a8fdSMike Christie	default	n
317aab7a8fdSMike Christie	help
318aab7a8fdSMike Christie	  This option enables support for exposing iSCSI boot information
319aab7a8fdSMike Christie	  via sysfs to userspace. If you wish to export this information,
320aab7a8fdSMike Christie	  say Y. Otherwise, say N.
321aab7a8fdSMike Christie
3227b36b6e0Skxie@chelsio.comsource "drivers/scsi/cxgbi/Kconfig"
323cf4e6363SMichael Chansource "drivers/scsi/bnx2i/Kconfig"
324853e2bd2SBhanu Gollapudisource "drivers/scsi/bnx2fc/Kconfig"
3256733b39aSJayamohan Kallickalsource "drivers/scsi/be2iscsi/Kconfig"
326c21e0bbfSMatthew R. Ochssource "drivers/scsi/cxlflash/Kconfig"
327c3673464SKaren Xie
3281da177e4SLinus Torvaldsconfig SGIWD93_SCSI
3291da177e4SLinus Torvalds	tristate "SGI WD93C93 SCSI Driver"
3302adbfa33SThomas Bogendoerfer	depends on SGI_HAS_WD93 && SCSI
3311da177e4SLinus Torvalds	help
3321da177e4SLinus Torvalds	  If you have a Western Digital WD93 SCSI controller on
3331da177e4SLinus Torvalds	  an SGI MIPS system, say Y.  Otherwise, say N.
3341da177e4SLinus Torvalds
3351da177e4SLinus Torvaldsconfig BLK_DEV_3W_XXXX_RAID
3361da177e4SLinus Torvalds	tristate "3ware 5/6/7/8xxx ATA-RAID support"
3371da177e4SLinus Torvalds	depends on PCI && SCSI
3381da177e4SLinus Torvalds	help
3391da177e4SLinus Torvalds	  3ware is the only hardware ATA-Raid product in Linux to date.
3401da177e4SLinus Torvalds	  This card is 2,4, or 8 channel master mode support only.
3411da177e4SLinus Torvalds	  SCSI support required!!!
3421da177e4SLinus Torvalds
3431da177e4SLinus Torvalds	  <http://www.3ware.com/>
3441da177e4SLinus Torvalds
3451da177e4SLinus Torvalds	  Please read the comments at the top of
3461da177e4SLinus Torvalds	  <file:drivers/scsi/3w-xxxx.c>.
3471da177e4SLinus Torvalds
348edd16368SStephen M. Cameronconfig SCSI_HPSA
349edd16368SStephen M. Cameron	tristate "HP Smart Array SCSI driver"
350edd16368SStephen M. Cameron	depends on PCI && SCSI
3510fc9fd40SAkinobu Mita	select CHECK_SIGNATURE
352653cfb85SArnd Bergmann	select SCSI_SAS_ATTRS
353edd16368SStephen M. Cameron	help
354edd16368SStephen M. Cameron	  This driver supports HP Smart Array Controllers (circa 2009).
355edd16368SStephen M. Cameron	  It is a SCSI alternative to the cciss driver, which is a block
356edd16368SStephen M. Cameron	  driver.  Anyone wishing to use HP Smart Array controllers who
357edd16368SStephen M. Cameron	  would prefer the devices be presented to linux as SCSI devices,
358edd16368SStephen M. Cameron	  rather than as generic block devices should say Y here.
359edd16368SStephen M. Cameron
3601da177e4SLinus Torvaldsconfig SCSI_3W_9XXX
3611da177e4SLinus Torvalds	tristate "3ware 9xxx SATA-RAID support"
3621da177e4SLinus Torvalds	depends on PCI && SCSI
3631da177e4SLinus Torvalds	help
3641da177e4SLinus Torvalds	  This driver supports the 9000 series 3ware SATA-RAID cards.
3651da177e4SLinus Torvalds
3661da177e4SLinus Torvalds	  <http://www.amcc.com>
3671da177e4SLinus Torvalds
3681da177e4SLinus Torvalds	  Please read the comments at the top of
3691da177e4SLinus Torvalds	  <file:drivers/scsi/3w-9xxx.c>.
3701da177e4SLinus Torvalds
371f619106bSadam radfordconfig SCSI_3W_SAS
372f619106bSadam radford	tristate "3ware 97xx SAS/SATA-RAID support"
373f619106bSadam radford	depends on PCI && SCSI
374f619106bSadam radford	help
375f619106bSadam radford	  This driver supports the LSI 3ware 9750 6Gb/s SAS/SATA-RAID cards.
376f619106bSadam radford
377f619106bSadam radford	  <http://www.lsi.com>
378f619106bSadam radford
379f619106bSadam radford	  Please read the comments at the top of
380f619106bSadam radford	  <file:drivers/scsi/3w-sas.c>.
381f619106bSadam radford
3821da177e4SLinus Torvaldsconfig SCSI_ACARD
3831da177e4SLinus Torvalds	tristate "ACARD SCSI support"
3841da177e4SLinus Torvalds	depends on PCI && SCSI
3851da177e4SLinus Torvalds	help
3861da177e4SLinus Torvalds	  This driver supports the ACARD SCSI host adapter.
3871da177e4SLinus Torvalds	  Support Chip <ATP870 ATP876 ATP880 ATP885>
3881da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
3891da177e4SLinus Torvalds	  module will be called atp870u.
3901da177e4SLinus Torvalds
3911da177e4SLinus Torvaldsconfig SCSI_AHA152X
3921da177e4SLinus Torvalds	tristate "Adaptec AHA152X/2825 support"
393fa7250d6SAlan Cox	depends on ISA && SCSI
394410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
395928923c7SGeert Uytterhoeven	select CHECK_SIGNATURE
396a7f7f624SMasahiro Yamada	help
3971da177e4SLinus Torvalds	  This is a driver for the AHA-1510, AHA-1520, AHA-1522, and AHA-2825
3981da177e4SLinus Torvalds	  SCSI host adapters. It also works for the AVA-1505, but the IRQ etc.
3991da177e4SLinus Torvalds	  must be manually specified in this case.
4001da177e4SLinus Torvalds
4011da177e4SLinus Torvalds	  It is explained in section 3.3 of the SCSI-HOWTO, available from
4021da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>. You might also want to
40394b5530fSMauro Carvalho Chehab	  read the file <file:Documentation/scsi/aha152x.rst>.
4041da177e4SLinus Torvalds
4051da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
4061da177e4SLinus Torvalds	  module will be called aha152x.
4071da177e4SLinus Torvalds
4081da177e4SLinus Torvaldsconfig SCSI_AHA1542
4091da177e4SLinus Torvalds	tristate "Adaptec AHA1542 support"
410a5532606SAl Viro	depends on ISA && SCSI && ISA_DMA_API
411a7f7f624SMasahiro Yamada	help
4121da177e4SLinus Torvalds	  This is support for a SCSI host adapter.  It is explained in section
4131da177e4SLinus Torvalds	  3.4 of the SCSI-HOWTO, available from
4141da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.  Note that Trantor was
4151da177e4SLinus Torvalds	  purchased by Adaptec, and some former Trantor products are being
4161da177e4SLinus Torvalds	  sold under the Adaptec name.  If it doesn't work out of the box, you
4171da177e4SLinus Torvalds	  may have to change some settings in <file:drivers/scsi/aha1542.h>.
4181da177e4SLinus Torvalds
4191da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
4201da177e4SLinus Torvalds	  module will be called aha1542.
4211da177e4SLinus Torvalds
4221da177e4SLinus Torvaldsconfig SCSI_AHA1740
4231da177e4SLinus Torvalds	tristate "Adaptec AHA1740 support"
4241da177e4SLinus Torvalds	depends on EISA && SCSI
425a7f7f624SMasahiro Yamada	help
4261da177e4SLinus Torvalds	  This is support for a SCSI host adapter.  It is explained in section
4271da177e4SLinus Torvalds	  3.5 of the SCSI-HOWTO, available from
4281da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.  If it doesn't work out
4291da177e4SLinus Torvalds	  of the box, you may have to change some settings in
4301da177e4SLinus Torvalds	  <file:drivers/scsi/aha1740.h>.
4311da177e4SLinus Torvalds
4321da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
4331da177e4SLinus Torvalds	  module will be called aha1740.
4341da177e4SLinus Torvalds
4351da177e4SLinus Torvaldsconfig SCSI_AACRAID
4361da177e4SLinus Torvalds	tristate "Adaptec AACRAID support"
4371da177e4SLinus Torvalds	depends on SCSI && PCI
4388075f21fSAdrian Bunk	help
4398075f21fSAdrian Bunk	  This driver supports a variety of Dell, HP, Adaptec, IBM and
4408075f21fSAdrian Bunk	  ICP storage products. For a list of supported products, refer
441dd9cc144SMauro Carvalho Chehab	  to <file:Documentation/scsi/aacraid.rst>.
4428075f21fSAdrian Bunk
4438075f21fSAdrian Bunk	  To compile this driver as a module, choose M here: the module
4448075f21fSAdrian Bunk	  will be called aacraid.
4458075f21fSAdrian Bunk
4461da177e4SLinus Torvalds
4471da177e4SLinus Torvaldssource "drivers/scsi/aic7xxx/Kconfig.aic7xxx"
4481da177e4SLinus Torvaldssource "drivers/scsi/aic7xxx/Kconfig.aic79xx"
4492908d778SJames Bottomleysource "drivers/scsi/aic94xx/Kconfig"
450e8899fadSJohn Garrysource "drivers/scsi/hisi_sas/Kconfig"
4512ad52f47SJeff Garziksource "drivers/scsi/mvsas/Kconfig"
4521da177e4SLinus Torvalds
453f0c568a4SJianyun Liconfig SCSI_MVUMI
454f0c568a4SJianyun Li	tristate "Marvell UMI driver"
455f0c568a4SJianyun Li	depends on SCSI && PCI
456f0c568a4SJianyun Li	help
457f0c568a4SJianyun Li	  Module for Marvell Universal Message Interface(UMI) driver
458f0c568a4SJianyun Li
459f0c568a4SJianyun Li	  To compile this driver as a module, choose M here: the
460f0c568a4SJianyun Li	  module will be called mvumi.
461f0c568a4SJianyun Li
4621da177e4SLinus Torvaldsconfig SCSI_ADVANSYS
4631da177e4SLinus Torvalds	tristate "AdvanSys SCSI support"
4646571fb3fSHannes Reinecke	depends on SCSI
4654661e3eaSLinus Torvalds	depends on ISA || EISA || PCI
4662b8bbdb9SArnd Bergmann	depends on ISA_DMA_API || !ISA
4671da177e4SLinus Torvalds	help
4681da177e4SLinus Torvalds	  This is a driver for all SCSI host adapters manufactured by
4691da177e4SLinus Torvalds	  AdvanSys. It is documented in the kernel source in
4701da177e4SLinus Torvalds	  <file:drivers/scsi/advansys.c>.
4711da177e4SLinus Torvalds
4721da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
4731da177e4SLinus Torvalds	  module will be called advansys.
4741da177e4SLinus Torvalds
4751c57e86dSErich Chenconfig SCSI_ARCMSR
4761a4f550aSNick Cheng	tristate "ARECA (ARC11xx/12xx/13xx/16xx) SATA/SAS RAID Host Adapter"
4771c57e86dSErich Chen	depends on PCI && SCSI
4781c57e86dSErich Chen	help
4791a4f550aSNick Cheng	  This driver supports all of ARECA's SATA/SAS RAID controller cards.
4801c57e86dSErich Chen	  This is an ARECA-maintained driver by Erich Chen.
4811a4f550aSNick Cheng	  If you have any problems, please mail to: <erich@areca.com.tw>.
4821c57e86dSErich Chen	  Areca supports Linux RAID config tools.
4831a4f550aSNick Cheng	  Please link <http://www.areca.com.tw>
4841c57e86dSErich Chen
4851c57e86dSErich Chen	  To compile this driver as a module, choose M here: the
4861c57e86dSErich Chen	  module will be called arcmsr (modprobe arcmsr).
4871c57e86dSErich Chen
48826780d9eSBradley Grovesource "drivers/scsi/esas2r/Kconfig"
4891da177e4SLinus Torvaldssource "drivers/scsi/megaraid/Kconfig.megaraid"
490f92363d1SSreekanth Reddysource "drivers/scsi/mpt3sas/Kconfig"
491c4f7ac64SKashyap Desaisource "drivers/scsi/mpi3mr/Kconfig"
4926c223761SKevin Barnettsource "drivers/scsi/smartpqi/Kconfig"
4931da177e4SLinus Torvalds
494ede1e6f8SHighPoint Linux Teamconfig SCSI_HPTIOP
49500f59701SHighPoint Linux Team	tristate "HighPoint RocketRAID 3xxx/4xxx Controller support"
496ede1e6f8SHighPoint Linux Team	depends on SCSI && PCI
497ede1e6f8SHighPoint Linux Team	help
49800f59701SHighPoint Linux Team	  This option enables support for HighPoint RocketRAID 3xxx/4xxx
499ede1e6f8SHighPoint Linux Team	  controllers.
500ede1e6f8SHighPoint Linux Team
501ede1e6f8SHighPoint Linux Team	  To compile this driver as a module, choose M here; the module
502ede1e6f8SHighPoint Linux Team	  will be called hptiop. If unsure, say N.
503ede1e6f8SHighPoint Linux Team
5041da177e4SLinus Torvaldsconfig SCSI_BUSLOGIC
5051da177e4SLinus Torvalds	tristate "BusLogic SCSI support"
5069f7c2232SArnd Bergmann	depends on PCI && SCSI
507a7f7f624SMasahiro Yamada	help
5081da177e4SLinus Torvalds	  This is support for BusLogic MultiMaster and FlashPoint SCSI Host
5091da177e4SLinus Torvalds	  Adapters. Consult the SCSI-HOWTO, available from
5101da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>, and the files
511977b899cSMauro Carvalho Chehab	  <file:Documentation/scsi/BusLogic.rst> and
512cc0d9d3aSMauro Carvalho Chehab	  <file:Documentation/scsi/FlashPoint.rst> for more information.
51378b4b05dSMatthew Wilcox	  Note that support for FlashPoint is only available for 32-bit
51478b4b05dSMatthew Wilcox	  x86 configurations.
5151da177e4SLinus Torvalds
5161da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
5171da177e4SLinus Torvalds	  module will be called BusLogic.
5181da177e4SLinus Torvalds
51978b4b05dSMatthew Wilcoxconfig SCSI_FLASHPOINT
52078b4b05dSMatthew Wilcox	bool "FlashPoint support"
521391e2f25SKhalid Aziz	depends on SCSI_BUSLOGIC && PCI
5221da177e4SLinus Torvalds	help
52378b4b05dSMatthew Wilcox	  This option allows you to add FlashPoint support to the
5241da177e4SLinus Torvalds	  BusLogic SCSI driver. The FlashPoint SCCB Manager code is
52578b4b05dSMatthew Wilcox	  substantial, so users of MultiMaster Host Adapters may not
52678b4b05dSMatthew Wilcox	  wish to include it.
5271da177e4SLinus Torvalds
528081ff398SHannes Reineckeconfig SCSI_MYRB
529081ff398SHannes Reinecke	tristate "Mylex DAC960/DAC1100 PCI RAID Controller (Block Interface)"
530081ff398SHannes Reinecke	depends on PCI
531081ff398SHannes Reinecke	select RAID_ATTRS
532081ff398SHannes Reinecke	help
533081ff398SHannes Reinecke	  This driver adds support for the Mylex DAC960, AcceleRAID, and
534081ff398SHannes Reinecke	  eXtremeRAID PCI RAID controllers. This driver supports the
535081ff398SHannes Reinecke	  older, block based interface.
536081ff398SHannes Reinecke	  This driver is a reimplementation of the original DAC960
537081ff398SHannes Reinecke	  driver. If you have used the DAC960 driver you should enable
538081ff398SHannes Reinecke	  this module.
539081ff398SHannes Reinecke
540081ff398SHannes Reinecke	  To compile this driver as a module, choose M here: the
541081ff398SHannes Reinecke	  module will be called myrb.
542081ff398SHannes Reinecke
54377266186SHannes Reineckeconfig SCSI_MYRS
54477266186SHannes Reinecke	tristate "Mylex DAC960/DAC1100 PCI RAID Controller (SCSI Interface)"
54577266186SHannes Reinecke	depends on PCI
546a3ecf482SArnd Bergmann	depends on !CPU_BIG_ENDIAN || COMPILE_TEST
54777266186SHannes Reinecke	select RAID_ATTRS
54877266186SHannes Reinecke	help
54977266186SHannes Reinecke	  This driver adds support for the Mylex DAC960, AcceleRAID, and
55077266186SHannes Reinecke	  eXtremeRAID PCI RAID controllers.  This driver supports the
55177266186SHannes Reinecke	  newer, SCSI-based interface only.
55277266186SHannes Reinecke	  This driver is a reimplementation of the original DAC960
55377266186SHannes Reinecke	  driver. If you have used the DAC960 driver you should enable
55477266186SHannes Reinecke	  this module.
55577266186SHannes Reinecke
55677266186SHannes Reinecke	  To compile this driver as a module, choose M here: the
55777266186SHannes Reinecke	  module will be called myrs.
55877266186SHannes Reinecke
559851b1642SAlok Katariaconfig VMWARE_PVSCSI
560851b1642SAlok Kataria	tristate "VMware PVSCSI driver support"
561851b1642SAlok Kataria	depends on PCI && SCSI && X86
562851b1642SAlok Kataria	help
563851b1642SAlok Kataria	  This driver supports VMware's para virtualized SCSI HBA.
564851b1642SAlok Kataria	  To compile this driver as a module, choose M here: the
565851b1642SAlok Kataria	  module will be called vmw_pvscsi.
566851b1642SAlok Kataria
5678beb8d4cSJuergen Grossconfig XEN_SCSI_FRONTEND
5688beb8d4cSJuergen Gross	tristate "XEN SCSI frontend driver"
5698beb8d4cSJuergen Gross	depends on SCSI && XEN
5708ab85ebaSJuergen Gross	select XEN_XENBUS_FRONTEND
5718beb8d4cSJuergen Gross	help
5728beb8d4cSJuergen Gross	  The XEN SCSI frontend driver allows the kernel to access SCSI Devices
5738beb8d4cSJuergen Gross	  within another guest OS (usually Dom0).
5748beb8d4cSJuergen Gross	  Only needed if the kernel is running in a XEN guest and generic
5758beb8d4cSJuergen Gross	  SCSI access to a device is needed.
5768beb8d4cSJuergen Gross
57789ae7d70SK. Y. Srinivasanconfig HYPERV_STORAGE
57889ae7d70SK. Y. Srinivasan	tristate "Microsoft Hyper-V virtual storage driver"
57989ae7d70SK. Y. Srinivasan	depends on SCSI && HYPERV
5808063d56eSK. Y. Srinivasan	depends on m || SCSI_FC_ATTRS != m
58189ae7d70SK. Y. Srinivasan	default HYPERV
58289ae7d70SK. Y. Srinivasan	help
58389ae7d70SK. Y. Srinivasan	  Select this option to enable the Hyper-V virtual storage driver.
58489ae7d70SK. Y. Srinivasan
58542e9a92fSRobert Loveconfig LIBFC
58642e9a92fSRobert Love	tristate "LibFC module"
5876a38792cSRandy Dunlap	depends on SCSI_FC_ATTRS
588d943aeebSRandy Dunlap	select CRC32
589a7f7f624SMasahiro Yamada	help
59042e9a92fSRobert Love	  Fibre Channel library module
59142e9a92fSRobert Love
5929b34ecffSVasu Devconfig LIBFCOE
5939b34ecffSVasu Dev	tristate "LibFCoE module"
594df568d8eSDavid S. Miller	depends on LIBFC
595a7f7f624SMasahiro Yamada	help
5969b34ecffSVasu Dev	  Library for Fibre Channel over Ethernet module
5979b34ecffSVasu Dev
59885b4aa49SRobert Loveconfig FCOE
59985b4aa49SRobert Love	tristate "FCoE module"
600fb5edd02SJames Bottomley	depends on PCI
601df568d8eSDavid S. Miller	depends on LIBFCOE
602a7f7f624SMasahiro Yamada	help
60385b4aa49SRobert Love	  Fibre Channel over Ethernet module
60485b4aa49SRobert Love
6055df6d737SAbhijeet Joglekarconfig FCOE_FNIC
6065df6d737SAbhijeet Joglekar	tristate "Cisco FNIC Driver"
6075df6d737SAbhijeet Joglekar	depends on PCI && X86
608df568d8eSDavid S. Miller	depends on LIBFCOE
6095df6d737SAbhijeet Joglekar	help
6105df6d737SAbhijeet Joglekar	  This is support for the Cisco PCI-Express FCoE HBA.
6115df6d737SAbhijeet Joglekar
6125df6d737SAbhijeet Joglekar	  To compile this driver as a module, choose M here and read
613b7223d9bSMauro Carvalho Chehab	  <file:Documentation/scsi/scsi.rst>.
6145df6d737SAbhijeet Joglekar	  The module will be called fnic.
6155df6d737SAbhijeet Joglekar
616c8806b6cSNarsimhulu Musiniconfig SCSI_SNIC
617c8806b6cSNarsimhulu Musini	tristate "Cisco SNIC Driver"
618c8806b6cSNarsimhulu Musini	depends on PCI && SCSI
619c8806b6cSNarsimhulu Musini	help
620c8806b6cSNarsimhulu Musini	  This is support for the Cisco PCI-Express SCSI HBA.
621c8806b6cSNarsimhulu Musini
622c8806b6cSNarsimhulu Musini	  To compile this driver as a module, choose M here and read
623b7223d9bSMauro Carvalho Chehab	  <file:Documentation/scsi/scsi.rst>.
624c8806b6cSNarsimhulu Musini	  The module will be called snic.
625c8806b6cSNarsimhulu Musini
626c8806b6cSNarsimhulu Musiniconfig SCSI_SNIC_DEBUG_FS
627c8806b6cSNarsimhulu Musini	bool "Cisco SNIC Driver Debugfs Support"
628c8806b6cSNarsimhulu Musini	depends on SCSI_SNIC && DEBUG_FS
629c8806b6cSNarsimhulu Musini	help
630c8806b6cSNarsimhulu Musini	  This enables to list debugging information from SNIC Driver
631c8806b6cSNarsimhulu Musini	  available via debugfs file system
632c8806b6cSNarsimhulu Musini
6331da177e4SLinus Torvaldsconfig SCSI_DMX3191D
6341da177e4SLinus Torvalds	tristate "DMX3191D SCSI support"
6351da177e4SLinus Torvalds	depends on PCI && SCSI
636410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
6371da177e4SLinus Torvalds	help
6381da177e4SLinus Torvalds	  This is support for Domex DMX3191D SCSI Host Adapters.
6391da177e4SLinus Torvalds
6401da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
6411da177e4SLinus Torvalds	  module will be called dmx3191d.
6421da177e4SLinus Torvalds
643ebeb4665SOndrej Zaryconfig SCSI_FDOMAIN
644ebeb4665SOndrej Zary	tristate
645ebeb4665SOndrej Zary	depends on SCSI
646ebeb4665SOndrej Zary
64768046d50SOndrej Zaryconfig SCSI_FDOMAIN_PCI
64868046d50SOndrej Zary	tristate "Future Domain TMC-3260/AHA-2920A PCI SCSI support"
64968046d50SOndrej Zary	depends on PCI && SCSI
65068046d50SOndrej Zary	select SCSI_FDOMAIN
65168046d50SOndrej Zary	help
65268046d50SOndrej Zary	  This is support for Future Domain's PCI SCSI host adapters (TMC-3260)
65368046d50SOndrej Zary	  and other adapters with PCI bus based on the Future Domain chipsets
65468046d50SOndrej Zary	  (Adaptec AHA-2920A).
65568046d50SOndrej Zary
65668046d50SOndrej Zary	  NOTE: Newer Adaptec AHA-2920C boards use the Adaptec AIC-7850 chip
65768046d50SOndrej Zary	  and should use the aic7xxx driver ("Adaptec AIC7xxx chipset SCSI
65868046d50SOndrej Zary	  controller support"). This Future Domain driver works with the older
65968046d50SOndrej Zary	  Adaptec AHA-2920A boards with a Future Domain chip on them.
66068046d50SOndrej Zary
66168046d50SOndrej Zary	  To compile this driver as a module, choose M here: the
66268046d50SOndrej Zary	  module will be called fdomain_pci.
66368046d50SOndrej Zary
664e5207cf0SOndrej Zaryconfig SCSI_FDOMAIN_ISA
665e5207cf0SOndrej Zary	tristate "Future Domain 16xx ISA SCSI support"
666e5207cf0SOndrej Zary	depends on ISA && SCSI
667e5207cf0SOndrej Zary	select CHECK_SIGNATURE
668e5207cf0SOndrej Zary	select SCSI_FDOMAIN
669e5207cf0SOndrej Zary	help
670e5207cf0SOndrej Zary	  This is support for Future Domain's 16-bit SCSI host adapters
671e5207cf0SOndrej Zary	  (TMC-1660/1680, TMC-1650/1670, TMC-1610M/MER/MEX) and other adapters
672e5207cf0SOndrej Zary	  with ISA bus based on the Future Domain chipsets (Quantum ISA-200S,
673e5207cf0SOndrej Zary	  ISA-250MG; and at least one IBM board).
674e5207cf0SOndrej Zary
675e5207cf0SOndrej Zary	  To compile this driver as a module, choose M here: the
676e5207cf0SOndrej Zary	  module will be called fdomain_isa.
677e5207cf0SOndrej Zary
6786f231ddaSDan Williamsconfig SCSI_ISCI
6796f231ddaSDan Williams	tristate "Intel(R) C600 Series Chipset SAS Controller"
6806f231ddaSDan Williams	depends on PCI && SCSI
6816f231ddaSDan Williams	depends on X86
6826f231ddaSDan Williams	select SCSI_SAS_LIBSAS
683a7f7f624SMasahiro Yamada	help
6846f231ddaSDan Williams	  This driver supports the 6Gb/s SAS capabilities of the storage
6856f231ddaSDan Williams	  control unit found in the Intel(R) C600 series chipset.
6866f231ddaSDan Williams
6871da177e4SLinus Torvaldsconfig SCSI_GENERIC_NCR5380
688b61bacbcSOndrej Zary	tristate "Generic NCR5380/53c400 SCSI ISA card support"
689c1f7cf0aSArnd Bergmann	depends on ISA && SCSI && HAS_IOPORT_MAP
690410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
691a7f7f624SMasahiro Yamada	help
692b61bacbcSOndrej Zary	  This is a driver for old ISA card SCSI controllers based on a
693b61bacbcSOndrej Zary	  NCR 5380, 53C80, 53C400, 53C400A, or DTC 436 device.
694b61bacbcSOndrej Zary	  Most boards such as the Trantor T130 fit this category, as do
695b61bacbcSOndrej Zary	  various 8-bit and 16-bit ISA cards bundled with SCSI scanners.
6961da177e4SLinus Torvalds
6971da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
6981da177e4SLinus Torvalds	  module will be called g_NCR5380.
6991da177e4SLinus Torvalds
7001da177e4SLinus Torvaldsconfig SCSI_IPS
7011da177e4SLinus Torvalds	tristate "IBM ServeRAID support"
7021da177e4SLinus Torvalds	depends on PCI && SCSI
703a7f7f624SMasahiro Yamada	help
7041da177e4SLinus Torvalds	  This is support for the IBM ServeRAID hardware RAID controllers.
7051da177e4SLinus Torvalds	  See <http://www.developer.ibm.com/welcome/netfinity/serveraid.html>
706631dd1a8SJustin P. Mattock	  and <http://www-947.ibm.com/support/entry/portal/docdisplay?brand=5000008&lndocid=SERV-RAID>
7071da177e4SLinus Torvalds	  for more information.  If this driver does not work correctly
7081da177e4SLinus Torvalds	  without modification please contact the author by email at
7091da177e4SLinus Torvalds	  <ipslinux@adaptec.com>.
7101da177e4SLinus Torvalds
7111da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
7121da177e4SLinus Torvalds	  module will be called ips.
7131da177e4SLinus Torvalds
7141da177e4SLinus Torvaldsconfig SCSI_IBMVSCSI
7151da177e4SLinus Torvalds	tristate "IBM Virtual SCSI support"
7167834799aSStephen Rothwell	depends on PPC_PSERIES
7174d680419SFUJITA Tomonori	select SCSI_SRP_ATTRS
7181da177e4SLinus Torvalds	help
7191da177e4SLinus Torvalds	  This is the IBM POWER Virtual SCSI Client
7201da177e4SLinus Torvalds
7211da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
72246beb54dSWade Cline	  module will be called ibmvscsi.
7231da177e4SLinus Torvalds
72488a678bbSBryant G. Lyconfig SCSI_IBMVSCSIS
72588a678bbSBryant G. Ly	tristate "IBM Virtual SCSI Server support"
72688a678bbSBryant G. Ly	depends on PPC_PSERIES && TARGET_CORE && SCSI && PCI
72788a678bbSBryant G. Ly	help
72888a678bbSBryant G. Ly	  This is the IBM POWER Virtual SCSI Target Server
72983fc61a5SMasanari Iida	  This driver uses the SRP protocol for communication between servers
73088a678bbSBryant G. Ly	  guest and/or the host that run on the same server.
73188a678bbSBryant G. Ly	  More information on VSCSI protocol can be found at www.power.org
73288a678bbSBryant G. Ly
73388a678bbSBryant G. Ly	  The userspace configuration needed to initialize the driver can be
73488a678bbSBryant G. Ly	  be found here:
73588a678bbSBryant G. Ly
73688a678bbSBryant G. Ly	  https://github.com/powervm/ibmvscsis/wiki/Configuration
73788a678bbSBryant G. Ly
73888a678bbSBryant G. Ly	  To compile this driver as a module, choose M here: the
73988a678bbSBryant G. Ly	  module will be called ibmvscsis.
74088a678bbSBryant G. Ly
741072b91f9SBrian Kingconfig SCSI_IBMVFC
742072b91f9SBrian King	tristate "IBM Virtual FC support"
743072b91f9SBrian King	depends on PPC_PSERIES && SCSI
7446a38792cSRandy Dunlap	depends on SCSI_FC_ATTRS
745072b91f9SBrian King	help
746072b91f9SBrian King	  This is the IBM POWER Virtual FC Client
747072b91f9SBrian King
748072b91f9SBrian King	  To compile this driver as a module, choose M here: the
749072b91f9SBrian King	  module will be called ibmvfc.
750072b91f9SBrian King
751072b91f9SBrian Kingconfig SCSI_IBMVFC_TRACE
752072b91f9SBrian King	bool "enable driver internal trace"
753072b91f9SBrian King	depends on SCSI_IBMVFC
754072b91f9SBrian King	default y
755072b91f9SBrian King	help
756072b91f9SBrian King	  If you say Y here, the driver will trace all commands issued
757072b91f9SBrian King	  to the adapter. Performance impact is minimal. Trace can be
758072b91f9SBrian King	  dumped using /sys/class/scsi_host/hostXX/trace.
759072b91f9SBrian King
7601da177e4SLinus Torvaldsconfig SCSI_INITIO
7611da177e4SLinus Torvalds	tristate "Initio 9100U(W) support"
7621da177e4SLinus Torvalds	depends on PCI && SCSI
7631da177e4SLinus Torvalds	help
7641da177e4SLinus Torvalds	  This is support for the Initio 91XXU(W) SCSI host adapter.  Please
7651da177e4SLinus Torvalds	  read the SCSI-HOWTO, available from
7661da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
7671da177e4SLinus Torvalds
7681da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
7691da177e4SLinus Torvalds	  module will be called initio.
7701da177e4SLinus Torvalds
7711da177e4SLinus Torvaldsconfig SCSI_INIA100
7721da177e4SLinus Torvalds	tristate "Initio INI-A100U2W support"
7731da177e4SLinus Torvalds	depends on PCI && SCSI
7741da177e4SLinus Torvalds	help
7751da177e4SLinus Torvalds	  This is support for the Initio INI-A100U2W SCSI host adapter.
7761da177e4SLinus Torvalds	  Please read the SCSI-HOWTO, available from
7771da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
7781da177e4SLinus Torvalds
7791da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
7801da177e4SLinus Torvalds	  module will be called a100u2w.
7811da177e4SLinus Torvalds
7821da177e4SLinus Torvaldsconfig SCSI_PPA
7831da177e4SLinus Torvalds	tristate "IOMEGA parallel port (ppa - older drives)"
7846a19b41bSMarko Kohtala	depends on SCSI && PARPORT_PC
785a7f7f624SMasahiro Yamada	help
7861da177e4SLinus Torvalds	  This driver supports older versions of IOMEGA's parallel port ZIP
7871da177e4SLinus Torvalds	  drive (a 100 MB removable media device).
7881da177e4SLinus Torvalds
7891da177e4SLinus Torvalds	  Note that you can say N here if you have the SCSI version of the ZIP
7901da177e4SLinus Torvalds	  drive: it will be supported automatically if you said Y to the
7911da177e4SLinus Torvalds	  generic "SCSI disk support", above.
7921da177e4SLinus Torvalds
7931da177e4SLinus Torvalds	  If you have the ZIP Plus drive or a more recent parallel port ZIP
7941da177e4SLinus Torvalds	  drive (if the supplied cable with the drive is labeled "AutoDetect")
7951da177e4SLinus Torvalds	  then you should say N here and Y to "IOMEGA parallel port (imm -
7961da177e4SLinus Torvalds	  newer drives)", below.
7971da177e4SLinus Torvalds
7981da177e4SLinus Torvalds	  For more information about this driver and how to use it you should
799304a8b62SMauro Carvalho Chehab	  read the file <file:Documentation/scsi/ppa.rst>.  You should also read
8001da177e4SLinus Torvalds	  the SCSI-HOWTO, which is available from
8011da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.  If you use this driver,
8021da177e4SLinus Torvalds	  you will still be able to use the parallel port for other tasks,
8031da177e4SLinus Torvalds	  such as a printer; it is safe to compile both drivers into the
8041da177e4SLinus Torvalds	  kernel.
8051da177e4SLinus Torvalds
8061da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
8071da177e4SLinus Torvalds	  module will be called ppa.
8081da177e4SLinus Torvalds
8091da177e4SLinus Torvaldsconfig SCSI_IMM
8101da177e4SLinus Torvalds	tristate "IOMEGA parallel port (imm - newer drives)"
8116a19b41bSMarko Kohtala	depends on SCSI && PARPORT_PC
812a7f7f624SMasahiro Yamada	help
8131da177e4SLinus Torvalds	  This driver supports newer versions of IOMEGA's parallel port ZIP
8141da177e4SLinus Torvalds	  drive (a 100 MB removable media device).
8151da177e4SLinus Torvalds
8161da177e4SLinus Torvalds	  Note that you can say N here if you have the SCSI version of the ZIP
8171da177e4SLinus Torvalds	  drive: it will be supported automatically if you said Y to the
8181da177e4SLinus Torvalds	  generic "SCSI disk support", above.
8191da177e4SLinus Torvalds
8201da177e4SLinus Torvalds	  If you have the ZIP Plus drive or a more recent parallel port ZIP
8211da177e4SLinus Torvalds	  drive (if the supplied cable with the drive is labeled "AutoDetect")
8221da177e4SLinus Torvalds	  then you should say Y here; if you have an older ZIP drive, say N
8231da177e4SLinus Torvalds	  here and Y to "IOMEGA Parallel Port (ppa - older drives)", above.
8241da177e4SLinus Torvalds
8251da177e4SLinus Torvalds	  For more information about this driver and how to use it you should
826304a8b62SMauro Carvalho Chehab	  read the file <file:Documentation/scsi/ppa.rst>.  You should also read
8271da177e4SLinus Torvalds	  the SCSI-HOWTO, which is available from
8281da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.  If you use this driver,
8291da177e4SLinus Torvalds	  you will still be able to use the parallel port for other tasks,
8301da177e4SLinus Torvalds	  such as a printer; it is safe to compile both drivers into the
8311da177e4SLinus Torvalds	  kernel.
8321da177e4SLinus Torvalds
8331da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
8341da177e4SLinus Torvalds	  module will be called imm.
8351da177e4SLinus Torvalds
8361da177e4SLinus Torvaldsconfig SCSI_IZIP_EPP16
8371da177e4SLinus Torvalds	bool "ppa/imm option - Use slow (but safe) EPP-16"
8386a19b41bSMarko Kohtala	depends on SCSI_PPA || SCSI_IMM
839a7f7f624SMasahiro Yamada	help
8401da177e4SLinus Torvalds	  EPP (Enhanced Parallel Port) is a standard for parallel ports which
8411da177e4SLinus Torvalds	  allows them to act as expansion buses that can handle up to 64
8421da177e4SLinus Torvalds	  peripheral devices.
8431da177e4SLinus Torvalds
8441da177e4SLinus Torvalds	  Some parallel port chipsets are slower than their motherboard, and
8451da177e4SLinus Torvalds	  so we have to control the state of the chipset's FIFO queue every
8461da177e4SLinus Torvalds	  now and then to avoid data loss. This will be done if you say Y
8471da177e4SLinus Torvalds	  here.
8481da177e4SLinus Torvalds
8491da177e4SLinus Torvalds	  Generally, saying Y is the safe option and slows things down a bit.
8501da177e4SLinus Torvalds
8511da177e4SLinus Torvaldsconfig SCSI_IZIP_SLOW_CTR
8521da177e4SLinus Torvalds	bool "ppa/imm option - Assume slow parport control register"
8536a19b41bSMarko Kohtala	depends on SCSI_PPA || SCSI_IMM
8541da177e4SLinus Torvalds	help
8551da177e4SLinus Torvalds	  Some parallel ports are known to have excessive delays between
8561da177e4SLinus Torvalds	  changing the parallel port control register and good data being
8571da177e4SLinus Torvalds	  available on the parallel port data/status register. This option
8581da177e4SLinus Torvalds	  forces a small delay (1.0 usec to be exact) after changing the
8591da177e4SLinus Torvalds	  control register to let things settle out. Enabling this option may
8601da177e4SLinus Torvalds	  result in a big drop in performance but some very old parallel ports
8611da177e4SLinus Torvalds	  (found in 386 vintage machines) will not work properly.
8621da177e4SLinus Torvalds
8631da177e4SLinus Torvalds	  Generally, saying N is fine.
8641da177e4SLinus Torvalds
8651da177e4SLinus Torvaldsconfig SCSI_LASI700
8661da177e4SLinus Torvalds	tristate "HP Lasi SCSI support for 53c700/710"
8671da177e4SLinus Torvalds	depends on GSC && SCSI
8681da177e4SLinus Torvalds	select SCSI_SPI_ATTRS
8691da177e4SLinus Torvalds	help
8701da177e4SLinus Torvalds	  This is a driver for the SCSI controller in the Lasi chip found in
8711da177e4SLinus Torvalds	  many PA-RISC workstations & servers.  If you do not know whether you
8721da177e4SLinus Torvalds	  have a Lasi chip, it is safe to say "Y" here.
8731da177e4SLinus Torvalds
874c27d85f3SThomas Bogendoerferconfig SCSI_SNI_53C710
875c27d85f3SThomas Bogendoerfer	tristate "SNI RM SCSI support for 53c710"
876c27d85f3SThomas Bogendoerfer	depends on SNI_RM && SCSI
877c27d85f3SThomas Bogendoerfer	select SCSI_SPI_ATTRS
878c27d85f3SThomas Bogendoerfer	select 53C700_LE_ON_BE
879c27d85f3SThomas Bogendoerfer	help
880c27d85f3SThomas Bogendoerfer	  This is a driver for the onboard SCSI controller found in older
881c27d85f3SThomas Bogendoerfer	  SNI RM workstations & servers.
882c27d85f3SThomas Bogendoerfer
8831da177e4SLinus Torvaldsconfig 53C700_LE_ON_BE
8841da177e4SLinus Torvalds	bool
8858cbf0c17SThomas Bogendoerfer	depends on SCSI_LASI700 || SCSI_SNI_53C710
8861da177e4SLinus Torvalds	default y
8871da177e4SLinus Torvalds
8885a25ba16SJeff Garzikconfig SCSI_STEX
8895a25ba16SJeff Garzik	tristate "Promise SuperTrak EX Series support"
8905a25ba16SJeff Garzik	depends on PCI && SCSI
891a7f7f624SMasahiro Yamada	help
892ee926b27SEd Lin	  This driver supports Promise SuperTrak EX series storage controllers.
893ee926b27SEd Lin
894ee926b27SEd Lin	  Promise provides Linux RAID configuration utility for these
895ee926b27SEd Lin	  controllers. Please visit <http://www.promise.com> to download.
896ee926b27SEd Lin
897ee926b27SEd Lin	  To compile this driver as a module, choose M here: the
898ee926b27SEd Lin	  module will be called stex.
8995a25ba16SJeff Garzik
90063273134SKars de Jongconfig 53C700_BE_BUS
90163273134SKars de Jong	bool
90245804fbbSKars de Jong	depends on SCSI_A4000T || SCSI_ZORRO7XX || MVME16x_SCSI || BVME6000_SCSI
90363273134SKars de Jong	default y
90463273134SKars de Jong
9051da177e4SLinus Torvaldsconfig SCSI_SYM53C8XX_2
9061da177e4SLinus Torvalds	tristate "SYM53C8XX Version 2 SCSI support"
9071da177e4SLinus Torvalds	depends on PCI && SCSI
9081da177e4SLinus Torvalds	select SCSI_SPI_ATTRS
909a7f7f624SMasahiro Yamada	help
9101da177e4SLinus Torvalds	  This driver supports the whole NCR53C8XX/SYM53C8XX family of
9111da177e4SLinus Torvalds	  PCI-SCSI controllers.  It also supports the subset of LSI53C10XX
9121da177e4SLinus Torvalds	  Ultra-160 controllers that are based on the SYM53C8XX SCRIPTS
9131da177e4SLinus Torvalds	  language.  It does not support LSI53C10XX Ultra-320 PCI-X SCSI
9141da177e4SLinus Torvalds	  controllers; you need to use the Fusion MPT driver for that.
9151da177e4SLinus Torvalds
916f02e84d2SMauro Carvalho Chehab	  Please read <file:Documentation/scsi/sym53c8xx_2.rst> for more
9171da177e4SLinus Torvalds	  information.
9181da177e4SLinus Torvalds
9191da177e4SLinus Torvaldsconfig SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
9201da177e4SLinus Torvalds	int "DMA addressing mode"
9211da177e4SLinus Torvalds	depends on SCSI_SYM53C8XX_2
9221da177e4SLinus Torvalds	default "1"
923a7f7f624SMasahiro Yamada	help
9241da177e4SLinus Torvalds	  This option only applies to PCI-SCSI chips that are PCI DAC
9251da177e4SLinus Torvalds	  capable (875A, 895A, 896, 1010-33, 1010-66, 1000).
9261da177e4SLinus Torvalds
9271da177e4SLinus Torvalds	  When set to 0, the driver will program the chip to only perform
9281da177e4SLinus Torvalds	  32-bit DMA.  When set to 1, the chip will be able to perform DMA
9291da177e4SLinus Torvalds	  to addresses up to 1TB.  When set to 2, the driver supports the
9301da177e4SLinus Torvalds	  full 64-bit DMA address range, but can only address 16 segments
9311da177e4SLinus Torvalds	  of 4 GB each.  This limits the total addressable range to 64 GB.
9321da177e4SLinus Torvalds
9331da177e4SLinus Torvalds	  Most machines with less than 4GB of memory should use a setting
9341da177e4SLinus Torvalds	  of 0 for best performance.  If your machine has 4GB of memory
9351da177e4SLinus Torvalds	  or more, you should set this option to 1 (the default).
9361da177e4SLinus Torvalds
9371da177e4SLinus Torvalds	  The still experimental value 2 (64 bit DMA addressing with 16
9381da177e4SLinus Torvalds	  x 4GB segments limitation) can be used on systems that require
9391da177e4SLinus Torvalds	  PCI address bits past bit 39 to be set for the addressing of
9401da177e4SLinus Torvalds	  memory using PCI DAC cycles.
9411da177e4SLinus Torvalds
9421da177e4SLinus Torvaldsconfig SCSI_SYM53C8XX_DEFAULT_TAGS
9431f61d824SMatthew Wilcox	int "Default tagged command queue depth"
9441da177e4SLinus Torvalds	depends on SCSI_SYM53C8XX_2
9451da177e4SLinus Torvalds	default "16"
9461da177e4SLinus Torvalds	help
9471da177e4SLinus Torvalds	  This is the default value of the command queue depth the
9481da177e4SLinus Torvalds	  driver will announce to the generic SCSI layer for devices
9491da177e4SLinus Torvalds	  that support tagged command queueing. This value can be changed
9501da177e4SLinus Torvalds	  from the boot command line.  This is a soft limit that cannot
9511da177e4SLinus Torvalds	  exceed CONFIG_SCSI_SYM53C8XX_MAX_TAGS.
9521da177e4SLinus Torvalds
9531da177e4SLinus Torvaldsconfig SCSI_SYM53C8XX_MAX_TAGS
9541f61d824SMatthew Wilcox	int "Maximum number of queued commands"
9551da177e4SLinus Torvalds	depends on SCSI_SYM53C8XX_2
9561da177e4SLinus Torvalds	default "64"
9571da177e4SLinus Torvalds	help
9581da177e4SLinus Torvalds	  This option allows you to specify the maximum number of commands
9591da177e4SLinus Torvalds	  that can be queued to any device, when tagged command queuing is
9601da177e4SLinus Torvalds	  possible. The driver supports up to 256 queued commands per device.
9611da177e4SLinus Torvalds	  This value is used as a compiled-in hard limit.
9621da177e4SLinus Torvalds
9631f61d824SMatthew Wilcoxconfig SCSI_SYM53C8XX_MMIO
9641f61d824SMatthew Wilcox	bool "Use memory mapped IO"
9651da177e4SLinus Torvalds	depends on SCSI_SYM53C8XX_2
9661f61d824SMatthew Wilcox	default y
9671da177e4SLinus Torvalds	help
9681f61d824SMatthew Wilcox	  Memory mapped IO is faster than Port IO.  Most people should
9691f61d824SMatthew Wilcox	  answer Y here, but some machines may have problems.  If you have
9701f61d824SMatthew Wilcox	  to answer N here, please report the problem to the maintainer.
9711da177e4SLinus Torvalds
9721da177e4SLinus Torvaldsconfig SCSI_IPR
9731da177e4SLinus Torvalds	tristate "IBM Power Linux RAID adapter support"
974*65a15d65SBrian King	depends on PCI && SCSI
9751da177e4SLinus Torvalds	select FW_LOADER
976511cbce2SChristoph Hellwig	select IRQ_POLL
977f95dc1bbSBart Van Assche	select SGL_ALLOC
978a7f7f624SMasahiro Yamada	help
9791da177e4SLinus Torvalds	  This driver supports the IBM Power Linux family RAID adapters.
9801da177e4SLinus Torvalds	  This includes IBM pSeries 5712, 5703, 5709, and 570A, as well
9811da177e4SLinus Torvalds	  as IBM iSeries 5702, 5703, 5709, and 570A.
9821da177e4SLinus Torvalds
9831da177e4SLinus Torvaldsconfig SCSI_IPR_TRACE
9841da177e4SLinus Torvalds	bool "enable driver internal trace"
9851da177e4SLinus Torvalds	depends on SCSI_IPR
986efbbdd84SBrian King	default y
9871da177e4SLinus Torvalds	help
9881da177e4SLinus Torvalds	  If you say Y here, the driver will trace all commands issued
9891da177e4SLinus Torvalds	  to the adapter. Performance impact is minimal. Trace can be
9901da177e4SLinus Torvalds	  dumped using /sys/bus/class/scsi_host/hostXX/trace.
9911da177e4SLinus Torvalds
9921da177e4SLinus Torvaldsconfig SCSI_IPR_DUMP
9931da177e4SLinus Torvalds	bool "enable adapter dump support"
9941da177e4SLinus Torvalds	depends on SCSI_IPR
995efbbdd84SBrian King	default y
9961da177e4SLinus Torvalds	help
9971da177e4SLinus Torvalds	  If you say Y here, the driver will support adapter crash dump.
9981da177e4SLinus Torvalds	  If you enable this support, the iprdump daemon can be used
9991da177e4SLinus Torvalds	  to capture adapter failure analysis information.
10001da177e4SLinus Torvalds
10011da177e4SLinus Torvaldsconfig SCSI_ZALON
10021da177e4SLinus Torvalds	tristate "Zalon SCSI support"
10031da177e4SLinus Torvalds	depends on GSC && SCSI
10041da177e4SLinus Torvalds	select SCSI_SPI_ATTRS
10051da177e4SLinus Torvalds	help
10061da177e4SLinus Torvalds	  The Zalon is a GSC/HSC bus interface chip that sits between the
10071da177e4SLinus Torvalds	  PA-RISC processor and the NCR 53c720 SCSI controller on C100,
10081da177e4SLinus Torvalds	  C110, J200, J210 and some D, K & R-class machines.  It's also
10091da177e4SLinus Torvalds	  used on the add-in Bluefish, Barracuda & Shrike SCSI cards.
10101da177e4SLinus Torvalds	  Say Y here if you have one of these machines or cards.
10111da177e4SLinus Torvalds
10121da177e4SLinus Torvaldsconfig SCSI_NCR53C8XX_DEFAULT_TAGS
10131da177e4SLinus Torvalds	int "default tagged command queue depth"
1014af8a6722SJohannes Thumshirn	depends on SCSI_ZALON
10151da177e4SLinus Torvalds	default "8"
1016a7f7f624SMasahiro Yamada	help
10171da177e4SLinus Torvalds	  "Tagged command queuing" is a feature of SCSI-2 which improves
10181da177e4SLinus Torvalds	  performance: the host adapter can send several SCSI commands to a
10191da177e4SLinus Torvalds	  device's queue even if previous commands haven't finished yet.
10201da177e4SLinus Torvalds	  Because the device is intelligent, it can optimize its operations
10211da177e4SLinus Torvalds	  (like head positioning) based on its own request queue. Some SCSI
10221da177e4SLinus Torvalds	  devices don't implement this properly; if you want to disable this
10231da177e4SLinus Torvalds	  feature, enter 0 or 1 here (it doesn't matter which).
10241da177e4SLinus Torvalds
10251da177e4SLinus Torvalds	  The default value is 8 and should be supported by most hard disks.
10261da177e4SLinus Torvalds	  This value can be overridden from the boot command line using the
10271da177e4SLinus Torvalds	  'tags' option as follows (example):
10281da177e4SLinus Torvalds	  'ncr53c8xx=tags:4/t2t3q16/t0u2q10' will set default queue depth to
10291da177e4SLinus Torvalds	  4, set queue depth to 16 for target 2 and target 3 on controller 0
10301da177e4SLinus Torvalds	  and set queue depth to 10 for target 0 / lun 2 on controller 1.
10311da177e4SLinus Torvalds
10321da177e4SLinus Torvalds	  The normal answer therefore is to go with the default 8 and to use
10331da177e4SLinus Torvalds	  a boot command line option for devices that need to use a different
10341da177e4SLinus Torvalds	  command queue depth.
10351da177e4SLinus Torvalds
10361da177e4SLinus Torvalds	  There is no safe option other than using good SCSI devices.
10371da177e4SLinus Torvalds
10381da177e4SLinus Torvaldsconfig SCSI_NCR53C8XX_MAX_TAGS
10391da177e4SLinus Torvalds	int "maximum number of queued commands"
1040af8a6722SJohannes Thumshirn	depends on SCSI_ZALON
10411da177e4SLinus Torvalds	default "32"
1042a7f7f624SMasahiro Yamada	help
10431da177e4SLinus Torvalds	  This option allows you to specify the maximum number of commands
10441da177e4SLinus Torvalds	  that can be queued to any device, when tagged command queuing is
10451da177e4SLinus Torvalds	  possible. The default value is 32. Minimum is 2, maximum is 64.
10461da177e4SLinus Torvalds	  Modern hard disks are able to support 64 tags and even more, but
10471da177e4SLinus Torvalds	  do not seem to be faster when more than 32 tags are being used.
10481da177e4SLinus Torvalds
10491da177e4SLinus Torvalds	  So, the normal answer here is to go with the default value 32 unless
10501da177e4SLinus Torvalds	  you are using very large hard disks with large cache (>= 1 MB) that
10511da177e4SLinus Torvalds	  are able to take advantage of more than 32 tagged commands.
10521da177e4SLinus Torvalds
10531da177e4SLinus Torvalds	  There is no safe option and the default answer is recommended.
10541da177e4SLinus Torvalds
10551da177e4SLinus Torvaldsconfig SCSI_NCR53C8XX_SYNC
10561da177e4SLinus Torvalds	int "synchronous transfers frequency in MHz"
1057af8a6722SJohannes Thumshirn	depends on SCSI_ZALON
10581da177e4SLinus Torvalds	default "20"
1059a7f7f624SMasahiro Yamada	help
10601da177e4SLinus Torvalds	  The SCSI Parallel Interface-2 Standard defines 5 classes of transfer
10611da177e4SLinus Torvalds	  rates: FAST-5, FAST-10, FAST-20, FAST-40 and FAST-80.  The numbers
10621da177e4SLinus Torvalds	  are respectively the maximum data transfer rates in mega-transfers
10631da177e4SLinus Torvalds	  per second for each class.  For example, a FAST-20 Wide 16 device is
10641da177e4SLinus Torvalds	  able to transfer data at 20 million 16 bit packets per second for a
10651da177e4SLinus Torvalds	  total rate of 40 MB/s.
10661da177e4SLinus Torvalds
10671da177e4SLinus Torvalds	  You may specify 0 if you want to only use asynchronous data
10681da177e4SLinus Torvalds	  transfers. This is the safest and slowest option. Otherwise, specify
10691da177e4SLinus Torvalds	  a value between 5 and 80, depending on the capability of your SCSI
10701da177e4SLinus Torvalds	  controller.  The higher the number, the faster the data transfer.
10711da177e4SLinus Torvalds	  Note that 80 should normally be ok since the driver decreases the
10721da177e4SLinus Torvalds	  value automatically according to the controller's capabilities.
10731da177e4SLinus Torvalds
10741da177e4SLinus Torvalds	  Your answer to this question is ignored for controllers with NVRAM,
10751da177e4SLinus Torvalds	  since the driver will get this information from the user set-up.  It
10761da177e4SLinus Torvalds	  also can be overridden using a boot setup option, as follows
10771da177e4SLinus Torvalds	  (example): 'ncr53c8xx=sync:12' will allow the driver to negotiate
10781da177e4SLinus Torvalds	  for FAST-20 synchronous data transfer (20 mega-transfers per
10791da177e4SLinus Torvalds	  second).
10801da177e4SLinus Torvalds
10811da177e4SLinus Torvalds	  The normal answer therefore is not to go with the default but to
10821da177e4SLinus Torvalds	  select the maximum value 80 allowing the driver to use the maximum
10831da177e4SLinus Torvalds	  value supported by each controller. If this causes problems with
10841da177e4SLinus Torvalds	  your SCSI devices, you should come back and decrease the value.
10851da177e4SLinus Torvalds
10861da177e4SLinus Torvalds	  There is no safe option other than using good cabling, right
10871da177e4SLinus Torvalds	  terminations and SCSI conformant devices.
10881da177e4SLinus Torvalds
10891da177e4SLinus Torvaldsconfig SCSI_NCR53C8XX_NO_DISCONNECT
10901da177e4SLinus Torvalds	bool "not allow targets to disconnect"
1091af8a6722SJohannes Thumshirn	depends on SCSI_ZALON && SCSI_NCR53C8XX_DEFAULT_TAGS=0
10921da177e4SLinus Torvalds	help
10931da177e4SLinus Torvalds	  This option is only provided for safety if you suspect some SCSI
10941da177e4SLinus Torvalds	  device of yours to not support properly the target-disconnect
10951da177e4SLinus Torvalds	  feature. In that case, you would say Y here. In general however, to
10961da177e4SLinus Torvalds	  not allow targets to disconnect is not reasonable if there is more
10971da177e4SLinus Torvalds	  than 1 device on a SCSI bus. The normal answer therefore is N.
10981da177e4SLinus Torvalds
10991da177e4SLinus Torvaldsconfig SCSI_QLOGIC_FAS
11001da177e4SLinus Torvalds	tristate "Qlogic FAS SCSI support"
11011da177e4SLinus Torvalds	depends on ISA && SCSI
1102a7f7f624SMasahiro Yamada	help
11031da177e4SLinus Torvalds	  This is a driver for the ISA, VLB, and PCMCIA versions of the Qlogic
11041da177e4SLinus Torvalds	  FastSCSI! cards as well as any other card based on the FASXX chip
11051da177e4SLinus Torvalds	  (including the Control Concepts SCSI/IDE/SIO/PIO/FDC cards).
11061da177e4SLinus Torvalds
11071da177e4SLinus Torvalds	  This driver does NOT support the PCI versions of these cards. The
11081da177e4SLinus Torvalds	  PCI versions are supported by the Qlogic ISP driver ("Qlogic ISP
11091da177e4SLinus Torvalds	  SCSI support"), below.
11101da177e4SLinus Torvalds
11111da177e4SLinus Torvalds	  Information about this driver is contained in
1112058595d5SMauro Carvalho Chehab	  <file:Documentation/scsi/qlogicfas.rst>.  You should also read the
11131da177e4SLinus Torvalds	  SCSI-HOWTO, available from
11141da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
11151da177e4SLinus Torvalds
11161da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
11171da177e4SLinus Torvalds	  module will be called qlogicfas.
11181da177e4SLinus Torvalds
11191da177e4SLinus Torvaldsconfig SCSI_QLOGIC_1280
11201da177e4SLinus Torvalds	tristate "Qlogic QLA 1240/1x80/1x160 SCSI support"
11211da177e4SLinus Torvalds	depends on PCI && SCSI
11221da177e4SLinus Torvalds	help
11231da177e4SLinus Torvalds	  Say Y if you have a QLogic ISP1240/1x80/1x160 SCSI host adapter.
11241da177e4SLinus Torvalds
11251da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
11261da177e4SLinus Torvalds	  module will be called qla1280.
11271da177e4SLinus Torvalds
11281da177e4SLinus Torvaldsconfig SCSI_QLOGICPTI
11291da177e4SLinus Torvalds	tristate "PTI Qlogic, ISP Driver"
11301da177e4SLinus Torvalds	depends on SBUS && SCSI
11311da177e4SLinus Torvalds	help
11321da177e4SLinus Torvalds	  This driver supports SBUS SCSI controllers from PTI or QLogic. These
11331da177e4SLinus Torvalds	  controllers are known under Solaris as qpti and in the openprom as
11341da177e4SLinus Torvalds	  PTI,ptisp or QLGC,isp. Note that PCI QLogic SCSI controllers are
11351da177e4SLinus Torvalds	  driven by a different driver.
11361da177e4SLinus Torvalds
11371da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
11381da177e4SLinus Torvalds	  module will be called qlogicpti.
11391da177e4SLinus Torvalds
11401da177e4SLinus Torvaldssource "drivers/scsi/qla2xxx/Kconfig"
1141afaf5a2dSDavid Somayajulusource "drivers/scsi/qla4xxx/Kconfig"
1142ace7f46bSManish Rangankarsource "drivers/scsi/qedi/Kconfig"
114361d8658bSDupuis, Chadsource "drivers/scsi/qedf/Kconfig"
11441da177e4SLinus Torvalds
1145dea3101eSconfig SCSI_LPFC
1146dea3101eS	tristate "Emulex LightPulse Fibre Channel Support"
1147dea3101eS	depends on PCI && SCSI
1148e3d2bf65SGuenter Roeck	depends on CPU_FREQ
11496a38792cSRandy Dunlap	depends on SCSI_FC_ATTRS
1150cd069bb9SArnd Bergmann	depends on NVME_TARGET_FC || NVME_TARGET_FC=n
1151cd069bb9SArnd Bergmann	depends on NVME_FC || NVME_FC=n
11526a7252fdSJames Bottomley	select CRC_T10DIF
1153fad0a161STong Zhang	select IRQ_POLL
1154a7f7f624SMasahiro Yamada	help
1155dea3101eS          This lpfc driver supports the Emulex LightPulse
1156dea3101eS          Family of Fibre Channel PCI host adapters.
1157dea3101eS
1158923e4b6aSJames Smartconfig SCSI_LPFC_DEBUG_FS
1159923e4b6aSJames Smart	bool "Emulex LightPulse Fibre Channel debugfs Support"
1160923e4b6aSJames Smart	depends on SCSI_LPFC && DEBUG_FS
1161a7f7f624SMasahiro Yamada	help
1162692105b8SMatt LaPlante	  This makes debugging information from the lpfc driver
1163923e4b6aSJames Smart	  available via the debugfs filesystem.
1164923e4b6aSJames Smart
1165ebc076b3SJames Smartsource "drivers/scsi/elx/Kconfig"
1166ebc076b3SJames Smart
11671da177e4SLinus Torvaldsconfig SCSI_SIM710
11681da177e4SLinus Torvalds	tristate "Simple 53c710 SCSI support (Compaq, NCR machines)"
1169c8bf9212SChristoph Hellwig	depends on EISA && SCSI
11701da177e4SLinus Torvalds	select SCSI_SPI_ATTRS
1171a7f7f624SMasahiro Yamada	help
1172692105b8SMatt LaPlante	  This driver is for NCR53c710 based SCSI host adapters.
11731da177e4SLinus Torvalds
1174c8bf9212SChristoph Hellwig	  It currently supports Compaq EISA cards.
11751da177e4SLinus Torvalds
11761da177e4SLinus Torvaldsconfig SCSI_DC395x
117792f6ed4aSKees Cook	tristate "Tekram DC395(U/UW/F) and DC315(U) SCSI support"
117892f6ed4aSKees Cook	depends on PCI && SCSI
11799c2d2670SHannes Reinecke	select SCSI_SPI_ATTRS
1180a7f7f624SMasahiro Yamada	help
11811da177e4SLinus Torvalds	  This driver supports PCI SCSI host adapters based on the ASIC
11821da177e4SLinus Torvalds	  TRM-S1040 chip, e.g Tekram DC395(U/UW/F) and DC315(U) variants.
11831da177e4SLinus Torvalds
11841da177e4SLinus Torvalds	  This driver works, but is still in experimental status. So better
11851da177e4SLinus Torvalds	  have a bootable disk and a backup in case of emergency.
11861da177e4SLinus Torvalds
118762e3bfa4SMauro Carvalho Chehab	  Documentation can be found in <file:Documentation/scsi/dc395x.rst>.
11881da177e4SLinus Torvalds
11891da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
11901da177e4SLinus Torvalds	  module will be called dc395x.
11911da177e4SLinus Torvalds
11923a7e7be2SHannes Reineckeconfig SCSI_AM53C974
11933a7e7be2SHannes Reinecke	tristate "Tekram DC390(T) and Am53/79C974 SCSI support (new driver)"
11943a7e7be2SHannes Reinecke	depends on PCI && SCSI
11953a7e7be2SHannes Reinecke	select SCSI_SPI_ATTRS
1196a7f7f624SMasahiro Yamada	help
11973a7e7be2SHannes Reinecke	  This driver supports PCI SCSI host adapters based on the Am53C974A
11983a7e7be2SHannes Reinecke	  chip, e.g. Tekram DC390(T), DawiControl 2974 and some onboard
11993a7e7be2SHannes Reinecke	  PCscsi/PCnet (Am53/79C974) solutions.
12003a7e7be2SHannes Reinecke	  This is a new implementation base on the generic esp_scsi driver.
12013a7e7be2SHannes Reinecke
12023a7e7be2SHannes Reinecke	  Note that this driver does NOT support Tekram DC390W/U/F, which are
12033a7e7be2SHannes Reinecke	  based on NCR/Symbios chips. Use "NCR53C8XX SCSI support" for those.
12043a7e7be2SHannes Reinecke
12053a7e7be2SHannes Reinecke	  To compile this driver as a module, choose M here: the
12063a7e7be2SHannes Reinecke	  module will be called am53c974.
12073a7e7be2SHannes Reinecke
12081da177e4SLinus Torvaldsconfig SCSI_NSP32
12091da177e4SLinus Torvalds	tristate "Workbit NinjaSCSI-32Bi/UDE support"
12101da177e4SLinus Torvalds	depends on PCI && SCSI && !64BIT
12111da177e4SLinus Torvalds	help
12121da177e4SLinus Torvalds	  This is support for the Workbit NinjaSCSI-32Bi/UDE PCI/Cardbus
12131da177e4SLinus Torvalds	  SCSI host adapter. Please read the SCSI-HOWTO, available from
12141da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
12151da177e4SLinus Torvalds
12161da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
12171da177e4SLinus Torvalds	  module will be called nsp32.
12181da177e4SLinus Torvalds
121948a31030SOndrej Zaryconfig SCSI_WD719X
122048a31030SOndrej Zary	tristate "Western Digital WD7193/7197/7296 support"
122148a31030SOndrej Zary	depends on PCI && SCSI
122248a31030SOndrej Zary	select EEPROM_93CX6
1223a7f7f624SMasahiro Yamada	help
122448a31030SOndrej Zary	  This is a driver for Western Digital WD7193, WD7197 and WD7296 PCI
122548a31030SOndrej Zary	  SCSI controllers (based on WD33C296A chip).
122648a31030SOndrej Zary
12271da177e4SLinus Torvaldsconfig SCSI_DEBUG
12286d6f3807SDouglas Gilbert	tristate "SCSI debugging host and device simulator"
12291da177e4SLinus Torvalds	depends on SCSI
1230d0ace3c5SRandy Dunlap	select CRC_T10DIF
12311da177e4SLinus Torvalds	help
12326d6f3807SDouglas Gilbert	  This pseudo driver simulates one or more hosts (SCSI initiators),
12336d6f3807SDouglas Gilbert	  each with one or more targets, each with one or more logical units.
12346d6f3807SDouglas Gilbert	  Defaults to one of each, creating a small RAM disk device. Many
12356d6f3807SDouglas Gilbert	  parameters found in the /sys/bus/pseudo/drivers/scsi_debug
12366d6f3807SDouglas Gilbert	  directory can be tweaked at run time.
12376d6f3807SDouglas Gilbert	  See <http://sg.danny.cz/sg/sdebug26.html> for more information.
12386d6f3807SDouglas Gilbert	  Mainly used for testing and best as a module. If unsure, say N.
12391da177e4SLinus Torvalds
12401da177e4SLinus Torvaldsconfig SCSI_MESH
12411da177e4SLinus Torvalds	tristate "MESH (Power Mac internal SCSI) support"
12421da177e4SLinus Torvalds	depends on PPC32 && PPC_PMAC && SCSI
12431da177e4SLinus Torvalds	help
12441da177e4SLinus Torvalds	  Many Power Macintoshes and clones have a MESH (Macintosh Enhanced
12451da177e4SLinus Torvalds	  SCSI Hardware) SCSI bus adaptor (the 7200 doesn't, but all of the
12461da177e4SLinus Torvalds	  other Power Macintoshes do). Say Y to include support for this SCSI
12471da177e4SLinus Torvalds	  adaptor.
12481da177e4SLinus Torvalds
12491da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
12501da177e4SLinus Torvalds	  module will be called mesh.
12511da177e4SLinus Torvalds
12521da177e4SLinus Torvaldsconfig SCSI_MESH_SYNC_RATE
12531da177e4SLinus Torvalds	int "maximum synchronous transfer rate (MB/s) (0 = async)"
12541da177e4SLinus Torvalds	depends on SCSI_MESH
12551da177e4SLinus Torvalds	default "5"
12561da177e4SLinus Torvalds	help
12571da177e4SLinus Torvalds	  On Power Macintoshes (and clones) where the MESH SCSI bus adaptor
12581da177e4SLinus Torvalds	  drives a bus which is entirely internal to the machine (such as the
12591da177e4SLinus Torvalds	  7500, 7600, 8500, etc.), the MESH is capable of synchronous
12601da177e4SLinus Torvalds	  operation at up to 10 MB/s. On machines where the SCSI bus
12611da177e4SLinus Torvalds	  controlled by the MESH can have external devices connected, it is
12621da177e4SLinus Torvalds	  usually rated at 5 MB/s. 5 is a safe value here unless you know the
12631da177e4SLinus Torvalds	  MESH SCSI bus is internal only; in that case you can say 10. Say 0
12641da177e4SLinus Torvalds	  to disable synchronous operation.
12651da177e4SLinus Torvalds
12661da177e4SLinus Torvaldsconfig SCSI_MESH_RESET_DELAY_MS
12671da177e4SLinus Torvalds	int "initial bus reset delay (ms) (0 = no reset)"
12681da177e4SLinus Torvalds	depends on SCSI_MESH
12691da177e4SLinus Torvalds	default "4000"
12701da177e4SLinus Torvalds
12711da177e4SLinus Torvaldsconfig SCSI_MAC53C94
12721da177e4SLinus Torvalds	tristate "53C94 (Power Mac external SCSI) support"
12731da177e4SLinus Torvalds	depends on PPC32 && PPC_PMAC && SCSI
12741da177e4SLinus Torvalds	help
12751da177e4SLinus Torvalds	  On Power Macintoshes (and clones) with two SCSI buses, the external
12761da177e4SLinus Torvalds	  SCSI bus is usually controlled by a 53C94 SCSI bus adaptor. Older
12771da177e4SLinus Torvalds	  machines which only have one SCSI bus, such as the 7200, also use
12781da177e4SLinus Torvalds	  the 53C94. Say Y to include support for the 53C94.
12791da177e4SLinus Torvalds
12801da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
12811da177e4SLinus Torvalds	  module will be called mac53c94.
12821da177e4SLinus Torvalds
12831da177e4SLinus Torvaldssource "drivers/scsi/arm/Kconfig"
12841da177e4SLinus Torvalds
12851da177e4SLinus Torvaldsconfig JAZZ_ESP
12861da177e4SLinus Torvalds	bool "MIPS JAZZ FAS216 SCSI support"
12871da177e4SLinus Torvalds	depends on MACH_JAZZ && SCSI
12883a243070SDavid S. Miller	select SCSI_SPI_ATTRS
12891da177e4SLinus Torvalds	help
12901da177e4SLinus Torvalds	  This is the driver for the onboard SCSI host adapter of MIPS Magnum
12911da177e4SLinus Torvalds	  4000, Acer PICA, Olivetti M700-10 and a few other identical OEM
12921da177e4SLinus Torvalds	  systems.
12931da177e4SLinus Torvalds
12941da177e4SLinus Torvaldsconfig A3000_SCSI
12951da177e4SLinus Torvalds	tristate "A3000 WD33C93A support"
12961da177e4SLinus Torvalds	depends on AMIGA && SCSI
12971da177e4SLinus Torvalds	help
12981da177e4SLinus Torvalds	  If you have an Amiga 3000 and have SCSI devices connected to the
12991da177e4SLinus Torvalds	  built-in SCSI controller, say Y. Otherwise, say N.
13001da177e4SLinus Torvalds
13011da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
130290638f99SGeert Uytterhoeven	  module will be called a3000.
13031da177e4SLinus Torvalds
13041da177e4SLinus Torvaldsconfig A2091_SCSI
13051da177e4SLinus Torvalds	tristate "A2091/A590 WD33C93A support"
13061da177e4SLinus Torvalds	depends on ZORRO && SCSI
13071da177e4SLinus Torvalds	help
13081da177e4SLinus Torvalds	  If you have a Commodore A2091 SCSI controller, say Y. Otherwise,
13091da177e4SLinus Torvalds	  say N.
13101da177e4SLinus Torvalds
13111da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
131290638f99SGeert Uytterhoeven	  module will be called a2091.
13131da177e4SLinus Torvalds
13141da177e4SLinus Torvaldsconfig GVP11_SCSI
13151da177e4SLinus Torvalds	tristate "GVP Series II WD33C93A support"
13161da177e4SLinus Torvalds	depends on ZORRO && SCSI
1317a7f7f624SMasahiro Yamada	help
13181da177e4SLinus Torvalds	  If you have a Great Valley Products Series II SCSI controller,
13191da177e4SLinus Torvalds	  answer Y. Also say Y if you have a later model of GVP SCSI
13201da177e4SLinus Torvalds	  controller (such as the GVP A4008 or a Combo board). Otherwise,
13211da177e4SLinus Torvalds	  answer N. This driver does NOT work for the T-Rex series of
13221da177e4SLinus Torvalds	  accelerators from TekMagic and GVP-M.
13231da177e4SLinus Torvalds
13241da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
13251da177e4SLinus Torvalds	  module will be called gvp11.
13261da177e4SLinus Torvalds
1327a16efc1cSKars de Jongconfig SCSI_A4000T
132892f6ed4aSKees Cook	tristate "A4000T NCR53c710 SCSI support"
132992f6ed4aSKees Cook	depends on AMIGA && SCSI
1330a16efc1cSKars de Jong	select SCSI_SPI_ATTRS
13311da177e4SLinus Torvalds	help
1332a16efc1cSKars de Jong	  If you have an Amiga 4000T and have SCSI devices connected to the
1333a16efc1cSKars de Jong	  built-in SCSI controller, say Y. Otherwise, say N.
1334a16efc1cSKars de Jong
1335a16efc1cSKars de Jong	  To compile this driver as a module, choose M here: the
1336a16efc1cSKars de Jong	  module will be called a4000t.
1337a16efc1cSKars de Jong
133845804fbbSKars de Jongconfig SCSI_ZORRO7XX
133992f6ed4aSKees Cook	tristate "Zorro NCR53c710 SCSI support"
134092f6ed4aSKees Cook	depends on ZORRO && SCSI
134145804fbbSKars de Jong	select SCSI_SPI_ATTRS
13421da177e4SLinus Torvalds	help
134345804fbbSKars de Jong	  Support for various NCR53c710-based SCSI controllers on Zorro
134445804fbbSKars de Jong	  expansion boards for the Amiga.
13451da177e4SLinus Torvalds	  This includes:
13461da177e4SLinus Torvalds	    - the Amiga 4091 Zorro III SCSI-2 controller,
13471da177e4SLinus Torvalds	    - the MacroSystem Development's WarpEngine Amiga SCSI-2 controller
13481da177e4SLinus Torvalds	      (info at
13491da177e4SLinus Torvalds	      <http://www.lysator.liu.se/amiga/ar/guide/ar310.guide?FEATURE5>),
13501da177e4SLinus Torvalds	    - the SCSI controller on the Phase5 Blizzard PowerUP 603e+
13511da177e4SLinus Torvalds	      accelerator card for the Amiga 1200,
13521da177e4SLinus Torvalds	    - the SCSI controller on the GVP Turbo 040/060 accelerator.
13531da177e4SLinus Torvalds
13543109e5aeSMichael Schmitzconfig SCSI_ZORRO_ESP
13553109e5aeSMichael Schmitz	tristate "Zorro ESP SCSI support"
13563109e5aeSMichael Schmitz	depends on ZORRO && SCSI
13573109e5aeSMichael Schmitz	select SCSI_SPI_ATTRS
135853dce332SFinn Thain	select SCSI_ESP_PIO
13593109e5aeSMichael Schmitz	help
13603109e5aeSMichael Schmitz	  Support for various NCR53C9x (ESP) based SCSI controllers on Zorro
13613109e5aeSMichael Schmitz	  expansion boards for the Amiga.
13623109e5aeSMichael Schmitz	  This includes:
13633109e5aeSMichael Schmitz	    - the Phase5 Blizzard 1230 II and IV SCSI controllers,
13643109e5aeSMichael Schmitz	    - the Phase5 Blizzard 2060 SCSI controller,
13653109e5aeSMichael Schmitz	    - the Phase5 Blizzard Cyberstorm and Cyberstorm II SCSI
13663109e5aeSMichael Schmitz	      controllers,
13673109e5aeSMichael Schmitz	    - the Fastlane Zorro III SCSI controller.
13683109e5aeSMichael Schmitz
13691da177e4SLinus Torvaldsconfig ATARI_SCSI
13701da177e4SLinus Torvalds	tristate "Atari native SCSI support"
1371fb810d12SMichael Schmitz	depends on ATARI && SCSI
1372410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
1373a7f7f624SMasahiro Yamada	help
13741da177e4SLinus Torvalds	  If you have an Atari with built-in NCR5380 SCSI controller (TT,
13751da177e4SLinus Torvalds	  Falcon, ...) say Y to get it supported. Of course also, if you have
13761da177e4SLinus Torvalds	  a compatible SCSI controller (e.g. for Medusa).
13771da177e4SLinus Torvalds
137883d2aed4SFinn Thain	  To compile this driver as a module, choose M here: the module will
137983d2aed4SFinn Thain	  be called atari_scsi. If you also enable NVRAM support, the SCSI
138083d2aed4SFinn Thain	  host's ID is taken from the setting in TT RTC NVRAM.
13811da177e4SLinus Torvalds
13821da177e4SLinus Torvalds	  This driver supports both styles of NCR integration into the
13831da177e4SLinus Torvalds	  system: the TT style (separate DMA), and the Falcon style (via
13841da177e4SLinus Torvalds	  ST-DMA, replacing ACSI).  It does NOT support other schemes, like
13851da177e4SLinus Torvalds	  in the Hades (without DMA).
13861da177e4SLinus Torvalds
13871da177e4SLinus Torvaldsconfig MAC_SCSI
13886e9ae6d5SFinn Thain	tristate "Macintosh NCR5380 SCSI"
13892559a1efSFinn Thain	depends on MAC && SCSI
1390410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
13911da177e4SLinus Torvalds	help
13921da177e4SLinus Torvalds	  This is the NCR 5380 SCSI controller included on most of the 68030
13931da177e4SLinus Torvalds	  based Macintoshes.  If you have one of these say Y and read the
13941da177e4SLinus Torvalds	  SCSI-HOWTO, available from
13951da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
13961da177e4SLinus Torvalds
13976fe07aafSFinn Thainconfig SCSI_MAC_ESP
13986fe07aafSFinn Thain	tristate "Macintosh NCR53c9[46] SCSI"
13996fe07aafSFinn Thain	depends on MAC && SCSI
140048fc8de9SGeert Uytterhoeven	select SCSI_SPI_ATTRS
140153dce332SFinn Thain	select SCSI_ESP_PIO
14026fe07aafSFinn Thain	help
14036fe07aafSFinn Thain	  This is the NCR 53c9x SCSI controller found on most of the 68040
14046fe07aafSFinn Thain	  based Macintoshes.
14056fe07aafSFinn Thain
14066fe07aafSFinn Thain	  To compile this driver as a module, choose M here: the module
14076fe07aafSFinn Thain	  will be called mac_esp.
14086fe07aafSFinn Thain
14091da177e4SLinus Torvaldsconfig MVME147_SCSI
14101da177e4SLinus Torvalds	bool "WD33C93 SCSI driver for MVME147"
1411fa53bb65SAl Viro	depends on MVME147 && SCSI=y
1412410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
14131da177e4SLinus Torvalds	help
14141da177e4SLinus Torvalds	  Support for the on-board SCSI controller on the Motorola MVME147
14151da177e4SLinus Torvalds	  single-board computer.
14161da177e4SLinus Torvalds
14171da177e4SLinus Torvaldsconfig MVME16x_SCSI
1418506c7bbcSKars de Jong	tristate "NCR53C710 SCSI driver for MVME16x"
1419506c7bbcSKars de Jong	depends on MVME16x && SCSI
1420410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
14211da177e4SLinus Torvalds	help
14221da177e4SLinus Torvalds	  The Motorola MVME162, 166, 167, 172 and 177 boards use the NCR53C710
14231da177e4SLinus Torvalds	  SCSI controller chip.  Almost everyone using one of these boards
14241da177e4SLinus Torvalds	  will want to say Y to this question.
14251da177e4SLinus Torvalds
14261da177e4SLinus Torvaldsconfig BVME6000_SCSI
14278276b58aSKars de Jong	tristate "NCR53C710 SCSI driver for BVME6000"
14288276b58aSKars de Jong	depends on BVME6000 && SCSI
1429410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
14301da177e4SLinus Torvalds	help
14311da177e4SLinus Torvalds	  The BVME4000 and BVME6000 boards from BVM Ltd use the NCR53C710
14321da177e4SLinus Torvalds	  SCSI controller chip.  Almost everyone using one of these boards
14331da177e4SLinus Torvalds	  will want to say Y to this question.
14341da177e4SLinus Torvalds
14351da177e4SLinus Torvaldsconfig SUN3_SCSI
14361da177e4SLinus Torvalds	tristate "Sun3 NCR5380 SCSI"
1437c39e7eeeSSam Creasey	depends on SUN3 && SCSI
1438410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
14391da177e4SLinus Torvalds	help
14401da177e4SLinus Torvalds	  This option will enable support for the OBIO (onboard io) NCR5380
14411da177e4SLinus Torvalds	  SCSI controller found in the Sun 3/50 and 3/60, as well as for
14421da177e4SLinus Torvalds	  "Sun3" type VME scsi controllers also based on the NCR5380.
14431da177e4SLinus Torvalds	  General Linux information on the Sun 3 series (now discontinued)
14441da177e4SLinus Torvalds	  is at <http://www.angelfire.com/ca2/tech68k/sun3.html>.
14451da177e4SLinus Torvalds
14461da177e4SLinus Torvaldsconfig SUN3X_ESP
14471da177e4SLinus Torvalds	bool "Sun3x ESP SCSI"
1448fa53bb65SAl Viro	depends on SUN3X && SCSI=y
14490bb67f18SThomas Bogendoerfer	select SCSI_SPI_ATTRS
14501da177e4SLinus Torvalds	help
14511da177e4SLinus Torvalds	  The ESP was an on-board SCSI controller used on Sun 3/80
14521da177e4SLinus Torvalds	  machines.  Say Y here to compile in support for it.
14531da177e4SLinus Torvalds
14541da177e4SLinus Torvaldsconfig SCSI_SUNESP
14551da177e4SLinus Torvalds	tristate "Sparc ESP Scsi Driver"
14561da177e4SLinus Torvalds	depends on SBUS && SCSI
14573a243070SDavid S. Miller	select SCSI_SPI_ATTRS
14581da177e4SLinus Torvalds	help
14591da177e4SLinus Torvalds	  This is the driver for the Sun ESP SCSI host adapter. The ESP
1460dbfe54a9SFrans Pop	  chipset is present in most SPARC SBUS-based computers and
1461dbfe54a9SFrans Pop	  supports the Emulex family of ESP SCSI chips (esp100, esp100A,
1462dbfe54a9SFrans Pop	  esp236, fas101, fas236) as well as the Qlogic fas366 SCSI chip.
14631da177e4SLinus Torvalds
14641da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
1465dbfe54a9SFrans Pop	  module will be called sun_esp.
14661da177e4SLinus Torvalds
14671da177e4SLinus Torvaldsconfig ZFCP
1468c06de6e2SBenjamin Block	tristate "FCP host bus adapter driver for IBM mainframes"
1469347a8dc3SMartin Schwidefsky	depends on S390 && QDIO && SCSI
14706a38792cSRandy Dunlap	depends on SCSI_FC_ATTRS
14711da177e4SLinus Torvalds	help
1472c06de6e2SBenjamin Block	  If you want to access SCSI devices attached to your IBM mainframe by
1473c06de6e2SBenjamin Block	  means of Fibre Channel Protocol host bus adapters say Y.
1474c06de6e2SBenjamin Block
1475c06de6e2SBenjamin Block	  Supported HBAs include different models of the FICON Express and FCP
1476c06de6e2SBenjamin Block	  Express I/O cards.
1477c06de6e2SBenjamin Block
1478c06de6e2SBenjamin Block	  For a more complete list, and for more details about setup and
1479c06de6e2SBenjamin Block	  operation refer to the IBM publication "Device Drivers, Features, and
1480c06de6e2SBenjamin Block	  Commands", SC33-8411.
14811da177e4SLinus Torvalds
14821da177e4SLinus Torvalds          This driver is also available as a module. This module will be
14831da177e4SLinus Torvalds          called zfcp. If you want to compile it as a module, say M here
1484cd238effSMauro Carvalho Chehab          and read <file:Documentation/kbuild/modules.rst>.
14851da177e4SLinus Torvalds
148689a36810SAnil Ravindranathconfig SCSI_PMCRAID
148789a36810SAnil Ravindranath	tristate "PMC SIERRA Linux MaxRAID adapter support"
1488b2045240SRandy Dunlap	depends on PCI && SCSI && NET
1489ed4414ceSBart Van Assche	select SGL_ALLOC
1490a7f7f624SMasahiro Yamada	help
149189a36810SAnil Ravindranath	  This driver supports the PMC SIERRA MaxRAID adapters.
149289a36810SAnil Ravindranath
1493dbf9bfe6Sjack wangconfig SCSI_PM8001
1494dbf9bfe6Sjack wang	tristate "PMC-Sierra SPC 8001 SAS/SATA Based Host Adapter driver"
1495dbf9bfe6Sjack wang	depends on PCI && SCSI
1496dbf9bfe6Sjack wang	select SCSI_SAS_LIBSAS
1497dbf9bfe6Sjack wang	help
1498dbf9bfe6Sjack wang	  This driver supports PMC-Sierra PCIE SAS/SATA 8x6G SPC 8001 chip
1499dbf9bfe6Sjack wang	  based host adapters.
1500dbf9bfe6Sjack wang
15017725ccfdSJing Huangconfig SCSI_BFA_FC
15027725ccfdSJing Huang	tristate "Brocade BFA Fibre Channel Support"
15037725ccfdSJing Huang	depends on PCI && SCSI
15046a38792cSRandy Dunlap	depends on SCSI_FC_ATTRS
15057725ccfdSJing Huang	help
15067725ccfdSJing Huang	  This bfa driver supports all Brocade PCIe FC/FCOE host adapters.
15077725ccfdSJing Huang
15087725ccfdSJing Huang	  To compile this driver as a module, choose M here. The module will
15097725ccfdSJing Huang	  be called bfa.
15107725ccfdSJing Huang
15114fe74b1cSPaolo Bonziniconfig SCSI_VIRTIO
151292f6ed4aSKees Cook	tristate "virtio-scsi support"
151392f6ed4aSKees Cook	depends on VIRTIO
15144fe74b1cSPaolo Bonzini	help
15154fe74b1cSPaolo Bonzini          This is the virtual HBA driver for virtio.  If the kernel will
15164fe74b1cSPaolo Bonzini          be used in a virtual machine, say Y or M.
15174fe74b1cSPaolo Bonzini
1518a3667aaeSNaresh Kumar Innasource "drivers/scsi/csiostor/Kconfig"
15194fe74b1cSPaolo Bonzini
15201da177e4SLinus Torvaldssource "drivers/scsi/pcmcia/Kconfig"
15211da177e4SLinus Torvalds
1522e70bdd81SArnd Bergmannendif # SCSI_LOWLEVEL
1523e70bdd81SArnd Bergmann
1524a6a8d9f8SChandra Seetharamansource "drivers/scsi/device_handler/Kconfig"
1525a6a8d9f8SChandra Seetharaman
15261da177e4SLinus Torvaldsendmenu
1527