xref: /linux/drivers/scsi/Kconfig (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
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
7025a1f7a0SMike Christieconfig SCSI_LIB_KUNIT_TEST
7125a1f7a0SMike Christie	tristate "KUnit tests for SCSI Mid Layer's scsi_lib" if !KUNIT_ALL_TESTS
7225a1f7a0SMike Christie	depends on KUNIT
7325a1f7a0SMike Christie	default KUNIT_ALL_TESTS
7425a1f7a0SMike Christie	help
7525a1f7a0SMike Christie	  Run SCSI Mid Layer's KUnit tests for scsi_lib.
7625a1f7a0SMike Christie
7725a1f7a0SMike Christie	  If unsure say N.
7825a1f7a0SMike Christie
791da177e4SLinus Torvaldscomment "SCSI support type (disk, tape, CD-ROM)"
801da177e4SLinus Torvalds	depends on SCSI
811da177e4SLinus Torvalds
821da177e4SLinus Torvaldsconfig BLK_DEV_SD
831da177e4SLinus Torvalds	tristate "SCSI disk support"
841da177e4SLinus Torvalds	depends on SCSI
85a7f7f624SMasahiro Yamada	help
861da177e4SLinus Torvalds	  If you want to use SCSI hard disks, Fibre Channel disks,
87abcdceb9SRandy Dunlap	  Serial ATA (SATA) or Parallel ATA (PATA) hard disks,
881da177e4SLinus Torvalds	  USB storage or the SCSI or parallel port version of
891da177e4SLinus Torvalds	  the IOMEGA ZIP drive, say Y and read the SCSI-HOWTO,
901da177e4SLinus Torvalds	  the Disk-HOWTO and the Multi-Disk-HOWTO, available from
911da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>. This is NOT for SCSI
921da177e4SLinus Torvalds	  CD-ROMs.
931da177e4SLinus Torvalds
941da177e4SLinus Torvalds	  To compile this driver as a module, choose M here and read
95b7223d9bSMauro Carvalho Chehab	  <file:Documentation/scsi/scsi.rst>.
961da177e4SLinus Torvalds	  The module will be called sd_mod.
971da177e4SLinus Torvalds
981da177e4SLinus Torvalds	  Do not compile this driver as a module if your root file system
991da177e4SLinus Torvalds	  (the one containing the directory /) is located on a SCSI disk.
1001da177e4SLinus Torvalds	  In this case, do not compile the driver for your SCSI host adapter
1011da177e4SLinus Torvalds	  (below) as a module either.
1021da177e4SLinus Torvalds
1031da177e4SLinus Torvaldsconfig CHR_DEV_ST
1041da177e4SLinus Torvalds	tristate "SCSI tape support"
1051da177e4SLinus Torvalds	depends on SCSI
106a7f7f624SMasahiro Yamada	help
1071da177e4SLinus Torvalds	  If you want to use a SCSI tape drive under Linux, say Y and read the
1081da177e4SLinus Torvalds	  SCSI-HOWTO, available from
1091da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>, and
110bf65c846SMauro Carvalho Chehab	  <file:Documentation/scsi/st.rst> in the kernel source.  This is NOT
1111da177e4SLinus Torvalds	  for SCSI CD-ROMs.
1121da177e4SLinus Torvalds
1131da177e4SLinus Torvalds	  To compile this driver as a module, choose M here and read
114b7223d9bSMauro Carvalho Chehab	  <file:Documentation/scsi/scsi.rst>. The module will be called st.
1151da177e4SLinus Torvalds
1161da177e4SLinus Torvaldsconfig BLK_DEV_SR
1171da177e4SLinus Torvalds	tristate "SCSI CDROM support"
118c091fbe9SArnd Bergmann	depends on SCSI && BLK_DEV
1192a750166SBart Van Assche	select CDROM
120a7f7f624SMasahiro Yamada	help
121e7fb6d2eSAlan Cox	  If you want to use a CD or DVD drive attached to your computer
122e7fb6d2eSAlan Cox	  by SCSI, FireWire, USB or ATAPI, say Y and read the SCSI-HOWTO
123e7fb6d2eSAlan Cox	  and the CDROM-HOWTO at <http://www.tldp.org/docs.html#howto>.
124e7fb6d2eSAlan Cox
125e7fb6d2eSAlan Cox	  Make sure to say Y or M to "ISO 9660 CD-ROM file system support".
1261da177e4SLinus Torvalds
1271da177e4SLinus Torvalds	  To compile this driver as a module, choose M here and read
128b7223d9bSMauro Carvalho Chehab	  <file:Documentation/scsi/scsi.rst>.
1291da177e4SLinus Torvalds	  The module will be called sr_mod.
1301da177e4SLinus Torvalds
1311da177e4SLinus Torvaldsconfig CHR_DEV_SG
1321da177e4SLinus Torvalds	tristate "SCSI generic support"
1331da177e4SLinus Torvalds	depends on SCSI
134a7f7f624SMasahiro Yamada	help
1351da177e4SLinus Torvalds	  If you want to use SCSI scanners, synthesizers or CD-writers or just
1361da177e4SLinus Torvalds	  about anything having "SCSI" in its name other than hard disks,
1371da177e4SLinus Torvalds	  CD-ROMs or tapes, say Y here. These won't be supported by the kernel
1381da177e4SLinus Torvalds	  directly, so you need some additional software which knows how to
1391da177e4SLinus Torvalds	  talk to these devices using the SCSI protocol:
1401da177e4SLinus Torvalds
141631dd1a8SJustin P. Mattock	  For scanners, look at SANE (<http://www.sane-project.org/>). For CD
1421da177e4SLinus Torvalds	  writer software look at Cdrtools
143fa17a6dcSDiego Elio Pettenò	  (<http://cdrtools.sourceforge.net/>)
1441da177e4SLinus Torvalds	  and for burning a "disk at once": CDRDAO
1451da177e4SLinus Torvalds	  (<http://cdrdao.sourceforge.net/>). Cdparanoia is a high
1461da177e4SLinus Torvalds	  quality digital reader of audio CDs (<http://www.xiph.org/paranoia/>).
1471da177e4SLinus Torvalds	  For other devices, it's possible that you'll have to write the
1481da177e4SLinus Torvalds	  driver software yourself. Please read the file
149d4d79340SMauro Carvalho Chehab	  <file:Documentation/scsi/scsi-generic.rst> for more information.
1501da177e4SLinus Torvalds
1511da177e4SLinus Torvalds	  To compile this driver as a module, choose M here and read
152b7223d9bSMauro Carvalho Chehab	  <file:Documentation/scsi/scsi.rst>. The module will be called sg.
1531da177e4SLinus Torvalds
1541da177e4SLinus Torvalds	  If unsure, say N.
1551da177e4SLinus Torvalds
15678011042SChristoph Hellwigconfig BLK_DEV_BSG
15778011042SChristoph Hellwig	bool "/dev/bsg support (SG v4)"
15878011042SChristoph Hellwig	depends on SCSI
15978011042SChristoph Hellwig	default y
16078011042SChristoph Hellwig	help
16178011042SChristoph Hellwig	  Saying Y here will enable generic SG (SCSI generic) v4 support
16278011042SChristoph Hellwig	  for any SCSI device.
16378011042SChristoph Hellwig
16478011042SChristoph Hellwig	  This option is required by UDEV to access device serial numbers, etc.
16578011042SChristoph Hellwig
16678011042SChristoph Hellwig	  If unsure, say Y.
16778011042SChristoph Hellwig
168daa6eda6SGerd Knorr config CHR_DEV_SCH
169daa6eda6SGerd Knorr 	tristate "SCSI media changer support"
170daa6eda6SGerd Knorr 	depends on SCSI
171a7f7f624SMasahiro Yamada	help
172daa6eda6SGerd Knorr 	  This is a driver for SCSI media changers.  Most common devices are
173daa6eda6SGerd Knorr 	  tape libraries and MOD/CDROM jukeboxes.  *Real* jukeboxes, you
174daa6eda6SGerd Knorr 	  don't need this for those tiny 6-slot cdrom changers.  Media
175daa6eda6SGerd Knorr 	  changers are listed as "Type: Medium Changer" in /proc/scsi/scsi.
176daa6eda6SGerd Knorr 	  If you have such hardware and want to use it with linux, say Y
177731fc16cSMauro Carvalho Chehab	  here.  Check <file:Documentation/scsi/scsi-changer.rst> for details.
178daa6eda6SGerd Knorr 
179daa6eda6SGerd Knorr 	  If you want to compile this as a module ( = code which can be
180daa6eda6SGerd Knorr 	  inserted in and removed from the running kernel whenever you want),
181cd238effSMauro Carvalho Chehab	  say M here and read <file:Documentation/kbuild/modules.rst> and
182b7223d9bSMauro Carvalho Chehab	  <file:Documentation/scsi/scsi.rst>. The module will be called ch.o.
183daa6eda6SGerd Knorr 	  If unsure, say N.
184daa6eda6SGerd Knorr 
1859927c688SJames Bottomleyconfig SCSI_ENCLOSURE
1869927c688SJames Bottomley	tristate "SCSI Enclosure Support"
1879927c688SJames Bottomley	depends on SCSI && ENCLOSURE_SERVICES
1883f8d6f2aSJames Bottomley	depends on m || SCSI_SAS_ATTRS != m
1899927c688SJames Bottomley	help
1909927c688SJames Bottomley	  Enclosures are devices sitting on or in SCSI backplanes that
1919927c688SJames Bottomley	  manage devices.  If you have a disk cage, the chances are that
1929927c688SJames Bottomley	  it has an enclosure device.  Selecting this option will just allow
1939927c688SJames Bottomley	  certain enclosure conditions to be reported and is not required.
194daa6eda6SGerd Knorr 
1951da177e4SLinus Torvaldsconfig SCSI_CONSTANTS
196e1f0bce3SRasmus Villemoes	bool "Verbose SCSI error reporting (kernel size += 36K)"
1971da177e4SLinus Torvalds	depends on SCSI
1981da177e4SLinus Torvalds	help
1991da177e4SLinus Torvalds	  The error messages regarding your SCSI hardware will be easier to
2001da177e4SLinus Torvalds	  understand if you say Y here; it will enlarge your kernel by about
201e1f0bce3SRasmus Villemoes	  36 KB. If in doubt, say Y.
2021da177e4SLinus Torvalds
2031da177e4SLinus Torvaldsconfig SCSI_LOGGING
2041da177e4SLinus Torvalds	bool "SCSI logging facility"
2051da177e4SLinus Torvalds	depends on SCSI
206a7f7f624SMasahiro Yamada	help
2071da177e4SLinus Torvalds	  This turns on a logging facility that can be used to debug a number
2081da177e4SLinus Torvalds	  of SCSI related problems.
2091da177e4SLinus Torvalds
2101da177e4SLinus Torvalds	  If you say Y here, no logging output will appear by default, but you
2111da177e4SLinus Torvalds	  can enable logging by saying Y to "/proc file system support" and
2121da177e4SLinus Torvalds	  "Sysctl support" below and executing the command
2131da177e4SLinus Torvalds
2145ef07416SRobert Love	  echo <bitmask> > /proc/sys/dev/scsi/logging_level
2151da177e4SLinus Torvalds
2165ef07416SRobert Love	  where <bitmask> is a four byte value representing the logging type
2175ef07416SRobert Love	  and logging level for each type of logging selected.
2181da177e4SLinus Torvalds
2195ef07416SRobert Love	  There are a number of logging types and you can find them in the
2205ef07416SRobert Love	  source at <file:drivers/scsi/scsi_logging.h>. The logging levels
2215ef07416SRobert Love	  are also described in that file and they determine the verbosity of
2225ef07416SRobert Love	  the logging for each logging type.
2231da177e4SLinus Torvalds
2241da177e4SLinus Torvalds	  If you say N here, it may be harder to track down some types of SCSI
2251da177e4SLinus Torvalds	  problems. If you say Y here your kernel will be somewhat larger, but
2261da177e4SLinus Torvalds	  there should be no noticeable performance impact as long as you have
2271da177e4SLinus Torvalds	  logging turned off.
2281da177e4SLinus Torvalds
22921db1882SMatthew Wilcoxconfig SCSI_SCAN_ASYNC
23021db1882SMatthew Wilcox	bool "Asynchronous SCSI scanning"
23121db1882SMatthew Wilcox	depends on SCSI
23221db1882SMatthew Wilcox	help
23321db1882SMatthew Wilcox	  The SCSI subsystem can probe for devices while the rest of the
23421db1882SMatthew Wilcox	  system continues booting, and even probe devices on different
23521db1882SMatthew Wilcox	  busses in parallel, leading to a significant speed-up.
236082f6f9dSMatthew Wilcox
237082f6f9dSMatthew Wilcox	  You can override this choice by specifying "scsi_mod.scan=sync"
238082f6f9dSMatthew Wilcox	  or async on the kernel's command line.
23921db1882SMatthew Wilcox
2403c31b52fSDan Williams	  Note that this setting also affects whether resuming from
2413c31b52fSDan Williams	  system suspend will be performed asynchronously.
2423c31b52fSDan Williams
2434977c0f4SBart Van Asscheconfig SCSI_PROTO_TEST
2444977c0f4SBart Van Assche	tristate "scsi_proto.h unit tests" if !KUNIT_ALL_TESTS
2454977c0f4SBart Van Assche	depends on SCSI && KUNIT
2464977c0f4SBart Van Assche	default KUNIT_ALL_TESTS
2474977c0f4SBart Van Assche
2482908d778SJames Bottomleymenu "SCSI Transports"
2491da177e4SLinus Torvalds	depends on SCSI
2501da177e4SLinus Torvalds
2511da177e4SLinus Torvaldsconfig SCSI_SPI_ATTRS
2521da177e4SLinus Torvalds	tristate "Parallel SCSI (SPI) Transport Attributes"
2531da177e4SLinus Torvalds	depends on SCSI
2541da177e4SLinus Torvalds	help
2551da177e4SLinus Torvalds	  If you wish to export transport-specific information about
2561da177e4SLinus Torvalds	  each attached SCSI device to sysfs, say Y.  Otherwise, say N.
2571da177e4SLinus Torvalds
2581da177e4SLinus Torvaldsconfig SCSI_FC_ATTRS
2591da177e4SLinus Torvalds	tristate "FiberChannel Transport Attributes"
26095cd6f48SRandy Dunlap	depends on SCSI && NET
261c00da4c9SJohannes Thumshirn	select BLK_DEV_BSGLIB
26284314fd4SJames Smart	select SCSI_NETLINK
2631da177e4SLinus Torvalds	help
2641da177e4SLinus Torvalds	  If you wish to export transport-specific information about
2651da177e4SLinus Torvalds	  each attached FiberChannel device to sysfs, say Y.
2661da177e4SLinus Torvalds	  Otherwise, say N.
2671da177e4SLinus Torvalds
2681da177e4SLinus Torvaldsconfig SCSI_ISCSI_ATTRS
2691da177e4SLinus Torvalds	tristate "iSCSI Transport Attributes"
270c899e4efSAlex Aizman	depends on SCSI && NET
27190eeb01aSMike Christie	select BLK_DEV_BSGLIB
2721da177e4SLinus Torvalds	help
2731da177e4SLinus Torvalds	  If you wish to export transport-specific information about
2741da177e4SLinus Torvalds	  each attached iSCSI device to sysfs, say Y.
2751da177e4SLinus Torvalds	  Otherwise, say N.
2761da177e4SLinus Torvalds
277c7ebbbceSChristoph Hellwigconfig SCSI_SAS_ATTRS
278c7ebbbceSChristoph Hellwig	tristate "SAS Transport Attributes"
27947259658SRandy Dunlap	depends on SCSI
280580b71e9SArnd Bergmann	select BLK_DEV_BSGLIB
281c7ebbbceSChristoph Hellwig	help
282c7ebbbceSChristoph Hellwig	  If you wish to export transport-specific information about
283c7ebbbceSChristoph Hellwig	  each attached SAS device to sysfs, say Y.
284c7ebbbceSChristoph Hellwig
2852908d778SJames Bottomleysource "drivers/scsi/libsas/Kconfig"
2862908d778SJames Bottomley
28709345f65SFUJITA Tomonoriconfig SCSI_SRP_ATTRS
28809345f65SFUJITA Tomonori	tristate "SRP Transport Attributes"
2890012fdf9SFUJITA Tomonori	depends on SCSI
29009345f65SFUJITA Tomonori	help
29109345f65SFUJITA Tomonori	  If you wish to export transport-specific information about
29209345f65SFUJITA Tomonori	  each attached SRP device to sysfs, say Y.
29309345f65SFUJITA Tomonori
2941da177e4SLinus Torvaldsendmenu
2951da177e4SLinus Torvalds
296fc6e740dSJan Engelhardtmenuconfig SCSI_LOWLEVEL
297fc6e740dSJan Engelhardt	bool "SCSI low-level drivers"
2981da177e4SLinus Torvalds	depends on SCSI!=n
299fc6e740dSJan Engelhardt	default y
300fc6e740dSJan Engelhardt
30167951f63SJames Bottomleyif SCSI_LOWLEVEL && SCSI
3021da177e4SLinus Torvalds
303c899e4efSAlex Aizmanconfig ISCSI_TCP
304c899e4efSAlex Aizman	tristate "iSCSI Initiator over TCP/IP"
30596bad874SJames Bottomley	depends on SCSI && INET
306*92186c14SEric Biggers	select CRC32
307c899e4efSAlex Aizman	select CRYPTO
308c899e4efSAlex Aizman	select CRYPTO_MD5
30996bad874SJames Bottomley	select SCSI_ISCSI_ATTRS
310c899e4efSAlex Aizman	help
311c899e4efSAlex Aizman	 The iSCSI Driver provides a host with the ability to access storage
312c899e4efSAlex Aizman	 through an IP network. The driver uses the iSCSI protocol to transport
313c899e4efSAlex Aizman	 SCSI requests and responses over a TCP/IP network between the host
314c899e4efSAlex Aizman	 (the "initiator") and "targets".  Architecturally, the iSCSI driver
315c899e4efSAlex Aizman	 combines with the host's TCP/IP stack, network drivers, and Network
316c899e4efSAlex Aizman	 Interface Card (NIC) to provide the same functions as a SCSI or a
317c899e4efSAlex Aizman	 Fibre Channel (FC) adapter driver with a Host Bus Adapter (HBA).
318c899e4efSAlex Aizman
319c899e4efSAlex Aizman	 To compile this driver as a module, choose M here: the
320c899e4efSAlex Aizman	 module will be called iscsi_tcp.
321c899e4efSAlex Aizman
322c899e4efSAlex Aizman	 The userspace component needed to initialize the driver, documentation,
323c899e4efSAlex Aizman	 and sample configuration files can be found here:
324c899e4efSAlex Aizman
325bca1088aSFUJITA Tomonori	 http://open-iscsi.org
326c899e4efSAlex Aizman
327aab7a8fdSMike Christieconfig ISCSI_BOOT_SYSFS
328aab7a8fdSMike Christie	tristate "iSCSI Boot Sysfs Interface"
329aab7a8fdSMike Christie	default n
330aab7a8fdSMike Christie	help
331aab7a8fdSMike Christie	  This option enables support for exposing iSCSI boot information
332aab7a8fdSMike Christie	  via sysfs to userspace. If you wish to export this information,
333aab7a8fdSMike Christie	  say Y. Otherwise, say N.
334aab7a8fdSMike Christie
3357b36b6e0Skxie@chelsio.comsource "drivers/scsi/cxgbi/Kconfig"
336cf4e6363SMichael Chansource "drivers/scsi/bnx2i/Kconfig"
337853e2bd2SBhanu Gollapudisource "drivers/scsi/bnx2fc/Kconfig"
3386733b39aSJayamohan Kallickalsource "drivers/scsi/be2iscsi/Kconfig"
339c3673464SKaren Xie
3401da177e4SLinus Torvaldsconfig SGIWD93_SCSI
3411da177e4SLinus Torvalds	tristate "SGI WD93C93 SCSI Driver"
3422adbfa33SThomas Bogendoerfer	depends on SGI_HAS_WD93 && SCSI
3431da177e4SLinus Torvalds	help
3441da177e4SLinus Torvalds	  If you have a Western Digital WD93 SCSI controller on
3451da177e4SLinus Torvalds	  an SGI MIPS system, say Y.  Otherwise, say N.
3461da177e4SLinus Torvalds
3471da177e4SLinus Torvaldsconfig BLK_DEV_3W_XXXX_RAID
3481da177e4SLinus Torvalds	tristate "3ware 5/6/7/8xxx ATA-RAID support"
349b58b2ba3SNiklas Schnelle	depends on PCI && HAS_IOPORT && SCSI
3501da177e4SLinus Torvalds	help
3511da177e4SLinus Torvalds	  3ware is the only hardware ATA-Raid product in Linux to date.
3521da177e4SLinus Torvalds	  This card is 2,4, or 8 channel master mode support only.
3531da177e4SLinus Torvalds	  SCSI support required!!!
3541da177e4SLinus Torvalds
3551da177e4SLinus Torvalds	  <http://www.3ware.com/>
3561da177e4SLinus Torvalds
3571da177e4SLinus Torvalds	  Please read the comments at the top of
3581da177e4SLinus Torvalds	  <file:drivers/scsi/3w-xxxx.c>.
3591da177e4SLinus Torvalds
360edd16368SStephen M. Cameronconfig SCSI_HPSA
361edd16368SStephen M. Cameron	tristate "HP Smart Array SCSI driver"
362edd16368SStephen M. Cameron	depends on PCI && SCSI
3630fc9fd40SAkinobu Mita	select CHECK_SIGNATURE
364653cfb85SArnd Bergmann	select SCSI_SAS_ATTRS
365edd16368SStephen M. Cameron	help
366edd16368SStephen M. Cameron	  This driver supports HP Smart Array Controllers (circa 2009).
367edd16368SStephen M. Cameron	  It is a SCSI alternative to the cciss driver, which is a block
368edd16368SStephen M. Cameron	  driver.  Anyone wishing to use HP Smart Array controllers who
369edd16368SStephen M. Cameron	  would prefer the devices be presented to linux as SCSI devices,
370edd16368SStephen M. Cameron	  rather than as generic block devices should say Y here.
371edd16368SStephen M. Cameron
3721da177e4SLinus Torvaldsconfig SCSI_3W_9XXX
3731da177e4SLinus Torvalds	tristate "3ware 9xxx SATA-RAID support"
3741da177e4SLinus Torvalds	depends on PCI && SCSI
3751da177e4SLinus Torvalds	help
3761da177e4SLinus Torvalds	  This driver supports the 9000 series 3ware SATA-RAID cards.
3771da177e4SLinus Torvalds
3781da177e4SLinus Torvalds	  <http://www.amcc.com>
3791da177e4SLinus Torvalds
3801da177e4SLinus Torvalds	  Please read the comments at the top of
3811da177e4SLinus Torvalds	  <file:drivers/scsi/3w-9xxx.c>.
3821da177e4SLinus Torvalds
383f619106bSadam radfordconfig SCSI_3W_SAS
384f619106bSadam radford	tristate "3ware 97xx SAS/SATA-RAID support"
385f619106bSadam radford	depends on PCI && SCSI
386f619106bSadam radford	help
387f619106bSadam radford	  This driver supports the LSI 3ware 9750 6Gb/s SAS/SATA-RAID cards.
388f619106bSadam radford
389f619106bSadam radford	  <http://www.lsi.com>
390f619106bSadam radford
391f619106bSadam radford	  Please read the comments at the top of
392f619106bSadam radford	  <file:drivers/scsi/3w-sas.c>.
393f619106bSadam radford
3941da177e4SLinus Torvaldsconfig SCSI_ACARD
3951da177e4SLinus Torvalds	tristate "ACARD SCSI support"
396b58b2ba3SNiklas Schnelle	depends on PCI && HAS_IOPORT && SCSI
3971da177e4SLinus Torvalds	help
3981da177e4SLinus Torvalds	  This driver supports the ACARD SCSI host adapter.
3991da177e4SLinus Torvalds	  Support Chip <ATP870 ATP876 ATP880 ATP885>
4001da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
4011da177e4SLinus Torvalds	  module will be called atp870u.
4021da177e4SLinus Torvalds
4031da177e4SLinus Torvaldsconfig SCSI_AHA152X
4041da177e4SLinus Torvalds	tristate "Adaptec AHA152X/2825 support"
405fa7250d6SAlan Cox	depends on ISA && SCSI
406410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
407928923c7SGeert Uytterhoeven	select CHECK_SIGNATURE
408a7f7f624SMasahiro Yamada	help
4091da177e4SLinus Torvalds	  This is a driver for the AHA-1510, AHA-1520, AHA-1522, and AHA-2825
4101da177e4SLinus Torvalds	  SCSI host adapters. It also works for the AVA-1505, but the IRQ etc.
4111da177e4SLinus Torvalds	  must be manually specified in this case.
4121da177e4SLinus Torvalds
4131da177e4SLinus Torvalds	  It is explained in section 3.3 of the SCSI-HOWTO, available from
4141da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>. You might also want to
41594b5530fSMauro Carvalho Chehab	  read the file <file:Documentation/scsi/aha152x.rst>.
4161da177e4SLinus Torvalds
4171da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
4181da177e4SLinus Torvalds	  module will be called aha152x.
4191da177e4SLinus Torvalds
4201da177e4SLinus Torvaldsconfig SCSI_AHA1542
4211da177e4SLinus Torvalds	tristate "Adaptec AHA1542 support"
422a5532606SAl Viro	depends on ISA && SCSI && ISA_DMA_API
423a7f7f624SMasahiro Yamada	help
4241da177e4SLinus Torvalds	  This is support for a SCSI host adapter.  It is explained in section
4251da177e4SLinus Torvalds	  3.4 of the SCSI-HOWTO, available from
4261da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.  Note that Trantor was
4271da177e4SLinus Torvalds	  purchased by Adaptec, and some former Trantor products are being
4281da177e4SLinus Torvalds	  sold under the Adaptec name.  If it doesn't work out of the box, you
4291da177e4SLinus Torvalds	  may have to change some settings in <file:drivers/scsi/aha1542.h>.
4301da177e4SLinus Torvalds
4311da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
4321da177e4SLinus Torvalds	  module will be called aha1542.
4331da177e4SLinus Torvalds
4341da177e4SLinus Torvaldsconfig SCSI_AHA1740
4351da177e4SLinus Torvalds	tristate "Adaptec AHA1740 support"
4361da177e4SLinus Torvalds	depends on EISA && SCSI
437a7f7f624SMasahiro Yamada	help
4381da177e4SLinus Torvalds	  This is support for a SCSI host adapter.  It is explained in section
4391da177e4SLinus Torvalds	  3.5 of the SCSI-HOWTO, available from
4401da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.  If it doesn't work out
4411da177e4SLinus Torvalds	  of the box, you may have to change some settings in
4421da177e4SLinus Torvalds	  <file:drivers/scsi/aha1740.h>.
4431da177e4SLinus Torvalds
4441da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
4451da177e4SLinus Torvalds	  module will be called aha1740.
4461da177e4SLinus Torvalds
4471da177e4SLinus Torvaldsconfig SCSI_AACRAID
4481da177e4SLinus Torvalds	tristate "Adaptec AACRAID support"
4491da177e4SLinus Torvalds	depends on SCSI && PCI
4508075f21fSAdrian Bunk	help
4518075f21fSAdrian Bunk	  This driver supports a variety of Dell, HP, Adaptec, IBM and
4528075f21fSAdrian Bunk	  ICP storage products. For a list of supported products, refer
453dd9cc144SMauro Carvalho Chehab	  to <file:Documentation/scsi/aacraid.rst>.
4548075f21fSAdrian Bunk
4558075f21fSAdrian Bunk	  To compile this driver as a module, choose M here: the module
4568075f21fSAdrian Bunk	  will be called aacraid.
4578075f21fSAdrian Bunk
4581da177e4SLinus Torvalds
4591da177e4SLinus Torvaldssource "drivers/scsi/aic7xxx/Kconfig.aic7xxx"
4601da177e4SLinus Torvaldssource "drivers/scsi/aic7xxx/Kconfig.aic79xx"
4612908d778SJames Bottomleysource "drivers/scsi/aic94xx/Kconfig"
462e8899fadSJohn Garrysource "drivers/scsi/hisi_sas/Kconfig"
4632ad52f47SJeff Garziksource "drivers/scsi/mvsas/Kconfig"
4641da177e4SLinus Torvalds
465f0c568a4SJianyun Liconfig SCSI_MVUMI
466f0c568a4SJianyun Li	tristate "Marvell UMI driver"
467f0c568a4SJianyun Li	depends on SCSI && PCI
468f0c568a4SJianyun Li	help
469f0c568a4SJianyun Li	  Module for Marvell Universal Message Interface(UMI) driver
470f0c568a4SJianyun Li
471f0c568a4SJianyun Li	  To compile this driver as a module, choose M here: the
472f0c568a4SJianyun Li	  module will be called mvumi.
473f0c568a4SJianyun Li
4741da177e4SLinus Torvaldsconfig SCSI_ADVANSYS
4751da177e4SLinus Torvalds	tristate "AdvanSys SCSI support"
4766571fb3fSHannes Reinecke	depends on SCSI
477b58b2ba3SNiklas Schnelle	depends on (ISA || EISA || PCI) && HAS_IOPORT
4782b8bbdb9SArnd Bergmann	depends on ISA_DMA_API || !ISA
4791da177e4SLinus Torvalds	help
4801da177e4SLinus Torvalds	  This is a driver for all SCSI host adapters manufactured by
4811da177e4SLinus Torvalds	  AdvanSys. It is documented in the kernel source in
4821da177e4SLinus Torvalds	  <file:drivers/scsi/advansys.c>.
4831da177e4SLinus Torvalds
4841da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
4851da177e4SLinus Torvalds	  module will be called advansys.
4861da177e4SLinus Torvalds
4871c57e86dSErich Chenconfig SCSI_ARCMSR
4881a4f550aSNick Cheng	tristate "ARECA (ARC11xx/12xx/13xx/16xx) SATA/SAS RAID Host Adapter"
4891c57e86dSErich Chen	depends on PCI && SCSI
4901c57e86dSErich Chen	help
4911a4f550aSNick Cheng	  This driver supports all of ARECA's SATA/SAS RAID controller cards.
4921c57e86dSErich Chen	  This is an ARECA-maintained driver by Erich Chen.
4931a4f550aSNick Cheng	  If you have any problems, please mail to: <erich@areca.com.tw>.
4941c57e86dSErich Chen	  Areca supports Linux RAID config tools.
4951a4f550aSNick Cheng	  Please link <http://www.areca.com.tw>
4961c57e86dSErich Chen
4971c57e86dSErich Chen	  To compile this driver as a module, choose M here: the
4981c57e86dSErich Chen	  module will be called arcmsr (modprobe arcmsr).
4991c57e86dSErich Chen
50026780d9eSBradley Grovesource "drivers/scsi/esas2r/Kconfig"
5011da177e4SLinus Torvaldssource "drivers/scsi/megaraid/Kconfig.megaraid"
502f92363d1SSreekanth Reddysource "drivers/scsi/mpt3sas/Kconfig"
503c4f7ac64SKashyap Desaisource "drivers/scsi/mpi3mr/Kconfig"
5046c223761SKevin Barnettsource "drivers/scsi/smartpqi/Kconfig"
5051da177e4SLinus Torvalds
506ede1e6f8SHighPoint Linux Teamconfig SCSI_HPTIOP
50700f59701SHighPoint Linux Team	tristate "HighPoint RocketRAID 3xxx/4xxx Controller support"
508ede1e6f8SHighPoint Linux Team	depends on SCSI && PCI
509ede1e6f8SHighPoint Linux Team	help
51000f59701SHighPoint Linux Team	  This option enables support for HighPoint RocketRAID 3xxx/4xxx
511ede1e6f8SHighPoint Linux Team	  controllers.
512ede1e6f8SHighPoint Linux Team
513ede1e6f8SHighPoint Linux Team	  To compile this driver as a module, choose M here; the module
514ede1e6f8SHighPoint Linux Team	  will be called hptiop. If unsure, say N.
515ede1e6f8SHighPoint Linux Team
5161da177e4SLinus Torvaldsconfig SCSI_BUSLOGIC
5171da177e4SLinus Torvalds	tristate "BusLogic SCSI support"
518b58b2ba3SNiklas Schnelle	depends on SCSI && PCI && HAS_IOPORT
519a7f7f624SMasahiro Yamada	help
5201da177e4SLinus Torvalds	  This is support for BusLogic MultiMaster and FlashPoint SCSI Host
5211da177e4SLinus Torvalds	  Adapters. Consult the SCSI-HOWTO, available from
5221da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>, and the files
523977b899cSMauro Carvalho Chehab	  <file:Documentation/scsi/BusLogic.rst> and
524cc0d9d3aSMauro Carvalho Chehab	  <file:Documentation/scsi/FlashPoint.rst> for more information.
52578b4b05dSMatthew Wilcox	  Note that support for FlashPoint is only available for 32-bit
52678b4b05dSMatthew Wilcox	  x86 configurations.
5271da177e4SLinus Torvalds
5281da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
5291da177e4SLinus Torvalds	  module will be called BusLogic.
5301da177e4SLinus Torvalds
53178b4b05dSMatthew Wilcoxconfig SCSI_FLASHPOINT
53278b4b05dSMatthew Wilcox	bool "FlashPoint support"
533b58b2ba3SNiklas Schnelle	depends on SCSI_BUSLOGIC && PCI && HAS_IOPORT
5341da177e4SLinus Torvalds	help
53578b4b05dSMatthew Wilcox	  This option allows you to add FlashPoint support to the
5361da177e4SLinus Torvalds	  BusLogic SCSI driver. The FlashPoint SCCB Manager code is
53778b4b05dSMatthew Wilcox	  substantial, so users of MultiMaster Host Adapters may not
53878b4b05dSMatthew Wilcox	  wish to include it.
5391da177e4SLinus Torvalds
540081ff398SHannes Reineckeconfig SCSI_MYRB
541081ff398SHannes Reinecke	tristate "Mylex DAC960/DAC1100 PCI RAID Controller (Block Interface)"
542081ff398SHannes Reinecke	depends on PCI
543081ff398SHannes Reinecke	select RAID_ATTRS
544081ff398SHannes Reinecke	help
545081ff398SHannes Reinecke	  This driver adds support for the Mylex DAC960, AcceleRAID, and
546081ff398SHannes Reinecke	  eXtremeRAID PCI RAID controllers. This driver supports the
547081ff398SHannes Reinecke	  older, block based interface.
548081ff398SHannes Reinecke	  This driver is a reimplementation of the original DAC960
549081ff398SHannes Reinecke	  driver. If you have used the DAC960 driver you should enable
550081ff398SHannes Reinecke	  this module.
551081ff398SHannes Reinecke
552081ff398SHannes Reinecke	  To compile this driver as a module, choose M here: the
553081ff398SHannes Reinecke	  module will be called myrb.
554081ff398SHannes Reinecke
55577266186SHannes Reineckeconfig SCSI_MYRS
55677266186SHannes Reinecke	tristate "Mylex DAC960/DAC1100 PCI RAID Controller (SCSI Interface)"
55777266186SHannes Reinecke	depends on PCI
558a3ecf482SArnd Bergmann	depends on !CPU_BIG_ENDIAN || COMPILE_TEST
55977266186SHannes Reinecke	select RAID_ATTRS
56077266186SHannes Reinecke	help
56177266186SHannes Reinecke	  This driver adds support for the Mylex DAC960, AcceleRAID, and
56277266186SHannes Reinecke	  eXtremeRAID PCI RAID controllers.  This driver supports the
56377266186SHannes Reinecke	  newer, SCSI-based interface only.
56477266186SHannes Reinecke	  This driver is a reimplementation of the original DAC960
56577266186SHannes Reinecke	  driver. If you have used the DAC960 driver you should enable
56677266186SHannes Reinecke	  this module.
56777266186SHannes Reinecke
56877266186SHannes Reinecke	  To compile this driver as a module, choose M here: the
56977266186SHannes Reinecke	  module will be called myrs.
57077266186SHannes Reinecke
571851b1642SAlok Katariaconfig VMWARE_PVSCSI
572851b1642SAlok Kataria	tristate "VMware PVSCSI driver support"
573851b1642SAlok Kataria	depends on PCI && SCSI && X86
574851b1642SAlok Kataria	help
575851b1642SAlok Kataria	  This driver supports VMware's para virtualized SCSI HBA.
576851b1642SAlok Kataria	  To compile this driver as a module, choose M here: the
577851b1642SAlok Kataria	  module will be called vmw_pvscsi.
578851b1642SAlok Kataria
5798beb8d4cSJuergen Grossconfig XEN_SCSI_FRONTEND
5808beb8d4cSJuergen Gross	tristate "XEN SCSI frontend driver"
5818beb8d4cSJuergen Gross	depends on SCSI && XEN
5828ab85ebaSJuergen Gross	select XEN_XENBUS_FRONTEND
5838beb8d4cSJuergen Gross	help
5848beb8d4cSJuergen Gross	  The XEN SCSI frontend driver allows the kernel to access SCSI Devices
5858beb8d4cSJuergen Gross	  within another guest OS (usually Dom0).
5868beb8d4cSJuergen Gross	  Only needed if the kernel is running in a XEN guest and generic
5878beb8d4cSJuergen Gross	  SCSI access to a device is needed.
5888beb8d4cSJuergen Gross
58989ae7d70SK. Y. Srinivasanconfig HYPERV_STORAGE
59089ae7d70SK. Y. Srinivasan	tristate "Microsoft Hyper-V virtual storage driver"
59189ae7d70SK. Y. Srinivasan	depends on SCSI && HYPERV
5928063d56eSK. Y. Srinivasan	depends on m || SCSI_FC_ATTRS != m
59389ae7d70SK. Y. Srinivasan	default HYPERV
59489ae7d70SK. Y. Srinivasan	help
59589ae7d70SK. Y. Srinivasan	  Select this option to enable the Hyper-V virtual storage driver.
59689ae7d70SK. Y. Srinivasan
59742e9a92fSRobert Loveconfig LIBFC
59842e9a92fSRobert Love	tristate "LibFC module"
5996a38792cSRandy Dunlap	depends on SCSI_FC_ATTRS
600d943aeebSRandy Dunlap	select CRC32
601a7f7f624SMasahiro Yamada	help
60242e9a92fSRobert Love	  Fibre Channel library module
60342e9a92fSRobert Love
6049b34ecffSVasu Devconfig LIBFCOE
6059b34ecffSVasu Dev	tristate "LibFCoE module"
606df568d8eSDavid S. Miller	depends on LIBFC
607a7f7f624SMasahiro Yamada	help
6089b34ecffSVasu Dev	  Library for Fibre Channel over Ethernet module
6099b34ecffSVasu Dev
61085b4aa49SRobert Loveconfig FCOE
61185b4aa49SRobert Love	tristate "FCoE module"
612fb5edd02SJames Bottomley	depends on PCI
613df568d8eSDavid S. Miller	depends on LIBFCOE
614a7f7f624SMasahiro Yamada	help
61585b4aa49SRobert Love	  Fibre Channel over Ethernet module
61685b4aa49SRobert Love
6175df6d737SAbhijeet Joglekarconfig FCOE_FNIC
6185df6d737SAbhijeet Joglekar	tristate "Cisco FNIC Driver"
6195df6d737SAbhijeet Joglekar	depends on PCI && X86
620df568d8eSDavid S. Miller	depends on LIBFCOE
6215df6d737SAbhijeet Joglekar	help
6225df6d737SAbhijeet Joglekar	  This is support for the Cisco PCI-Express FCoE HBA.
6235df6d737SAbhijeet Joglekar
6245df6d737SAbhijeet Joglekar	  To compile this driver as a module, choose M here and read
625b7223d9bSMauro Carvalho Chehab	  <file:Documentation/scsi/scsi.rst>.
6265df6d737SAbhijeet Joglekar	  The module will be called fnic.
6275df6d737SAbhijeet Joglekar
628c8806b6cSNarsimhulu Musiniconfig SCSI_SNIC
629c8806b6cSNarsimhulu Musini	tristate "Cisco SNIC Driver"
630c8806b6cSNarsimhulu Musini	depends on PCI && SCSI
631c8806b6cSNarsimhulu Musini	help
632c8806b6cSNarsimhulu Musini	  This is support for the Cisco PCI-Express SCSI HBA.
633c8806b6cSNarsimhulu Musini
634c8806b6cSNarsimhulu Musini	  To compile this driver as a module, choose M here and read
635b7223d9bSMauro Carvalho Chehab	  <file:Documentation/scsi/scsi.rst>.
636c8806b6cSNarsimhulu Musini	  The module will be called snic.
637c8806b6cSNarsimhulu Musini
638c8806b6cSNarsimhulu Musiniconfig SCSI_SNIC_DEBUG_FS
639c8806b6cSNarsimhulu Musini	bool "Cisco SNIC Driver Debugfs Support"
640c8806b6cSNarsimhulu Musini	depends on SCSI_SNIC && DEBUG_FS
641c8806b6cSNarsimhulu Musini	help
642c8806b6cSNarsimhulu Musini	  This enables to list debugging information from SNIC Driver
643c8806b6cSNarsimhulu Musini	  available via debugfs file system
644c8806b6cSNarsimhulu Musini
6451da177e4SLinus Torvaldsconfig SCSI_DMX3191D
6461da177e4SLinus Torvalds	tristate "DMX3191D SCSI support"
647b58b2ba3SNiklas Schnelle	depends on PCI && HAS_IOPORT && SCSI
648410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
6491da177e4SLinus Torvalds	help
6501da177e4SLinus Torvalds	  This is support for Domex DMX3191D SCSI Host Adapters.
6511da177e4SLinus Torvalds
6521da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
6531da177e4SLinus Torvalds	  module will be called dmx3191d.
6541da177e4SLinus Torvalds
655ebeb4665SOndrej Zaryconfig SCSI_FDOMAIN
656ebeb4665SOndrej Zary	tristate
657ebeb4665SOndrej Zary	depends on SCSI
658ebeb4665SOndrej Zary
65968046d50SOndrej Zaryconfig SCSI_FDOMAIN_PCI
66068046d50SOndrej Zary	tristate "Future Domain TMC-3260/AHA-2920A PCI SCSI support"
661b58b2ba3SNiklas Schnelle	depends on PCI && HAS_IOPORT && SCSI
66268046d50SOndrej Zary	select SCSI_FDOMAIN
66368046d50SOndrej Zary	help
66468046d50SOndrej Zary	  This is support for Future Domain's PCI SCSI host adapters (TMC-3260)
66568046d50SOndrej Zary	  and other adapters with PCI bus based on the Future Domain chipsets
66668046d50SOndrej Zary	  (Adaptec AHA-2920A).
66768046d50SOndrej Zary
66868046d50SOndrej Zary	  NOTE: Newer Adaptec AHA-2920C boards use the Adaptec AIC-7850 chip
66968046d50SOndrej Zary	  and should use the aic7xxx driver ("Adaptec AIC7xxx chipset SCSI
67068046d50SOndrej Zary	  controller support"). This Future Domain driver works with the older
67168046d50SOndrej Zary	  Adaptec AHA-2920A boards with a Future Domain chip on them.
67268046d50SOndrej Zary
67368046d50SOndrej Zary	  To compile this driver as a module, choose M here: the
67468046d50SOndrej Zary	  module will be called fdomain_pci.
67568046d50SOndrej Zary
676e5207cf0SOndrej Zaryconfig SCSI_FDOMAIN_ISA
677e5207cf0SOndrej Zary	tristate "Future Domain 16xx ISA SCSI support"
678e5207cf0SOndrej Zary	depends on ISA && SCSI
679e5207cf0SOndrej Zary	select CHECK_SIGNATURE
680e5207cf0SOndrej Zary	select SCSI_FDOMAIN
681e5207cf0SOndrej Zary	help
682e5207cf0SOndrej Zary	  This is support for Future Domain's 16-bit SCSI host adapters
683e5207cf0SOndrej Zary	  (TMC-1660/1680, TMC-1650/1670, TMC-1610M/MER/MEX) and other adapters
684e5207cf0SOndrej Zary	  with ISA bus based on the Future Domain chipsets (Quantum ISA-200S,
685e5207cf0SOndrej Zary	  ISA-250MG; and at least one IBM board).
686e5207cf0SOndrej Zary
687e5207cf0SOndrej Zary	  To compile this driver as a module, choose M here: the
688e5207cf0SOndrej Zary	  module will be called fdomain_isa.
689e5207cf0SOndrej Zary
6906f231ddaSDan Williamsconfig SCSI_ISCI
6916f231ddaSDan Williams	tristate "Intel(R) C600 Series Chipset SAS Controller"
6926f231ddaSDan Williams	depends on PCI && SCSI
6936f231ddaSDan Williams	depends on X86
6946f231ddaSDan Williams	select SCSI_SAS_LIBSAS
695a7f7f624SMasahiro Yamada	help
6966f231ddaSDan Williams	  This driver supports the 6Gb/s SAS capabilities of the storage
6976f231ddaSDan Williams	  control unit found in the Intel(R) C600 series chipset.
6986f231ddaSDan Williams
6991da177e4SLinus Torvaldsconfig SCSI_GENERIC_NCR5380
700b61bacbcSOndrej Zary	tristate "Generic NCR5380/53c400 SCSI ISA card support"
701c1f7cf0aSArnd Bergmann	depends on ISA && SCSI && HAS_IOPORT_MAP
702410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
703a7f7f624SMasahiro Yamada	help
704b61bacbcSOndrej Zary	  This is a driver for old ISA card SCSI controllers based on a
705b61bacbcSOndrej Zary	  NCR 5380, 53C80, 53C400, 53C400A, or DTC 436 device.
706b61bacbcSOndrej Zary	  Most boards such as the Trantor T130 fit this category, as do
707b61bacbcSOndrej Zary	  various 8-bit and 16-bit ISA cards bundled with SCSI scanners.
7081da177e4SLinus Torvalds
7091da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
7101da177e4SLinus Torvalds	  module will be called g_NCR5380.
7111da177e4SLinus Torvalds
7121da177e4SLinus Torvaldsconfig SCSI_IPS
7131da177e4SLinus Torvalds	tristate "IBM ServeRAID support"
714b58b2ba3SNiklas Schnelle	depends on PCI && HAS_IOPORT && SCSI
715a7f7f624SMasahiro Yamada	help
7161da177e4SLinus Torvalds	  This is support for the IBM ServeRAID hardware RAID controllers.
7171da177e4SLinus Torvalds	  See <http://www.developer.ibm.com/welcome/netfinity/serveraid.html>
718631dd1a8SJustin P. Mattock	  and <http://www-947.ibm.com/support/entry/portal/docdisplay?brand=5000008&lndocid=SERV-RAID>
7191da177e4SLinus Torvalds	  for more information.  If this driver does not work correctly
7201da177e4SLinus Torvalds	  without modification please contact the author by email at
7211da177e4SLinus Torvalds	  <ipslinux@adaptec.com>.
7221da177e4SLinus Torvalds
7231da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
7241da177e4SLinus Torvalds	  module will be called ips.
7251da177e4SLinus Torvalds
7261da177e4SLinus Torvaldsconfig SCSI_IBMVSCSI
7271da177e4SLinus Torvalds	tristate "IBM Virtual SCSI support"
7287834799aSStephen Rothwell	depends on PPC_PSERIES
7294d680419SFUJITA Tomonori	select SCSI_SRP_ATTRS
7301da177e4SLinus Torvalds	help
7311da177e4SLinus Torvalds	  This is the IBM POWER Virtual SCSI Client
7321da177e4SLinus Torvalds
7331da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
73446beb54dSWade Cline	  module will be called ibmvscsi.
7351da177e4SLinus Torvalds
73688a678bbSBryant G. Lyconfig SCSI_IBMVSCSIS
73788a678bbSBryant G. Ly	tristate "IBM Virtual SCSI Server support"
73888a678bbSBryant G. Ly	depends on PPC_PSERIES && TARGET_CORE && SCSI && PCI
73988a678bbSBryant G. Ly	help
74088a678bbSBryant G. Ly	  This is the IBM POWER Virtual SCSI Target Server
74183fc61a5SMasanari Iida	  This driver uses the SRP protocol for communication between servers
74288a678bbSBryant G. Ly	  guest and/or the host that run on the same server.
74388a678bbSBryant G. Ly	  More information on VSCSI protocol can be found at www.power.org
74488a678bbSBryant G. Ly
74588a678bbSBryant G. Ly	  The userspace configuration needed to initialize the driver can be
74688a678bbSBryant G. Ly	  be found here:
74788a678bbSBryant G. Ly
74888a678bbSBryant G. Ly	  https://github.com/powervm/ibmvscsis/wiki/Configuration
74988a678bbSBryant G. Ly
75088a678bbSBryant G. Ly	  To compile this driver as a module, choose M here: the
75188a678bbSBryant G. Ly	  module will be called ibmvscsis.
75288a678bbSBryant G. Ly
753072b91f9SBrian Kingconfig SCSI_IBMVFC
754072b91f9SBrian King	tristate "IBM Virtual FC support"
755072b91f9SBrian King	depends on PPC_PSERIES && SCSI
7566a38792cSRandy Dunlap	depends on SCSI_FC_ATTRS
757072b91f9SBrian King	help
758072b91f9SBrian King	  This is the IBM POWER Virtual FC Client
759072b91f9SBrian King
760072b91f9SBrian King	  To compile this driver as a module, choose M here: the
761072b91f9SBrian King	  module will be called ibmvfc.
762072b91f9SBrian King
763072b91f9SBrian Kingconfig SCSI_IBMVFC_TRACE
764072b91f9SBrian King	bool "enable driver internal trace"
765072b91f9SBrian King	depends on SCSI_IBMVFC
766072b91f9SBrian King	default y
767072b91f9SBrian King	help
768072b91f9SBrian King	  If you say Y here, the driver will trace all commands issued
769072b91f9SBrian King	  to the adapter. Performance impact is minimal. Trace can be
770072b91f9SBrian King	  dumped using /sys/class/scsi_host/hostXX/trace.
771072b91f9SBrian King
7721da177e4SLinus Torvaldsconfig SCSI_INITIO
7731da177e4SLinus Torvalds	tristate "Initio 9100U(W) support"
774b58b2ba3SNiklas Schnelle	depends on PCI && HAS_IOPORT && SCSI
7751da177e4SLinus Torvalds	help
7761da177e4SLinus Torvalds	  This is support for the Initio 91XXU(W) SCSI host adapter.  Please
7771da177e4SLinus Torvalds	  read the SCSI-HOWTO, available from
7781da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
7791da177e4SLinus Torvalds
7801da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
7811da177e4SLinus Torvalds	  module will be called initio.
7821da177e4SLinus Torvalds
7831da177e4SLinus Torvaldsconfig SCSI_INIA100
7841da177e4SLinus Torvalds	tristate "Initio INI-A100U2W support"
785b58b2ba3SNiklas Schnelle	depends on PCI && HAS_IOPORT && SCSI
7861da177e4SLinus Torvalds	help
7871da177e4SLinus Torvalds	  This is support for the Initio INI-A100U2W SCSI host adapter.
7881da177e4SLinus Torvalds	  Please read the SCSI-HOWTO, available from
7891da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
7901da177e4SLinus Torvalds
7911da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
7921da177e4SLinus Torvalds	  module will be called a100u2w.
7931da177e4SLinus Torvalds
7941da177e4SLinus Torvaldsconfig SCSI_PPA
7951da177e4SLinus Torvalds	tristate "IOMEGA parallel port (ppa - older drives)"
7966a19b41bSMarko Kohtala	depends on SCSI && PARPORT_PC
797b58b2ba3SNiklas Schnelle	depends on HAS_IOPORT
798a7f7f624SMasahiro Yamada	help
7991da177e4SLinus Torvalds	  This driver supports older versions of IOMEGA's parallel port ZIP
8001da177e4SLinus Torvalds	  drive (a 100 MB removable media device).
8011da177e4SLinus Torvalds
8021da177e4SLinus Torvalds	  Note that you can say N here if you have the SCSI version of the ZIP
8031da177e4SLinus Torvalds	  drive: it will be supported automatically if you said Y to the
8041da177e4SLinus Torvalds	  generic "SCSI disk support", above.
8051da177e4SLinus Torvalds
8061da177e4SLinus Torvalds	  If you have the ZIP Plus drive or a more recent parallel port ZIP
8071da177e4SLinus Torvalds	  drive (if the supplied cable with the drive is labeled "AutoDetect")
8081da177e4SLinus Torvalds	  then you should say N here and Y to "IOMEGA parallel port (imm -
8091da177e4SLinus Torvalds	  newer drives)", below.
8101da177e4SLinus Torvalds
8111da177e4SLinus Torvalds	  For more information about this driver and how to use it you should
812304a8b62SMauro Carvalho Chehab	  read the file <file:Documentation/scsi/ppa.rst>.  You should also read
8131da177e4SLinus Torvalds	  the SCSI-HOWTO, which is available from
8141da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.  If you use this driver,
8151da177e4SLinus Torvalds	  you will still be able to use the parallel port for other tasks,
8161da177e4SLinus Torvalds	  such as a printer; it is safe to compile both drivers into the
8171da177e4SLinus Torvalds	  kernel.
8181da177e4SLinus Torvalds
8191da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
8201da177e4SLinus Torvalds	  module will be called ppa.
8211da177e4SLinus Torvalds
8221da177e4SLinus Torvaldsconfig SCSI_IMM
8231da177e4SLinus Torvalds	tristate "IOMEGA parallel port (imm - newer drives)"
8246a19b41bSMarko Kohtala	depends on SCSI && PARPORT_PC
825a7f7f624SMasahiro Yamada	help
8261da177e4SLinus Torvalds	  This driver supports newer versions of IOMEGA's parallel port ZIP
8271da177e4SLinus Torvalds	  drive (a 100 MB removable media device).
8281da177e4SLinus Torvalds
8291da177e4SLinus Torvalds	  Note that you can say N here if you have the SCSI version of the ZIP
8301da177e4SLinus Torvalds	  drive: it will be supported automatically if you said Y to the
8311da177e4SLinus Torvalds	  generic "SCSI disk support", above.
8321da177e4SLinus Torvalds
8331da177e4SLinus Torvalds	  If you have the ZIP Plus drive or a more recent parallel port ZIP
8341da177e4SLinus Torvalds	  drive (if the supplied cable with the drive is labeled "AutoDetect")
8351da177e4SLinus Torvalds	  then you should say Y here; if you have an older ZIP drive, say N
8361da177e4SLinus Torvalds	  here and Y to "IOMEGA Parallel Port (ppa - older drives)", above.
8371da177e4SLinus Torvalds
8381da177e4SLinus Torvalds	  For more information about this driver and how to use it you should
839304a8b62SMauro Carvalho Chehab	  read the file <file:Documentation/scsi/ppa.rst>.  You should also read
8401da177e4SLinus Torvalds	  the SCSI-HOWTO, which is available from
8411da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.  If you use this driver,
8421da177e4SLinus Torvalds	  you will still be able to use the parallel port for other tasks,
8431da177e4SLinus Torvalds	  such as a printer; it is safe to compile both drivers into the
8441da177e4SLinus Torvalds	  kernel.
8451da177e4SLinus Torvalds
8461da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
8471da177e4SLinus Torvalds	  module will be called imm.
8481da177e4SLinus Torvalds
8491da177e4SLinus Torvaldsconfig SCSI_IZIP_SLOW_CTR
8501da177e4SLinus Torvalds	bool "ppa/imm option - Assume slow parport control register"
8516a19b41bSMarko Kohtala	depends on SCSI_PPA || SCSI_IMM
8521da177e4SLinus Torvalds	help
8531da177e4SLinus Torvalds	  Some parallel ports are known to have excessive delays between
8541da177e4SLinus Torvalds	  changing the parallel port control register and good data being
8551da177e4SLinus Torvalds	  available on the parallel port data/status register. This option
8561da177e4SLinus Torvalds	  forces a small delay (1.0 usec to be exact) after changing the
8571da177e4SLinus Torvalds	  control register to let things settle out. Enabling this option may
8581da177e4SLinus Torvalds	  result in a big drop in performance but some very old parallel ports
8591da177e4SLinus Torvalds	  (found in 386 vintage machines) will not work properly.
8601da177e4SLinus Torvalds
8611da177e4SLinus Torvalds	  Generally, saying N is fine.
8621da177e4SLinus Torvalds
8631da177e4SLinus Torvaldsconfig SCSI_LASI700
8641da177e4SLinus Torvalds	tristate "HP Lasi SCSI support for 53c700/710"
8651da177e4SLinus Torvalds	depends on GSC && SCSI
8661da177e4SLinus Torvalds	select SCSI_SPI_ATTRS
8671da177e4SLinus Torvalds	help
8681da177e4SLinus Torvalds	  This is a driver for the SCSI controller in the Lasi chip found in
8691da177e4SLinus Torvalds	  many PA-RISC workstations & servers.  If you do not know whether you
8701da177e4SLinus Torvalds	  have a Lasi chip, it is safe to say "Y" here.
8711da177e4SLinus Torvalds
872c27d85f3SThomas Bogendoerferconfig SCSI_SNI_53C710
873c27d85f3SThomas Bogendoerfer	tristate "SNI RM SCSI support for 53c710"
874c27d85f3SThomas Bogendoerfer	depends on SNI_RM && SCSI
875c27d85f3SThomas Bogendoerfer	select SCSI_SPI_ATTRS
876c27d85f3SThomas Bogendoerfer	select 53C700_LE_ON_BE
877c27d85f3SThomas Bogendoerfer	help
878c27d85f3SThomas Bogendoerfer	  This is a driver for the onboard SCSI controller found in older
879c27d85f3SThomas Bogendoerfer	  SNI RM workstations & servers.
880c27d85f3SThomas Bogendoerfer
8811da177e4SLinus Torvaldsconfig 53C700_LE_ON_BE
8821da177e4SLinus Torvalds	bool
8838cbf0c17SThomas Bogendoerfer	depends on SCSI_LASI700 || SCSI_SNI_53C710
8841da177e4SLinus Torvalds	default y
8851da177e4SLinus Torvalds
8865a25ba16SJeff Garzikconfig SCSI_STEX
8875a25ba16SJeff Garzik	tristate "Promise SuperTrak EX Series support"
8885a25ba16SJeff Garzik	depends on PCI && SCSI
889a7f7f624SMasahiro Yamada	help
890ee926b27SEd Lin	  This driver supports Promise SuperTrak EX series storage controllers.
891ee926b27SEd Lin
892ee926b27SEd Lin	  Promise provides Linux RAID configuration utility for these
893ee926b27SEd Lin	  controllers. Please visit <http://www.promise.com> to download.
894ee926b27SEd Lin
895ee926b27SEd Lin	  To compile this driver as a module, choose M here: the
896ee926b27SEd Lin	  module will be called stex.
8975a25ba16SJeff Garzik
89863273134SKars de Jongconfig 53C700_BE_BUS
89963273134SKars de Jong	bool
90045804fbbSKars de Jong	depends on SCSI_A4000T || SCSI_ZORRO7XX || MVME16x_SCSI || BVME6000_SCSI
90163273134SKars de Jong	default y
90263273134SKars de Jong
9031da177e4SLinus Torvaldsconfig SCSI_SYM53C8XX_2
9041da177e4SLinus Torvalds	tristate "SYM53C8XX Version 2 SCSI support"
9051da177e4SLinus Torvalds	depends on PCI && SCSI
9061da177e4SLinus Torvalds	select SCSI_SPI_ATTRS
907a7f7f624SMasahiro Yamada	help
9081da177e4SLinus Torvalds	  This driver supports the whole NCR53C8XX/SYM53C8XX family of
9091da177e4SLinus Torvalds	  PCI-SCSI controllers.  It also supports the subset of LSI53C10XX
9101da177e4SLinus Torvalds	  Ultra-160 controllers that are based on the SYM53C8XX SCRIPTS
9111da177e4SLinus Torvalds	  language.  It does not support LSI53C10XX Ultra-320 PCI-X SCSI
9121da177e4SLinus Torvalds	  controllers; you need to use the Fusion MPT driver for that.
9131da177e4SLinus Torvalds
914f02e84d2SMauro Carvalho Chehab	  Please read <file:Documentation/scsi/sym53c8xx_2.rst> for more
9151da177e4SLinus Torvalds	  information.
9161da177e4SLinus Torvalds
9171da177e4SLinus Torvaldsconfig SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
9181da177e4SLinus Torvalds	int "DMA addressing mode"
9191da177e4SLinus Torvalds	depends on SCSI_SYM53C8XX_2
9201da177e4SLinus Torvalds	default "1"
921a7f7f624SMasahiro Yamada	help
9221da177e4SLinus Torvalds	  This option only applies to PCI-SCSI chips that are PCI DAC
9231da177e4SLinus Torvalds	  capable (875A, 895A, 896, 1010-33, 1010-66, 1000).
9241da177e4SLinus Torvalds
9251da177e4SLinus Torvalds	  When set to 0, the driver will program the chip to only perform
9261da177e4SLinus Torvalds	  32-bit DMA.  When set to 1, the chip will be able to perform DMA
9271da177e4SLinus Torvalds	  to addresses up to 1TB.  When set to 2, the driver supports the
9281da177e4SLinus Torvalds	  full 64-bit DMA address range, but can only address 16 segments
9291da177e4SLinus Torvalds	  of 4 GB each.  This limits the total addressable range to 64 GB.
9301da177e4SLinus Torvalds
9311da177e4SLinus Torvalds	  Most machines with less than 4GB of memory should use a setting
9321da177e4SLinus Torvalds	  of 0 for best performance.  If your machine has 4GB of memory
9331da177e4SLinus Torvalds	  or more, you should set this option to 1 (the default).
9341da177e4SLinus Torvalds
9351da177e4SLinus Torvalds	  The still experimental value 2 (64 bit DMA addressing with 16
9361da177e4SLinus Torvalds	  x 4GB segments limitation) can be used on systems that require
9371da177e4SLinus Torvalds	  PCI address bits past bit 39 to be set for the addressing of
9381da177e4SLinus Torvalds	  memory using PCI DAC cycles.
9391da177e4SLinus Torvalds
9401da177e4SLinus Torvaldsconfig SCSI_SYM53C8XX_DEFAULT_TAGS
9411f61d824SMatthew Wilcox	int "Default tagged command queue depth"
9421da177e4SLinus Torvalds	depends on SCSI_SYM53C8XX_2
9431da177e4SLinus Torvalds	default "16"
9441da177e4SLinus Torvalds	help
9451da177e4SLinus Torvalds	  This is the default value of the command queue depth the
9461da177e4SLinus Torvalds	  driver will announce to the generic SCSI layer for devices
9471da177e4SLinus Torvalds	  that support tagged command queueing. This value can be changed
9481da177e4SLinus Torvalds	  from the boot command line.  This is a soft limit that cannot
9491da177e4SLinus Torvalds	  exceed CONFIG_SCSI_SYM53C8XX_MAX_TAGS.
9501da177e4SLinus Torvalds
9511da177e4SLinus Torvaldsconfig SCSI_SYM53C8XX_MAX_TAGS
9521f61d824SMatthew Wilcox	int "Maximum number of queued commands"
9531da177e4SLinus Torvalds	depends on SCSI_SYM53C8XX_2
9541da177e4SLinus Torvalds	default "64"
9551da177e4SLinus Torvalds	help
9561da177e4SLinus Torvalds	  This option allows you to specify the maximum number of commands
9571da177e4SLinus Torvalds	  that can be queued to any device, when tagged command queuing is
9581da177e4SLinus Torvalds	  possible. The driver supports up to 256 queued commands per device.
9591da177e4SLinus Torvalds	  This value is used as a compiled-in hard limit.
9601da177e4SLinus Torvalds
9611f61d824SMatthew Wilcoxconfig SCSI_SYM53C8XX_MMIO
9621f61d824SMatthew Wilcox	bool "Use memory mapped IO"
9631da177e4SLinus Torvalds	depends on SCSI_SYM53C8XX_2
9641f61d824SMatthew Wilcox	default y
9651da177e4SLinus Torvalds	help
9661f61d824SMatthew Wilcox	  Memory mapped IO is faster than Port IO.  Most people should
9671f61d824SMatthew Wilcox	  answer Y here, but some machines may have problems.  If you have
9681f61d824SMatthew Wilcox	  to answer N here, please report the problem to the maintainer.
9691da177e4SLinus Torvalds
9701da177e4SLinus Torvaldsconfig SCSI_IPR
9711da177e4SLinus Torvalds	tristate "IBM Power Linux RAID adapter support"
97265a15d65SBrian King	depends on PCI && SCSI
9731da177e4SLinus Torvalds	select FW_LOADER
974511cbce2SChristoph Hellwig	select IRQ_POLL
975f95dc1bbSBart Van Assche	select SGL_ALLOC
976a7f7f624SMasahiro Yamada	help
9771da177e4SLinus Torvalds	  This driver supports the IBM Power Linux family RAID adapters.
9781da177e4SLinus Torvalds	  This includes IBM pSeries 5712, 5703, 5709, and 570A, as well
9791da177e4SLinus Torvalds	  as IBM iSeries 5702, 5703, 5709, and 570A.
9801da177e4SLinus Torvalds
9811da177e4SLinus Torvaldsconfig SCSI_IPR_TRACE
9821da177e4SLinus Torvalds	bool "enable driver internal trace"
9831da177e4SLinus Torvalds	depends on SCSI_IPR
984efbbdd84SBrian King	default y
9851da177e4SLinus Torvalds	help
9861da177e4SLinus Torvalds	  If you say Y here, the driver will trace all commands issued
9871da177e4SLinus Torvalds	  to the adapter. Performance impact is minimal. Trace can be
9881da177e4SLinus Torvalds	  dumped using /sys/bus/class/scsi_host/hostXX/trace.
9891da177e4SLinus Torvalds
9901da177e4SLinus Torvaldsconfig SCSI_IPR_DUMP
9911da177e4SLinus Torvalds	bool "enable adapter dump support"
9921da177e4SLinus Torvalds	depends on SCSI_IPR
993efbbdd84SBrian King	default y
9941da177e4SLinus Torvalds	help
9951da177e4SLinus Torvalds	  If you say Y here, the driver will support adapter crash dump.
9961da177e4SLinus Torvalds	  If you enable this support, the iprdump daemon can be used
9971da177e4SLinus Torvalds	  to capture adapter failure analysis information.
9981da177e4SLinus Torvalds
9991da177e4SLinus Torvaldsconfig SCSI_ZALON
10001da177e4SLinus Torvalds	tristate "Zalon SCSI support"
10011da177e4SLinus Torvalds	depends on GSC && SCSI
10021da177e4SLinus Torvalds	select SCSI_SPI_ATTRS
10031da177e4SLinus Torvalds	help
10041da177e4SLinus Torvalds	  The Zalon is a GSC/HSC bus interface chip that sits between the
10051da177e4SLinus Torvalds	  PA-RISC processor and the NCR 53c720 SCSI controller on C100,
10061da177e4SLinus Torvalds	  C110, J200, J210 and some D, K & R-class machines.  It's also
10071da177e4SLinus Torvalds	  used on the add-in Bluefish, Barracuda & Shrike SCSI cards.
10081da177e4SLinus Torvalds	  Say Y here if you have one of these machines or cards.
10091da177e4SLinus Torvalds
10101da177e4SLinus Torvaldsconfig SCSI_NCR53C8XX_DEFAULT_TAGS
10111da177e4SLinus Torvalds	int "default tagged command queue depth"
1012af8a6722SJohannes Thumshirn	depends on SCSI_ZALON
10131da177e4SLinus Torvalds	default "8"
1014a7f7f624SMasahiro Yamada	help
10151da177e4SLinus Torvalds	  "Tagged command queuing" is a feature of SCSI-2 which improves
10161da177e4SLinus Torvalds	  performance: the host adapter can send several SCSI commands to a
10171da177e4SLinus Torvalds	  device's queue even if previous commands haven't finished yet.
10181da177e4SLinus Torvalds	  Because the device is intelligent, it can optimize its operations
10191da177e4SLinus Torvalds	  (like head positioning) based on its own request queue. Some SCSI
10201da177e4SLinus Torvalds	  devices don't implement this properly; if you want to disable this
10211da177e4SLinus Torvalds	  feature, enter 0 or 1 here (it doesn't matter which).
10221da177e4SLinus Torvalds
10231da177e4SLinus Torvalds	  The default value is 8 and should be supported by most hard disks.
10241da177e4SLinus Torvalds	  This value can be overridden from the boot command line using the
10251da177e4SLinus Torvalds	  'tags' option as follows (example):
10261da177e4SLinus Torvalds	  'ncr53c8xx=tags:4/t2t3q16/t0u2q10' will set default queue depth to
10271da177e4SLinus Torvalds	  4, set queue depth to 16 for target 2 and target 3 on controller 0
10281da177e4SLinus Torvalds	  and set queue depth to 10 for target 0 / lun 2 on controller 1.
10291da177e4SLinus Torvalds
10301da177e4SLinus Torvalds	  The normal answer therefore is to go with the default 8 and to use
10311da177e4SLinus Torvalds	  a boot command line option for devices that need to use a different
10321da177e4SLinus Torvalds	  command queue depth.
10331da177e4SLinus Torvalds
10341da177e4SLinus Torvalds	  There is no safe option other than using good SCSI devices.
10351da177e4SLinus Torvalds
10361da177e4SLinus Torvaldsconfig SCSI_NCR53C8XX_MAX_TAGS
10371da177e4SLinus Torvalds	int "maximum number of queued commands"
1038af8a6722SJohannes Thumshirn	depends on SCSI_ZALON
10391da177e4SLinus Torvalds	default "32"
1040a7f7f624SMasahiro Yamada	help
10411da177e4SLinus Torvalds	  This option allows you to specify the maximum number of commands
10421da177e4SLinus Torvalds	  that can be queued to any device, when tagged command queuing is
10431da177e4SLinus Torvalds	  possible. The default value is 32. Minimum is 2, maximum is 64.
10441da177e4SLinus Torvalds	  Modern hard disks are able to support 64 tags and even more, but
10451da177e4SLinus Torvalds	  do not seem to be faster when more than 32 tags are being used.
10461da177e4SLinus Torvalds
10471da177e4SLinus Torvalds	  So, the normal answer here is to go with the default value 32 unless
10481da177e4SLinus Torvalds	  you are using very large hard disks with large cache (>= 1 MB) that
10491da177e4SLinus Torvalds	  are able to take advantage of more than 32 tagged commands.
10501da177e4SLinus Torvalds
10511da177e4SLinus Torvalds	  There is no safe option and the default answer is recommended.
10521da177e4SLinus Torvalds
10531da177e4SLinus Torvaldsconfig SCSI_NCR53C8XX_SYNC
10541da177e4SLinus Torvalds	int "synchronous transfers frequency in MHz"
1055af8a6722SJohannes Thumshirn	depends on SCSI_ZALON
10561da177e4SLinus Torvalds	default "20"
1057a7f7f624SMasahiro Yamada	help
10581da177e4SLinus Torvalds	  The SCSI Parallel Interface-2 Standard defines 5 classes of transfer
10591da177e4SLinus Torvalds	  rates: FAST-5, FAST-10, FAST-20, FAST-40 and FAST-80.  The numbers
10601da177e4SLinus Torvalds	  are respectively the maximum data transfer rates in mega-transfers
10611da177e4SLinus Torvalds	  per second for each class.  For example, a FAST-20 Wide 16 device is
10621da177e4SLinus Torvalds	  able to transfer data at 20 million 16 bit packets per second for a
10631da177e4SLinus Torvalds	  total rate of 40 MB/s.
10641da177e4SLinus Torvalds
10651da177e4SLinus Torvalds	  You may specify 0 if you want to only use asynchronous data
10661da177e4SLinus Torvalds	  transfers. This is the safest and slowest option. Otherwise, specify
10671da177e4SLinus Torvalds	  a value between 5 and 80, depending on the capability of your SCSI
10681da177e4SLinus Torvalds	  controller.  The higher the number, the faster the data transfer.
10691da177e4SLinus Torvalds	  Note that 80 should normally be ok since the driver decreases the
10701da177e4SLinus Torvalds	  value automatically according to the controller's capabilities.
10711da177e4SLinus Torvalds
10721da177e4SLinus Torvalds	  Your answer to this question is ignored for controllers with NVRAM,
10731da177e4SLinus Torvalds	  since the driver will get this information from the user set-up.  It
10741da177e4SLinus Torvalds	  also can be overridden using a boot setup option, as follows
10751da177e4SLinus Torvalds	  (example): 'ncr53c8xx=sync:12' will allow the driver to negotiate
10761da177e4SLinus Torvalds	  for FAST-20 synchronous data transfer (20 mega-transfers per
10771da177e4SLinus Torvalds	  second).
10781da177e4SLinus Torvalds
10791da177e4SLinus Torvalds	  The normal answer therefore is not to go with the default but to
10801da177e4SLinus Torvalds	  select the maximum value 80 allowing the driver to use the maximum
10811da177e4SLinus Torvalds	  value supported by each controller. If this causes problems with
10821da177e4SLinus Torvalds	  your SCSI devices, you should come back and decrease the value.
10831da177e4SLinus Torvalds
10841da177e4SLinus Torvalds	  There is no safe option other than using good cabling, right
10851da177e4SLinus Torvalds	  terminations and SCSI conformant devices.
10861da177e4SLinus Torvalds
10871da177e4SLinus Torvaldsconfig SCSI_NCR53C8XX_NO_DISCONNECT
10881da177e4SLinus Torvalds	bool "not allow targets to disconnect"
1089af8a6722SJohannes Thumshirn	depends on SCSI_ZALON && SCSI_NCR53C8XX_DEFAULT_TAGS=0
10901da177e4SLinus Torvalds	help
10911da177e4SLinus Torvalds	  This option is only provided for safety if you suspect some SCSI
10921da177e4SLinus Torvalds	  device of yours to not support properly the target-disconnect
10931da177e4SLinus Torvalds	  feature. In that case, you would say Y here. In general however, to
10941da177e4SLinus Torvalds	  not allow targets to disconnect is not reasonable if there is more
10951da177e4SLinus Torvalds	  than 1 device on a SCSI bus. The normal answer therefore is N.
10961da177e4SLinus Torvalds
10971da177e4SLinus Torvaldsconfig SCSI_QLOGIC_FAS
10981da177e4SLinus Torvalds	tristate "Qlogic FAS SCSI support"
10991da177e4SLinus Torvalds	depends on ISA && SCSI
1100a7f7f624SMasahiro Yamada	help
11011da177e4SLinus Torvalds	  This is a driver for the ISA, VLB, and PCMCIA versions of the Qlogic
11021da177e4SLinus Torvalds	  FastSCSI! cards as well as any other card based on the FASXX chip
11031da177e4SLinus Torvalds	  (including the Control Concepts SCSI/IDE/SIO/PIO/FDC cards).
11041da177e4SLinus Torvalds
11051da177e4SLinus Torvalds	  This driver does NOT support the PCI versions of these cards. The
11061da177e4SLinus Torvalds	  PCI versions are supported by the Qlogic ISP driver ("Qlogic ISP
11071da177e4SLinus Torvalds	  SCSI support"), below.
11081da177e4SLinus Torvalds
11091da177e4SLinus Torvalds	  Information about this driver is contained in
1110058595d5SMauro Carvalho Chehab	  <file:Documentation/scsi/qlogicfas.rst>.  You should also read the
11111da177e4SLinus Torvalds	  SCSI-HOWTO, available from
11121da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
11131da177e4SLinus Torvalds
11141da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
11151da177e4SLinus Torvalds	  module will be called qlogicfas.
11161da177e4SLinus Torvalds
11171da177e4SLinus Torvaldsconfig SCSI_QLOGIC_1280
11181da177e4SLinus Torvalds	tristate "Qlogic QLA 1240/1x80/1x160 SCSI support"
11191da177e4SLinus Torvalds	depends on PCI && SCSI
11201da177e4SLinus Torvalds	help
11211da177e4SLinus Torvalds	  Say Y if you have a QLogic ISP1240/1x80/1x160 SCSI host adapter.
11221da177e4SLinus Torvalds
11231da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
11241da177e4SLinus Torvalds	  module will be called qla1280.
11251da177e4SLinus Torvalds
11261da177e4SLinus Torvaldsconfig SCSI_QLOGICPTI
11271da177e4SLinus Torvalds	tristate "PTI Qlogic, ISP Driver"
11281da177e4SLinus Torvalds	depends on SBUS && SCSI
11291da177e4SLinus Torvalds	help
11301da177e4SLinus Torvalds	  This driver supports SBUS SCSI controllers from PTI or QLogic. These
11311da177e4SLinus Torvalds	  controllers are known under Solaris as qpti and in the openprom as
11321da177e4SLinus Torvalds	  PTI,ptisp or QLGC,isp. Note that PCI QLogic SCSI controllers are
11331da177e4SLinus Torvalds	  driven by a different driver.
11341da177e4SLinus Torvalds
11351da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
11361da177e4SLinus Torvalds	  module will be called qlogicpti.
11371da177e4SLinus Torvalds
11381da177e4SLinus Torvaldssource "drivers/scsi/qla2xxx/Kconfig"
1139afaf5a2dSDavid Somayajulusource "drivers/scsi/qla4xxx/Kconfig"
1140ace7f46bSManish Rangankarsource "drivers/scsi/qedi/Kconfig"
114161d8658bSDupuis, Chadsource "drivers/scsi/qedf/Kconfig"
11421da177e4SLinus Torvalds
1143dea3101eSconfig SCSI_LPFC
1144dea3101eS	tristate "Emulex LightPulse Fibre Channel Support"
1145dea3101eS	depends on PCI && SCSI
1146e3d2bf65SGuenter Roeck	depends on CPU_FREQ
11476a38792cSRandy Dunlap	depends on SCSI_FC_ATTRS
1148cd069bb9SArnd Bergmann	depends on NVME_TARGET_FC || NVME_TARGET_FC=n
1149cd069bb9SArnd Bergmann	depends on NVME_FC || NVME_FC=n
11506a7252fdSJames Bottomley	select CRC_T10DIF
1151fad0a161STong Zhang	select IRQ_POLL
1152a7f7f624SMasahiro Yamada	help
1153dea3101eS          This lpfc driver supports the Emulex LightPulse
1154dea3101eS          Family of Fibre Channel PCI host adapters.
1155dea3101eS
1156923e4b6aSJames Smartconfig SCSI_LPFC_DEBUG_FS
1157923e4b6aSJames Smart	bool "Emulex LightPulse Fibre Channel debugfs Support"
1158923e4b6aSJames Smart	depends on SCSI_LPFC && DEBUG_FS
1159a7f7f624SMasahiro Yamada	help
1160692105b8SMatt LaPlante	  This makes debugging information from the lpfc driver
1161923e4b6aSJames Smart	  available via the debugfs filesystem.
1162923e4b6aSJames Smart
1163ebc076b3SJames Smartsource "drivers/scsi/elx/Kconfig"
1164ebc076b3SJames Smart
11651da177e4SLinus Torvaldsconfig SCSI_SIM710
11661da177e4SLinus Torvalds	tristate "Simple 53c710 SCSI support (Compaq, NCR machines)"
1167c8bf9212SChristoph Hellwig	depends on EISA && SCSI
11681da177e4SLinus Torvalds	select SCSI_SPI_ATTRS
1169a7f7f624SMasahiro Yamada	help
1170692105b8SMatt LaPlante	  This driver is for NCR53c710 based SCSI host adapters.
11711da177e4SLinus Torvalds
1172c8bf9212SChristoph Hellwig	  It currently supports Compaq EISA cards.
11731da177e4SLinus Torvalds
11741da177e4SLinus Torvaldsconfig SCSI_DC395x
117592f6ed4aSKees Cook	tristate "Tekram DC395(U/UW/F) and DC315(U) SCSI support"
1176b58b2ba3SNiklas Schnelle	depends on PCI && HAS_IOPORT && SCSI
11779c2d2670SHannes Reinecke	select SCSI_SPI_ATTRS
1178a7f7f624SMasahiro Yamada	help
11791da177e4SLinus Torvalds	  This driver supports PCI SCSI host adapters based on the ASIC
11801da177e4SLinus Torvalds	  TRM-S1040 chip, e.g Tekram DC395(U/UW/F) and DC315(U) variants.
11811da177e4SLinus Torvalds
11821da177e4SLinus Torvalds	  This driver works, but is still in experimental status. So better
11831da177e4SLinus Torvalds	  have a bootable disk and a backup in case of emergency.
11841da177e4SLinus Torvalds
118562e3bfa4SMauro Carvalho Chehab	  Documentation can be found in <file:Documentation/scsi/dc395x.rst>.
11861da177e4SLinus Torvalds
11871da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
11881da177e4SLinus Torvalds	  module will be called dc395x.
11891da177e4SLinus Torvalds
11903a7e7be2SHannes Reineckeconfig SCSI_AM53C974
11913a7e7be2SHannes Reinecke	tristate "Tekram DC390(T) and Am53/79C974 SCSI support (new driver)"
11923a7e7be2SHannes Reinecke	depends on PCI && SCSI
11933a7e7be2SHannes Reinecke	select SCSI_SPI_ATTRS
1194a7f7f624SMasahiro Yamada	help
11953a7e7be2SHannes Reinecke	  This driver supports PCI SCSI host adapters based on the Am53C974A
11963a7e7be2SHannes Reinecke	  chip, e.g. Tekram DC390(T), DawiControl 2974 and some onboard
11973a7e7be2SHannes Reinecke	  PCscsi/PCnet (Am53/79C974) solutions.
11983a7e7be2SHannes Reinecke	  This is a new implementation base on the generic esp_scsi driver.
11993a7e7be2SHannes Reinecke
12003a7e7be2SHannes Reinecke	  Note that this driver does NOT support Tekram DC390W/U/F, which are
12013a7e7be2SHannes Reinecke	  based on NCR/Symbios chips. Use "NCR53C8XX SCSI support" for those.
12023a7e7be2SHannes Reinecke
12033a7e7be2SHannes Reinecke	  To compile this driver as a module, choose M here: the
12043a7e7be2SHannes Reinecke	  module will be called am53c974.
12053a7e7be2SHannes Reinecke
12061da177e4SLinus Torvaldsconfig SCSI_NSP32
12071da177e4SLinus Torvalds	tristate "Workbit NinjaSCSI-32Bi/UDE support"
1208b58b2ba3SNiklas Schnelle	depends on PCI && SCSI && !64BIT && HAS_IOPORT
12091da177e4SLinus Torvalds	help
12101da177e4SLinus Torvalds	  This is support for the Workbit NinjaSCSI-32Bi/UDE PCI/Cardbus
12111da177e4SLinus Torvalds	  SCSI host adapter. Please read the SCSI-HOWTO, available from
12121da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
12131da177e4SLinus Torvalds
12141da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
12151da177e4SLinus Torvalds	  module will be called nsp32.
12161da177e4SLinus Torvalds
121748a31030SOndrej Zaryconfig SCSI_WD719X
121848a31030SOndrej Zary	tristate "Western Digital WD7193/7197/7296 support"
121948a31030SOndrej Zary	depends on PCI && SCSI
122048a31030SOndrej Zary	select EEPROM_93CX6
1221a7f7f624SMasahiro Yamada	help
122248a31030SOndrej Zary	  This is a driver for Western Digital WD7193, WD7197 and WD7296 PCI
122348a31030SOndrej Zary	  SCSI controllers (based on WD33C296A chip).
122448a31030SOndrej Zary
12251da177e4SLinus Torvaldsconfig SCSI_DEBUG
12266d6f3807SDouglas Gilbert	tristate "SCSI debugging host and device simulator"
12271da177e4SLinus Torvalds	depends on SCSI
1228d0ace3c5SRandy Dunlap	select CRC_T10DIF
12291da177e4SLinus Torvalds	help
12306d6f3807SDouglas Gilbert	  This pseudo driver simulates one or more hosts (SCSI initiators),
12316d6f3807SDouglas Gilbert	  each with one or more targets, each with one or more logical units.
12326d6f3807SDouglas Gilbert	  Defaults to one of each, creating a small RAM disk device. Many
12336d6f3807SDouglas Gilbert	  parameters found in the /sys/bus/pseudo/drivers/scsi_debug
12346d6f3807SDouglas Gilbert	  directory can be tweaked at run time.
12356d6f3807SDouglas Gilbert	  See <http://sg.danny.cz/sg/sdebug26.html> for more information.
12366d6f3807SDouglas Gilbert	  Mainly used for testing and best as a module. If unsure, say N.
12371da177e4SLinus Torvalds
12381da177e4SLinus Torvaldsconfig SCSI_MESH
12391da177e4SLinus Torvalds	tristate "MESH (Power Mac internal SCSI) support"
12401da177e4SLinus Torvalds	depends on PPC32 && PPC_PMAC && SCSI
12411da177e4SLinus Torvalds	help
12421da177e4SLinus Torvalds	  Many Power Macintoshes and clones have a MESH (Macintosh Enhanced
12431da177e4SLinus Torvalds	  SCSI Hardware) SCSI bus adaptor (the 7200 doesn't, but all of the
12441da177e4SLinus Torvalds	  other Power Macintoshes do). Say Y to include support for this SCSI
12451da177e4SLinus Torvalds	  adaptor.
12461da177e4SLinus Torvalds
12471da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
12481da177e4SLinus Torvalds	  module will be called mesh.
12491da177e4SLinus Torvalds
12501da177e4SLinus Torvaldsconfig SCSI_MESH_SYNC_RATE
12511da177e4SLinus Torvalds	int "maximum synchronous transfer rate (MB/s) (0 = async)"
12521da177e4SLinus Torvalds	depends on SCSI_MESH
12531da177e4SLinus Torvalds	default "5"
12541da177e4SLinus Torvalds	help
12551da177e4SLinus Torvalds	  On Power Macintoshes (and clones) where the MESH SCSI bus adaptor
12561da177e4SLinus Torvalds	  drives a bus which is entirely internal to the machine (such as the
12571da177e4SLinus Torvalds	  7500, 7600, 8500, etc.), the MESH is capable of synchronous
12581da177e4SLinus Torvalds	  operation at up to 10 MB/s. On machines where the SCSI bus
12591da177e4SLinus Torvalds	  controlled by the MESH can have external devices connected, it is
12601da177e4SLinus Torvalds	  usually rated at 5 MB/s. 5 is a safe value here unless you know the
12611da177e4SLinus Torvalds	  MESH SCSI bus is internal only; in that case you can say 10. Say 0
12621da177e4SLinus Torvalds	  to disable synchronous operation.
12631da177e4SLinus Torvalds
12641da177e4SLinus Torvaldsconfig SCSI_MESH_RESET_DELAY_MS
12651da177e4SLinus Torvalds	int "initial bus reset delay (ms) (0 = no reset)"
12661da177e4SLinus Torvalds	depends on SCSI_MESH
12671da177e4SLinus Torvalds	default "4000"
12681da177e4SLinus Torvalds
12691da177e4SLinus Torvaldsconfig SCSI_MAC53C94
12701da177e4SLinus Torvalds	tristate "53C94 (Power Mac external SCSI) support"
12711da177e4SLinus Torvalds	depends on PPC32 && PPC_PMAC && SCSI
12721da177e4SLinus Torvalds	help
12731da177e4SLinus Torvalds	  On Power Macintoshes (and clones) with two SCSI buses, the external
12741da177e4SLinus Torvalds	  SCSI bus is usually controlled by a 53C94 SCSI bus adaptor. Older
12751da177e4SLinus Torvalds	  machines which only have one SCSI bus, such as the 7200, also use
12761da177e4SLinus Torvalds	  the 53C94. Say Y to include support for the 53C94.
12771da177e4SLinus Torvalds
12781da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
12791da177e4SLinus Torvalds	  module will be called mac53c94.
12801da177e4SLinus Torvalds
12811da177e4SLinus Torvaldssource "drivers/scsi/arm/Kconfig"
12821da177e4SLinus Torvalds
12831da177e4SLinus Torvaldsconfig JAZZ_ESP
12841da177e4SLinus Torvalds	bool "MIPS JAZZ FAS216 SCSI support"
12859ddf190aSRandy Dunlap	depends on MACH_JAZZ && SCSI=y
12863a243070SDavid S. Miller	select SCSI_SPI_ATTRS
12871da177e4SLinus Torvalds	help
12881da177e4SLinus Torvalds	  This is the driver for the onboard SCSI host adapter of MIPS Magnum
12891da177e4SLinus Torvalds	  4000, Acer PICA, Olivetti M700-10 and a few other identical OEM
12901da177e4SLinus Torvalds	  systems.
12911da177e4SLinus Torvalds
12921da177e4SLinus Torvaldsconfig A3000_SCSI
12931da177e4SLinus Torvalds	tristate "A3000 WD33C93A support"
12941da177e4SLinus Torvalds	depends on AMIGA && SCSI
12951da177e4SLinus Torvalds	help
12961da177e4SLinus Torvalds	  If you have an Amiga 3000 and have SCSI devices connected to the
12971da177e4SLinus Torvalds	  built-in SCSI controller, say Y. Otherwise, say N.
12981da177e4SLinus Torvalds
12991da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
130090638f99SGeert Uytterhoeven	  module will be called a3000.
13011da177e4SLinus Torvalds
13021da177e4SLinus Torvaldsconfig A2091_SCSI
13031da177e4SLinus Torvalds	tristate "A2091/A590 WD33C93A support"
13041da177e4SLinus Torvalds	depends on ZORRO && SCSI
13051da177e4SLinus Torvalds	help
13061da177e4SLinus Torvalds	  If you have a Commodore A2091 SCSI controller, say Y. Otherwise,
13071da177e4SLinus Torvalds	  say N.
13081da177e4SLinus Torvalds
13091da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
131090638f99SGeert Uytterhoeven	  module will be called a2091.
13111da177e4SLinus Torvalds
13121da177e4SLinus Torvaldsconfig GVP11_SCSI
13131da177e4SLinus Torvalds	tristate "GVP Series II WD33C93A support"
13141da177e4SLinus Torvalds	depends on ZORRO && SCSI
1315a7f7f624SMasahiro Yamada	help
13161da177e4SLinus Torvalds	  If you have a Great Valley Products Series II SCSI controller,
13171da177e4SLinus Torvalds	  answer Y. Also say Y if you have a later model of GVP SCSI
13181da177e4SLinus Torvalds	  controller (such as the GVP A4008 or a Combo board). Otherwise,
13191da177e4SLinus Torvalds	  answer N. This driver does NOT work for the T-Rex series of
13201da177e4SLinus Torvalds	  accelerators from TekMagic and GVP-M.
13211da177e4SLinus Torvalds
13221da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
13231da177e4SLinus Torvalds	  module will be called gvp11.
13241da177e4SLinus Torvalds
1325a16efc1cSKars de Jongconfig SCSI_A4000T
132692f6ed4aSKees Cook	tristate "A4000T NCR53c710 SCSI support"
132792f6ed4aSKees Cook	depends on AMIGA && SCSI
1328a16efc1cSKars de Jong	select SCSI_SPI_ATTRS
13291da177e4SLinus Torvalds	help
1330a16efc1cSKars de Jong	  If you have an Amiga 4000T and have SCSI devices connected to the
1331a16efc1cSKars de Jong	  built-in SCSI controller, say Y. Otherwise, say N.
1332a16efc1cSKars de Jong
1333a16efc1cSKars de Jong	  To compile this driver as a module, choose M here: the
1334a16efc1cSKars de Jong	  module will be called a4000t.
1335a16efc1cSKars de Jong
133645804fbbSKars de Jongconfig SCSI_ZORRO7XX
133792f6ed4aSKees Cook	tristate "Zorro NCR53c710 SCSI support"
133892f6ed4aSKees Cook	depends on ZORRO && SCSI
133945804fbbSKars de Jong	select SCSI_SPI_ATTRS
13401da177e4SLinus Torvalds	help
134145804fbbSKars de Jong	  Support for various NCR53c710-based SCSI controllers on Zorro
134245804fbbSKars de Jong	  expansion boards for the Amiga.
13431da177e4SLinus Torvalds	  This includes:
13441da177e4SLinus Torvalds	    - the Amiga 4091 Zorro III SCSI-2 controller,
13451da177e4SLinus Torvalds	    - the MacroSystem Development's WarpEngine Amiga SCSI-2 controller
13461da177e4SLinus Torvalds	      (info at
13471da177e4SLinus Torvalds	      <http://www.lysator.liu.se/amiga/ar/guide/ar310.guide?FEATURE5>),
13481da177e4SLinus Torvalds	    - the SCSI controller on the Phase5 Blizzard PowerUP 603e+
13491da177e4SLinus Torvalds	      accelerator card for the Amiga 1200,
13501da177e4SLinus Torvalds	    - the SCSI controller on the GVP Turbo 040/060 accelerator.
13511da177e4SLinus Torvalds
13523109e5aeSMichael Schmitzconfig SCSI_ZORRO_ESP
13533109e5aeSMichael Schmitz	tristate "Zorro ESP SCSI support"
13543109e5aeSMichael Schmitz	depends on ZORRO && SCSI
13553109e5aeSMichael Schmitz	select SCSI_SPI_ATTRS
135653dce332SFinn Thain	select SCSI_ESP_PIO
13573109e5aeSMichael Schmitz	help
13583109e5aeSMichael Schmitz	  Support for various NCR53C9x (ESP) based SCSI controllers on Zorro
13593109e5aeSMichael Schmitz	  expansion boards for the Amiga.
13603109e5aeSMichael Schmitz	  This includes:
13613109e5aeSMichael Schmitz	    - the Phase5 Blizzard 1230 II and IV SCSI controllers,
13623109e5aeSMichael Schmitz	    - the Phase5 Blizzard 2060 SCSI controller,
13633109e5aeSMichael Schmitz	    - the Phase5 Blizzard Cyberstorm and Cyberstorm II SCSI
13643109e5aeSMichael Schmitz	      controllers,
13653109e5aeSMichael Schmitz	    - the Fastlane Zorro III SCSI controller.
13663109e5aeSMichael Schmitz
13671da177e4SLinus Torvaldsconfig ATARI_SCSI
13681da177e4SLinus Torvalds	tristate "Atari native SCSI support"
1369fb810d12SMichael Schmitz	depends on ATARI && SCSI
1370410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
1371a7f7f624SMasahiro Yamada	help
13721da177e4SLinus Torvalds	  If you have an Atari with built-in NCR5380 SCSI controller (TT,
13731da177e4SLinus Torvalds	  Falcon, ...) say Y to get it supported. Of course also, if you have
13741da177e4SLinus Torvalds	  a compatible SCSI controller (e.g. for Medusa).
13751da177e4SLinus Torvalds
137683d2aed4SFinn Thain	  To compile this driver as a module, choose M here: the module will
137783d2aed4SFinn Thain	  be called atari_scsi. If you also enable NVRAM support, the SCSI
137883d2aed4SFinn Thain	  host's ID is taken from the setting in TT RTC NVRAM.
13791da177e4SLinus Torvalds
13801da177e4SLinus Torvalds	  This driver supports both styles of NCR integration into the
13811da177e4SLinus Torvalds	  system: the TT style (separate DMA), and the Falcon style (via
13821da177e4SLinus Torvalds	  ST-DMA, replacing ACSI).  It does NOT support other schemes, like
13831da177e4SLinus Torvalds	  in the Hades (without DMA).
13841da177e4SLinus Torvalds
13851da177e4SLinus Torvaldsconfig MAC_SCSI
13866e9ae6d5SFinn Thain	tristate "Macintosh NCR5380 SCSI"
13872559a1efSFinn Thain	depends on MAC && SCSI
1388410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
13891da177e4SLinus Torvalds	help
13901da177e4SLinus Torvalds	  This is the NCR 5380 SCSI controller included on most of the 68030
13911da177e4SLinus Torvalds	  based Macintoshes.  If you have one of these say Y and read the
13921da177e4SLinus Torvalds	  SCSI-HOWTO, available from
13931da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>.
13941da177e4SLinus Torvalds
13956fe07aafSFinn Thainconfig SCSI_MAC_ESP
13966fe07aafSFinn Thain	tristate "Macintosh NCR53c9[46] SCSI"
13976fe07aafSFinn Thain	depends on MAC && SCSI
139848fc8de9SGeert Uytterhoeven	select SCSI_SPI_ATTRS
139953dce332SFinn Thain	select SCSI_ESP_PIO
14006fe07aafSFinn Thain	help
14016fe07aafSFinn Thain	  This is the NCR 53c9x SCSI controller found on most of the 68040
14026fe07aafSFinn Thain	  based Macintoshes.
14036fe07aafSFinn Thain
14046fe07aafSFinn Thain	  To compile this driver as a module, choose M here: the module
14056fe07aafSFinn Thain	  will be called mac_esp.
14066fe07aafSFinn Thain
14071da177e4SLinus Torvaldsconfig MVME147_SCSI
14081da177e4SLinus Torvalds	bool "WD33C93 SCSI driver for MVME147"
1409fa53bb65SAl Viro	depends on MVME147 && SCSI=y
1410410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
14111da177e4SLinus Torvalds	help
14121da177e4SLinus Torvalds	  Support for the on-board SCSI controller on the Motorola MVME147
14131da177e4SLinus Torvalds	  single-board computer.
14141da177e4SLinus Torvalds
14151da177e4SLinus Torvaldsconfig MVME16x_SCSI
1416506c7bbcSKars de Jong	tristate "NCR53C710 SCSI driver for MVME16x"
1417506c7bbcSKars de Jong	depends on MVME16x && SCSI
1418410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
14191da177e4SLinus Torvalds	help
14201da177e4SLinus Torvalds	  The Motorola MVME162, 166, 167, 172 and 177 boards use the NCR53C710
14211da177e4SLinus Torvalds	  SCSI controller chip.  Almost everyone using one of these boards
14221da177e4SLinus Torvalds	  will want to say Y to this question.
14231da177e4SLinus Torvalds
14241da177e4SLinus Torvaldsconfig BVME6000_SCSI
14258276b58aSKars de Jong	tristate "NCR53C710 SCSI driver for BVME6000"
14268276b58aSKars de Jong	depends on BVME6000 && SCSI
1427410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
14281da177e4SLinus Torvalds	help
14291da177e4SLinus Torvalds	  The BVME4000 and BVME6000 boards from BVM Ltd use the NCR53C710
14301da177e4SLinus Torvalds	  SCSI controller chip.  Almost everyone using one of these boards
14311da177e4SLinus Torvalds	  will want to say Y to this question.
14321da177e4SLinus Torvalds
14331da177e4SLinus Torvaldsconfig SUN3_SCSI
14341da177e4SLinus Torvalds	tristate "Sun3 NCR5380 SCSI"
1435c39e7eeeSSam Creasey	depends on SUN3 && SCSI
1436410ca5c7SMatthew Wilcox	select SCSI_SPI_ATTRS
14371da177e4SLinus Torvalds	help
14381da177e4SLinus Torvalds	  This option will enable support for the OBIO (onboard io) NCR5380
14391da177e4SLinus Torvalds	  SCSI controller found in the Sun 3/50 and 3/60, as well as for
14401da177e4SLinus Torvalds	  "Sun3" type VME scsi controllers also based on the NCR5380.
14411da177e4SLinus Torvalds	  General Linux information on the Sun 3 series (now discontinued)
14421da177e4SLinus Torvalds	  is at <http://www.angelfire.com/ca2/tech68k/sun3.html>.
14431da177e4SLinus Torvalds
14441da177e4SLinus Torvaldsconfig SUN3X_ESP
14451da177e4SLinus Torvalds	bool "Sun3x ESP SCSI"
1446fa53bb65SAl Viro	depends on SUN3X && SCSI=y
14470bb67f18SThomas Bogendoerfer	select SCSI_SPI_ATTRS
14481da177e4SLinus Torvalds	help
14491da177e4SLinus Torvalds	  The ESP was an on-board SCSI controller used on Sun 3/80
14501da177e4SLinus Torvalds	  machines.  Say Y here to compile in support for it.
14511da177e4SLinus Torvalds
14521da177e4SLinus Torvaldsconfig SCSI_SUNESP
14531da177e4SLinus Torvalds	tristate "Sparc ESP Scsi Driver"
14541da177e4SLinus Torvalds	depends on SBUS && SCSI
14553a243070SDavid S. Miller	select SCSI_SPI_ATTRS
14561da177e4SLinus Torvalds	help
14571da177e4SLinus Torvalds	  This is the driver for the Sun ESP SCSI host adapter. The ESP
1458dbfe54a9SFrans Pop	  chipset is present in most SPARC SBUS-based computers and
1459dbfe54a9SFrans Pop	  supports the Emulex family of ESP SCSI chips (esp100, esp100A,
1460dbfe54a9SFrans Pop	  esp236, fas101, fas236) as well as the Qlogic fas366 SCSI chip.
14611da177e4SLinus Torvalds
14621da177e4SLinus Torvalds	  To compile this driver as a module, choose M here: the
1463dbfe54a9SFrans Pop	  module will be called sun_esp.
14641da177e4SLinus Torvalds
14651da177e4SLinus Torvaldsconfig ZFCP
1466c06de6e2SBenjamin Block	tristate "FCP host bus adapter driver for IBM mainframes"
1467347a8dc3SMartin Schwidefsky	depends on S390 && QDIO && SCSI
14686a38792cSRandy Dunlap	depends on SCSI_FC_ATTRS
14691da177e4SLinus Torvalds	help
1470c06de6e2SBenjamin Block	  If you want to access SCSI devices attached to your IBM mainframe by
1471c06de6e2SBenjamin Block	  means of Fibre Channel Protocol host bus adapters say Y.
1472c06de6e2SBenjamin Block
1473c06de6e2SBenjamin Block	  Supported HBAs include different models of the FICON Express and FCP
1474c06de6e2SBenjamin Block	  Express I/O cards.
1475c06de6e2SBenjamin Block
1476c06de6e2SBenjamin Block	  For a more complete list, and for more details about setup and
1477c06de6e2SBenjamin Block	  operation refer to the IBM publication "Device Drivers, Features, and
1478c06de6e2SBenjamin Block	  Commands", SC33-8411.
14791da177e4SLinus Torvalds
14801da177e4SLinus Torvalds          This driver is also available as a module. This module will be
14811da177e4SLinus Torvalds          called zfcp. If you want to compile it as a module, say M here
1482cd238effSMauro Carvalho Chehab          and read <file:Documentation/kbuild/modules.rst>.
14831da177e4SLinus Torvalds
148489a36810SAnil Ravindranathconfig SCSI_PMCRAID
148589a36810SAnil Ravindranath	tristate "PMC SIERRA Linux MaxRAID adapter support"
1486b2045240SRandy Dunlap	depends on PCI && SCSI && NET
1487ed4414ceSBart Van Assche	select SGL_ALLOC
1488a7f7f624SMasahiro Yamada	help
148989a36810SAnil Ravindranath	  This driver supports the PMC SIERRA MaxRAID adapters.
149089a36810SAnil Ravindranath
1491dbf9bfe6Sjack wangconfig SCSI_PM8001
1492dbf9bfe6Sjack wang	tristate "PMC-Sierra SPC 8001 SAS/SATA Based Host Adapter driver"
1493dbf9bfe6Sjack wang	depends on PCI && SCSI
1494dbf9bfe6Sjack wang	select SCSI_SAS_LIBSAS
1495dbf9bfe6Sjack wang	help
1496dbf9bfe6Sjack wang	  This driver supports PMC-Sierra PCIE SAS/SATA 8x6G SPC 8001 chip
1497dbf9bfe6Sjack wang	  based host adapters.
1498dbf9bfe6Sjack wang
14997725ccfdSJing Huangconfig SCSI_BFA_FC
15007725ccfdSJing Huang	tristate "Brocade BFA Fibre Channel Support"
15017725ccfdSJing Huang	depends on PCI && SCSI
15026a38792cSRandy Dunlap	depends on SCSI_FC_ATTRS
15037725ccfdSJing Huang	help
15047725ccfdSJing Huang	  This bfa driver supports all Brocade PCIe FC/FCOE host adapters.
15057725ccfdSJing Huang
15067725ccfdSJing Huang	  To compile this driver as a module, choose M here. The module will
15077725ccfdSJing Huang	  be called bfa.
15087725ccfdSJing Huang
15094fe74b1cSPaolo Bonziniconfig SCSI_VIRTIO
151092f6ed4aSKees Cook	tristate "virtio-scsi support"
151192f6ed4aSKees Cook	depends on VIRTIO
15124fe74b1cSPaolo Bonzini	help
15134fe74b1cSPaolo Bonzini          This is the virtual HBA driver for virtio.  If the kernel will
15144fe74b1cSPaolo Bonzini          be used in a virtual machine, say Y or M.
15154fe74b1cSPaolo Bonzini
1516a3667aaeSNaresh Kumar Innasource "drivers/scsi/csiostor/Kconfig"
15174fe74b1cSPaolo Bonzini
15181da177e4SLinus Torvaldssource "drivers/scsi/pcmcia/Kconfig"
15191da177e4SLinus Torvalds
1520e70bdd81SArnd Bergmannendif # SCSI_LOWLEVEL
1521e70bdd81SArnd Bergmann
1522a6a8d9f8SChandra Seetharamansource "drivers/scsi/device_handler/Kconfig"
1523a6a8d9f8SChandra Seetharaman
15241da177e4SLinus Torvaldsendmenu
1525