xref: /openbmc/linux/drivers/scsi/Kconfig (revision 612a462a)
1menu "SCSI device support"
2
3config SCSI_MOD
4       tristate
5       default y if SCSI=n || SCSI=y
6       default m if SCSI=m
7
8config RAID_ATTRS
9	tristate "RAID Transport Class"
10	default n
11	depends on BLOCK
12	depends on SCSI_MOD
13	---help---
14	  Provides RAID
15
16config SCSI
17	tristate "SCSI device support"
18	depends on BLOCK
19	select SCSI_DMA if HAS_DMA
20	select SG_POOL
21	select BLK_SCSI_REQUEST
22	---help---
23	  If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or
24	  any other SCSI device under Linux, say Y and make sure that you know
25	  the name of your SCSI host adapter (the card inside your computer
26	  that "speaks" the SCSI protocol, also called SCSI controller),
27	  because you will be asked for it.
28
29	  You also need to say Y here if you have a device which speaks
30	  the SCSI protocol.  Examples of this include the parallel port
31	  version of the IOMEGA ZIP drive, USB storage devices, Fibre
32	  Channel, and FireWire storage.
33
34	  To compile this driver as a module, choose M here and read
35	  <file:Documentation/scsi/scsi.txt>.
36	  The module will be called scsi_mod.
37
38	  However, do not compile this as a module if your root file system
39	  (the one containing the directory /) is located on a SCSI device.
40
41config SCSI_DMA
42	bool
43	default n
44
45config SCSI_NETLINK
46	bool
47	default	n
48	depends on NET
49
50config SCSI_MQ_DEFAULT
51	bool "SCSI: use blk-mq I/O path by default"
52	depends on SCSI
53	---help---
54	  This option enables the new blk-mq based I/O path for SCSI
55	  devices by default.  With the option the scsi_mod.use_blk_mq
56	  module/boot option defaults to Y, without it to N, but it can
57	  still be overridden either way.
58
59	  If unsure say N.
60
61config SCSI_PROC_FS
62	bool "legacy /proc/scsi/ support"
63	depends on SCSI && PROC_FS
64	default y
65	---help---
66	  This option enables support for the various files in
67	  /proc/scsi.  In Linux 2.6 this has been superseded by
68	  files in sysfs but many legacy applications rely on this.
69
70	  If unsure say Y.
71
72comment "SCSI support type (disk, tape, CD-ROM)"
73	depends on SCSI
74
75config BLK_DEV_SD
76	tristate "SCSI disk support"
77	depends on SCSI
78	---help---
79	  If you want to use SCSI hard disks, Fibre Channel disks,
80	  Serial ATA (SATA) or Parallel ATA (PATA) hard disks,
81	  USB storage or the SCSI or parallel port version of
82	  the IOMEGA ZIP drive, say Y and read the SCSI-HOWTO,
83	  the Disk-HOWTO and the Multi-Disk-HOWTO, available from
84	  <http://www.tldp.org/docs.html#howto>. This is NOT for SCSI
85	  CD-ROMs.
86
87	  To compile this driver as a module, choose M here and read
88	  <file:Documentation/scsi/scsi.txt>.
89	  The module will be called sd_mod.
90
91	  Do not compile this driver as a module if your root file system
92	  (the one containing the directory /) is located on a SCSI disk.
93	  In this case, do not compile the driver for your SCSI host adapter
94	  (below) as a module either.
95
96config CHR_DEV_ST
97	tristate "SCSI tape support"
98	depends on SCSI
99	---help---
100	  If you want to use a SCSI tape drive under Linux, say Y and read the
101	  SCSI-HOWTO, available from
102	  <http://www.tldp.org/docs.html#howto>, and
103	  <file:Documentation/scsi/st.txt> in the kernel source.  This is NOT
104	  for SCSI CD-ROMs.
105
106	  To compile this driver as a module, choose M here and read
107	  <file:Documentation/scsi/scsi.txt>. The module will be called st.
108
109config CHR_DEV_OSST
110	tristate "SCSI OnStream SC-x0 tape support"
111	depends on SCSI
112	---help---
113	  The OnStream SC-x0 SCSI tape drives cannot be driven by the
114	  standard st driver, but instead need this special osst driver and
115	  use the  /dev/osstX char device nodes (major 206).  Via usb-storage,
116	  you may be able to drive the USB-x0 and DI-x0 drives as well.
117	  Note that there is also a second generation of OnStream
118	  tape drives (ADR-x0) that supports the standard SCSI-2 commands for
119	  tapes (QIC-157) and can be driven by the standard driver st.
120	  For more information, you may have a look at the SCSI-HOWTO
121	  <http://www.tldp.org/docs.html#howto>  and
122	  <file:Documentation/scsi/osst.txt>  in the kernel source.
123	  More info on the OnStream driver may be found on
124	  <http://sourceforge.net/projects/osst/>
125	  Please also have a look at the standard st docu, as most of it
126	  applies to osst as well.
127
128	  To compile this driver as a module, choose M here and read
129	  <file:Documentation/scsi/scsi.txt>. The module will be called osst.
130
131config BLK_DEV_SR
132	tristate "SCSI CDROM support"
133	depends on SCSI
134	---help---
135	  If you want to use a CD or DVD drive attached to your computer
136	  by SCSI, FireWire, USB or ATAPI, say Y and read the SCSI-HOWTO
137	  and the CDROM-HOWTO at <http://www.tldp.org/docs.html#howto>.
138
139	  Make sure to say Y or M to "ISO 9660 CD-ROM file system support".
140
141	  To compile this driver as a module, choose M here and read
142	  <file:Documentation/scsi/scsi.txt>.
143	  The module will be called sr_mod.
144
145config BLK_DEV_SR_VENDOR
146	bool "Enable vendor-specific extensions (for SCSI CDROM)"
147	depends on BLK_DEV_SR
148	help
149	  This enables the usage of vendor specific SCSI commands. This is
150	  required to support multisession CDs with old NEC/TOSHIBA cdrom
151	  drives (and HP Writers). If you have such a drive and get the first
152	  session only, try saying Y here; everybody else says N.
153
154config CHR_DEV_SG
155	tristate "SCSI generic support"
156	depends on SCSI
157	---help---
158	  If you want to use SCSI scanners, synthesizers or CD-writers or just
159	  about anything having "SCSI" in its name other than hard disks,
160	  CD-ROMs or tapes, say Y here. These won't be supported by the kernel
161	  directly, so you need some additional software which knows how to
162	  talk to these devices using the SCSI protocol:
163
164	  For scanners, look at SANE (<http://www.sane-project.org/>). For CD
165	  writer software look at Cdrtools
166	  (<http://cdrecord.berlios.de/private/cdrecord.html>)
167	  and for burning a "disk at once": CDRDAO
168	  (<http://cdrdao.sourceforge.net/>). Cdparanoia is a high
169	  quality digital reader of audio CDs (<http://www.xiph.org/paranoia/>).
170	  For other devices, it's possible that you'll have to write the
171	  driver software yourself. Please read the file
172	  <file:Documentation/scsi/scsi-generic.txt> for more information.
173
174	  To compile this driver as a module, choose M here and read
175	  <file:Documentation/scsi/scsi.txt>. The module will be called sg.
176
177	  If unsure, say N.
178
179config CHR_DEV_SCH
180	tristate "SCSI media changer support"
181	depends on SCSI
182	---help---
183	  This is a driver for SCSI media changers.  Most common devices are
184	  tape libraries and MOD/CDROM jukeboxes.  *Real* jukeboxes, you
185	  don't need this for those tiny 6-slot cdrom changers.  Media
186	  changers are listed as "Type: Medium Changer" in /proc/scsi/scsi.
187	  If you have such hardware and want to use it with linux, say Y
188	  here.  Check <file:Documentation/scsi/scsi-changer.txt> for details.
189
190	  If you want to compile this as a module ( = code which can be
191	  inserted in and removed from the running kernel whenever you want),
192	  say M here and read <file:Documentation/kbuild/modules.txt> and
193	  <file:Documentation/scsi/scsi.txt>. The module will be called ch.o.
194	  If unsure, say N.
195
196config SCSI_ENCLOSURE
197	tristate "SCSI Enclosure Support"
198	depends on SCSI && ENCLOSURE_SERVICES
199	depends on m || SCSI_SAS_ATTRS != m
200	help
201	  Enclosures are devices sitting on or in SCSI backplanes that
202	  manage devices.  If you have a disk cage, the chances are that
203	  it has an enclosure device.  Selecting this option will just allow
204	  certain enclosure conditions to be reported and is not required.
205
206config SCSI_CONSTANTS
207	bool "Verbose SCSI error reporting (kernel size += 36K)"
208	depends on SCSI
209	help
210	  The error messages regarding your SCSI hardware will be easier to
211	  understand if you say Y here; it will enlarge your kernel by about
212	  36 KB. If in doubt, say Y.
213
214config SCSI_LOGGING
215	bool "SCSI logging facility"
216	depends on SCSI
217	---help---
218	  This turns on a logging facility that can be used to debug a number
219	  of SCSI related problems.
220
221	  If you say Y here, no logging output will appear by default, but you
222	  can enable logging by saying Y to "/proc file system support" and
223	  "Sysctl support" below and executing the command
224
225	  echo <bitmask> > /proc/sys/dev/scsi/logging_level
226
227	  where <bitmask> is a four byte value representing the logging type
228	  and logging level for each type of logging selected.
229
230	  There are a number of logging types and you can find them in the
231	  source at <file:drivers/scsi/scsi_logging.h>. The logging levels
232	  are also described in that file and they determine the verbosity of
233	  the logging for each logging type.
234
235	  If you say N here, it may be harder to track down some types of SCSI
236	  problems. If you say Y here your kernel will be somewhat larger, but
237	  there should be no noticeable performance impact as long as you have
238	  logging turned off.
239
240config SCSI_SCAN_ASYNC
241	bool "Asynchronous SCSI scanning"
242	depends on SCSI
243	help
244	  The SCSI subsystem can probe for devices while the rest of the
245	  system continues booting, and even probe devices on different
246	  busses in parallel, leading to a significant speed-up.
247
248	  You can override this choice by specifying "scsi_mod.scan=sync"
249	  or async on the kernel's command line.
250
251	  Note that this setting also affects whether resuming from
252	  system suspend will be performed asynchronously.
253
254menu "SCSI Transports"
255	depends on SCSI
256
257config SCSI_SPI_ATTRS
258	tristate "Parallel SCSI (SPI) Transport Attributes"
259	depends on SCSI
260	help
261	  If you wish to export transport-specific information about
262	  each attached SCSI device to sysfs, say Y.  Otherwise, say N.
263
264config SCSI_FC_ATTRS
265	tristate "FiberChannel Transport Attributes"
266	depends on SCSI && NET
267	select BLK_DEV_BSGLIB
268	select SCSI_NETLINK
269	help
270	  If you wish to export transport-specific information about
271	  each attached FiberChannel device to sysfs, say Y.
272	  Otherwise, say N.
273
274config SCSI_ISCSI_ATTRS
275	tristate "iSCSI Transport Attributes"
276	depends on SCSI && NET
277	select BLK_DEV_BSGLIB
278	help
279	  If you wish to export transport-specific information about
280	  each attached iSCSI device to sysfs, say Y.
281	  Otherwise, say N.
282
283config SCSI_SAS_ATTRS
284	tristate "SAS Transport Attributes"
285	depends on SCSI
286	select BLK_DEV_BSGLIB
287	help
288	  If you wish to export transport-specific information about
289	  each attached SAS device to sysfs, say Y.
290
291source "drivers/scsi/libsas/Kconfig"
292
293config SCSI_SRP_ATTRS
294	tristate "SRP Transport Attributes"
295	depends on SCSI
296	help
297	  If you wish to export transport-specific information about
298	  each attached SRP device to sysfs, say Y.
299
300endmenu
301
302menuconfig SCSI_LOWLEVEL
303	bool "SCSI low-level drivers"
304	depends on SCSI!=n
305	default y
306
307if SCSI_LOWLEVEL && SCSI
308
309config ISCSI_TCP
310	tristate "iSCSI Initiator over TCP/IP"
311	depends on SCSI && INET
312	select CRYPTO
313	select CRYPTO_MD5
314	select CRYPTO_CRC32C
315	select SCSI_ISCSI_ATTRS
316	help
317	 The iSCSI Driver provides a host with the ability to access storage
318	 through an IP network. The driver uses the iSCSI protocol to transport
319	 SCSI requests and responses over a TCP/IP network between the host
320	 (the "initiator") and "targets".  Architecturally, the iSCSI driver
321	 combines with the host's TCP/IP stack, network drivers, and Network
322	 Interface Card (NIC) to provide the same functions as a SCSI or a
323	 Fibre Channel (FC) adapter driver with a Host Bus Adapter (HBA).
324
325	 To compile this driver as a module, choose M here: the
326	 module will be called iscsi_tcp.
327
328	 The userspace component needed to initialize the driver, documentation,
329	 and sample configuration files can be found here:
330
331	 http://open-iscsi.org
332
333config ISCSI_BOOT_SYSFS
334	tristate "iSCSI Boot Sysfs Interface"
335	default	n
336	help
337	  This option enables support for exposing iSCSI boot information
338	  via sysfs to userspace. If you wish to export this information,
339	  say Y. Otherwise, say N.
340
341source "drivers/scsi/cxgbi/Kconfig"
342source "drivers/scsi/bnx2i/Kconfig"
343source "drivers/scsi/bnx2fc/Kconfig"
344source "drivers/scsi/be2iscsi/Kconfig"
345source "drivers/scsi/cxlflash/Kconfig"
346
347config SGIWD93_SCSI
348	tristate "SGI WD93C93 SCSI Driver"
349	depends on SGI_HAS_WD93 && SCSI
350  	help
351	  If you have a Western Digital WD93 SCSI controller on
352	  an SGI MIPS system, say Y.  Otherwise, say N.
353
354config BLK_DEV_3W_XXXX_RAID
355	tristate "3ware 5/6/7/8xxx ATA-RAID support"
356	depends on PCI && SCSI
357	help
358	  3ware is the only hardware ATA-Raid product in Linux to date.
359	  This card is 2,4, or 8 channel master mode support only.
360	  SCSI support required!!!
361
362	  <http://www.3ware.com/>
363
364	  Please read the comments at the top of
365	  <file:drivers/scsi/3w-xxxx.c>.
366
367config SCSI_HPSA
368	tristate "HP Smart Array SCSI driver"
369	depends on PCI && SCSI
370	select CHECK_SIGNATURE
371	select SCSI_SAS_ATTRS
372	help
373	  This driver supports HP Smart Array Controllers (circa 2009).
374	  It is a SCSI alternative to the cciss driver, which is a block
375	  driver.  Anyone wishing to use HP Smart Array controllers who
376	  would prefer the devices be presented to linux as SCSI devices,
377	  rather than as generic block devices should say Y here.
378
379config SCSI_3W_9XXX
380	tristate "3ware 9xxx SATA-RAID support"
381	depends on PCI && SCSI
382	help
383	  This driver supports the 9000 series 3ware SATA-RAID cards.
384
385	  <http://www.amcc.com>
386
387	  Please read the comments at the top of
388	  <file:drivers/scsi/3w-9xxx.c>.
389
390config SCSI_3W_SAS
391	tristate "3ware 97xx SAS/SATA-RAID support"
392	depends on PCI && SCSI
393	help
394	  This driver supports the LSI 3ware 9750 6Gb/s SAS/SATA-RAID cards.
395
396	  <http://www.lsi.com>
397
398	  Please read the comments at the top of
399	  <file:drivers/scsi/3w-sas.c>.
400
401config SCSI_ACARD
402	tristate "ACARD SCSI support"
403	depends on PCI && SCSI
404	help
405	  This driver supports the ACARD SCSI host adapter.
406	  Support Chip <ATP870 ATP876 ATP880 ATP885>
407	  To compile this driver as a module, choose M here: the
408	  module will be called atp870u.
409
410config SCSI_AHA152X
411	tristate "Adaptec AHA152X/2825 support"
412	depends on ISA && SCSI
413	select SCSI_SPI_ATTRS
414	select CHECK_SIGNATURE
415	---help---
416	  This is a driver for the AHA-1510, AHA-1520, AHA-1522, and AHA-2825
417	  SCSI host adapters. It also works for the AVA-1505, but the IRQ etc.
418	  must be manually specified in this case.
419
420	  It is explained in section 3.3 of the SCSI-HOWTO, available from
421	  <http://www.tldp.org/docs.html#howto>. You might also want to
422	  read the file <file:Documentation/scsi/aha152x.txt>.
423
424	  To compile this driver as a module, choose M here: the
425	  module will be called aha152x.
426
427config SCSI_AHA1542
428	tristate "Adaptec AHA1542 support"
429	depends on ISA && SCSI && ISA_DMA_API
430	---help---
431	  This is support for a SCSI host adapter.  It is explained in section
432	  3.4 of the SCSI-HOWTO, available from
433	  <http://www.tldp.org/docs.html#howto>.  Note that Trantor was
434	  purchased by Adaptec, and some former Trantor products are being
435	  sold under the Adaptec name.  If it doesn't work out of the box, you
436	  may have to change some settings in <file:drivers/scsi/aha1542.h>.
437
438	  To compile this driver as a module, choose M here: the
439	  module will be called aha1542.
440
441config SCSI_AHA1740
442	tristate "Adaptec AHA1740 support"
443	depends on EISA && SCSI
444	---help---
445	  This is support for a SCSI host adapter.  It is explained in section
446	  3.5 of the SCSI-HOWTO, available from
447	  <http://www.tldp.org/docs.html#howto>.  If it doesn't work out
448	  of the box, you may have to change some settings in
449	  <file:drivers/scsi/aha1740.h>.
450
451	  To compile this driver as a module, choose M here: the
452	  module will be called aha1740.
453
454config SCSI_AACRAID
455	tristate "Adaptec AACRAID support"
456	depends on SCSI && PCI
457	help
458	  This driver supports a variety of Dell, HP, Adaptec, IBM and
459	  ICP storage products. For a list of supported products, refer
460	  to <file:Documentation/scsi/aacraid.txt>.
461
462	  To compile this driver as a module, choose M here: the module
463	  will be called aacraid.
464
465
466source "drivers/scsi/aic7xxx/Kconfig.aic7xxx"
467source "drivers/scsi/aic7xxx/Kconfig.aic79xx"
468source "drivers/scsi/aic94xx/Kconfig"
469source "drivers/scsi/hisi_sas/Kconfig"
470source "drivers/scsi/mvsas/Kconfig"
471
472config SCSI_MVUMI
473	tristate "Marvell UMI driver"
474	depends on SCSI && PCI
475	help
476	  Module for Marvell Universal Message Interface(UMI) driver
477
478	  To compile this driver as a module, choose M here: the
479	  module will be called mvumi.
480
481config SCSI_DPT_I2O
482	tristate "Adaptec I2O RAID support "
483	depends on SCSI && PCI && VIRT_TO_BUS
484	help
485	  This driver supports all of Adaptec's I2O based RAID controllers as
486	  well as the DPT SmartRaid V cards.  This is an Adaptec maintained
487	  driver by Deanna Bonds.  See <file:Documentation/scsi/dpti.txt>.
488
489	  To compile this driver as a module, choose M here: the
490	  module will be called dpt_i2o.
491
492config SCSI_ADVANSYS
493	tristate "AdvanSys SCSI support"
494	depends on SCSI
495	depends on ISA || EISA || PCI
496	depends on ISA_DMA_API || !ISA
497	help
498	  This is a driver for all SCSI host adapters manufactured by
499	  AdvanSys. It is documented in the kernel source in
500	  <file:drivers/scsi/advansys.c>.
501
502	  To compile this driver as a module, choose M here: the
503	  module will be called advansys.
504
505config SCSI_ARCMSR
506	tristate "ARECA (ARC11xx/12xx/13xx/16xx) SATA/SAS RAID Host Adapter"
507	depends on PCI && SCSI
508	help
509	  This driver supports all of ARECA's SATA/SAS RAID controller cards.
510	  This is an ARECA-maintained driver by Erich Chen.
511	  If you have any problems, please mail to: <erich@areca.com.tw>.
512	  Areca supports Linux RAID config tools.
513	  Please link <http://www.areca.com.tw>
514
515	  To compile this driver as a module, choose M here: the
516	  module will be called arcmsr (modprobe arcmsr).
517
518source "drivers/scsi/esas2r/Kconfig"
519source "drivers/scsi/megaraid/Kconfig.megaraid"
520source "drivers/scsi/mpt3sas/Kconfig"
521source "drivers/scsi/smartpqi/Kconfig"
522source "drivers/scsi/ufs/Kconfig"
523
524config SCSI_HPTIOP
525	tristate "HighPoint RocketRAID 3xxx/4xxx Controller support"
526	depends on SCSI && PCI
527	help
528	  This option enables support for HighPoint RocketRAID 3xxx/4xxx
529	  controllers.
530
531	  To compile this driver as a module, choose M here; the module
532	  will be called hptiop. If unsure, say N.
533
534config SCSI_BUSLOGIC
535	tristate "BusLogic SCSI support"
536	depends on (PCI || ISA || MCA) && SCSI && ISA_DMA_API && VIRT_TO_BUS
537	---help---
538	  This is support for BusLogic MultiMaster and FlashPoint SCSI Host
539	  Adapters. Consult the SCSI-HOWTO, available from
540	  <http://www.tldp.org/docs.html#howto>, and the files
541	  <file:Documentation/scsi/BusLogic.txt> and
542	  <file:Documentation/scsi/FlashPoint.txt> for more information.
543	  Note that support for FlashPoint is only available for 32-bit
544	  x86 configurations.
545
546	  To compile this driver as a module, choose M here: the
547	  module will be called BusLogic.
548
549config SCSI_FLASHPOINT
550	bool "FlashPoint support"
551	depends on SCSI_BUSLOGIC && PCI
552	help
553	  This option allows you to add FlashPoint support to the
554	  BusLogic SCSI driver. The FlashPoint SCCB Manager code is
555	  substantial, so users of MultiMaster Host Adapters may not
556	  wish to include it.
557
558config VMWARE_PVSCSI
559	tristate "VMware PVSCSI driver support"
560	depends on PCI && SCSI && X86
561	help
562	  This driver supports VMware's para virtualized SCSI HBA.
563	  To compile this driver as a module, choose M here: the
564	  module will be called vmw_pvscsi.
565
566config XEN_SCSI_FRONTEND
567	tristate "XEN SCSI frontend driver"
568	depends on SCSI && XEN
569	select XEN_XENBUS_FRONTEND
570	help
571	  The XEN SCSI frontend driver allows the kernel to access SCSI Devices
572	  within another guest OS (usually Dom0).
573	  Only needed if the kernel is running in a XEN guest and generic
574	  SCSI access to a device is needed.
575
576config HYPERV_STORAGE
577	tristate "Microsoft Hyper-V virtual storage driver"
578	depends on SCSI && HYPERV
579	depends on m || SCSI_FC_ATTRS != m
580	default HYPERV
581	help
582	  Select this option to enable the Hyper-V virtual storage driver.
583
584config LIBFC
585	tristate "LibFC module"
586	depends on SCSI_FC_ATTRS
587	select CRC32
588	---help---
589	  Fibre Channel library module
590
591config LIBFCOE
592	tristate "LibFCoE module"
593	depends on LIBFC
594	---help---
595	  Library for Fibre Channel over Ethernet module
596
597config FCOE
598	tristate "FCoE module"
599	depends on PCI
600	depends on LIBFCOE
601	---help---
602	  Fibre Channel over Ethernet module
603
604config FCOE_FNIC
605	tristate "Cisco FNIC Driver"
606	depends on PCI && X86
607	depends on LIBFCOE
608	help
609	  This is support for the Cisco PCI-Express FCoE HBA.
610
611	  To compile this driver as a module, choose M here and read
612	  <file:Documentation/scsi/scsi.txt>.
613	  The module will be called fnic.
614
615config SCSI_SNIC
616	tristate "Cisco SNIC Driver"
617	depends on PCI && SCSI
618	help
619	  This is support for the Cisco PCI-Express SCSI HBA.
620
621	  To compile this driver as a module, choose M here and read
622	  <file:Documentation/scsi/scsi.txt>.
623	  The module will be called snic.
624
625config SCSI_SNIC_DEBUG_FS
626	bool "Cisco SNIC Driver Debugfs Support"
627	depends on SCSI_SNIC && DEBUG_FS
628	help
629	  This enables to list debugging information from SNIC Driver
630	  available via debugfs file system
631
632config SCSI_DMX3191D
633	tristate "DMX3191D SCSI support"
634	depends on PCI && SCSI
635	select SCSI_SPI_ATTRS
636	help
637	  This is support for Domex DMX3191D SCSI Host Adapters.
638
639	  To compile this driver as a module, choose M here: the
640	  module will be called dmx3191d.
641
642config SCSI_EATA
643	tristate "EATA ISA/EISA/PCI (DPT and generic EATA/DMA-compliant boards) support"
644	depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API
645	---help---
646	  This driver supports all EATA/DMA-compliant SCSI host adapters.  DPT
647	  ISA and all EISA I/O addresses are probed looking for the "EATA"
648	  signature. The addresses of all the PCI SCSI controllers reported
649          by the PCI subsystem are probed as well.
650
651	  You want to read the start of <file:drivers/scsi/eata.c> and the
652	  SCSI-HOWTO, available from
653	  <http://www.tldp.org/docs.html#howto>.
654
655	  To compile this driver as a module, choose M here: the
656	  module will be called eata.
657
658config SCSI_EATA_TAGGED_QUEUE
659	bool "enable tagged command queueing"
660	depends on SCSI_EATA
661	help
662	  This is a feature of SCSI-2 which improves performance: the host
663	  adapter can send several SCSI commands to a device's queue even if
664	  previous commands haven't finished yet.
665	  This is equivalent to the "eata=tc:y" boot option.
666
667config SCSI_EATA_LINKED_COMMANDS
668	bool "enable elevator sorting"
669	depends on SCSI_EATA
670	help
671	  This option enables elevator sorting for all probed SCSI disks and
672	  CD-ROMs. It definitely reduces the average seek distance when doing
673	  random seeks, but this does not necessarily result in a noticeable
674	  performance improvement: your mileage may vary...
675	  This is equivalent to the "eata=lc:y" boot option.
676
677config SCSI_EATA_MAX_TAGS
678	int "maximum number of queued commands"
679	depends on SCSI_EATA
680	default "16"
681	help
682	  This specifies how many SCSI commands can be maximally queued for
683	  each probed SCSI device. You should reduce the default value of 16
684	  only if you have disks with buggy or limited tagged command support.
685	  Minimum is 2 and maximum is 62. This value is also the window size
686	  used by the elevator sorting option above. The effective value used
687	  by the driver for each probed SCSI device is reported at boot time.
688	  This is equivalent to the "eata=mq:8" boot option.
689
690config SCSI_EATA_PIO
691	tristate "EATA-PIO (old DPT PM2001, PM2012A) support"
692	depends on (ISA || EISA || PCI) && SCSI && BROKEN
693	---help---
694	  This driver supports all EATA-PIO protocol compliant SCSI Host
695	  Adapters like the DPT PM2001 and the PM2012A.  EATA-DMA compliant
696	  host adapters could also use this driver but are discouraged from
697	  doing so, since this driver only supports hard disks and lacks
698	  numerous features.  You might want to have a look at the SCSI-HOWTO,
699	  available from <http://www.tldp.org/docs.html#howto>.
700
701	  To compile this driver as a module, choose M here: the
702	  module will be called eata_pio.
703
704config SCSI_FUTURE_DOMAIN
705	tristate "Future Domain 16xx SCSI/AHA-2920A support"
706	depends on (ISA || PCI) && SCSI
707	select CHECK_SIGNATURE
708	---help---
709	  This is support for Future Domain's 16-bit SCSI host adapters
710	  (TMC-1660/1680, TMC-1650/1670, TMC-3260, TMC-1610M/MER/MEX) and
711	  other adapters based on the Future Domain chipsets (Quantum
712	  ISA-200S, ISA-250MG; Adaptec AHA-2920A; and at least one IBM board).
713	  It is explained in section 3.7 of the SCSI-HOWTO, available from
714	  <http://www.tldp.org/docs.html#howto>.
715
716	  NOTE: Newer Adaptec AHA-2920C boards use the Adaptec AIC-7850 chip
717	  and should use the aic7xxx driver ("Adaptec AIC7xxx chipset SCSI
718	  controller support"). This Future Domain driver works with the older
719	  Adaptec AHA-2920A boards with a Future Domain chip on them.
720
721	  To compile this driver as a module, choose M here: the
722	  module will be called fdomain.
723
724config SCSI_GDTH
725	tristate "Intel/ICP (former GDT SCSI Disk Array) RAID Controller support"
726	depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API
727	---help---
728	  Formerly called GDT SCSI Disk Array Controller Support.
729
730	  This is a driver for RAID/SCSI Disk Array Controllers (EISA/ISA/PCI)
731	  manufactured by Intel Corporation/ICP vortex GmbH. It is documented
732	  in the kernel source in <file:drivers/scsi/gdth.c> and
733	  <file:drivers/scsi/gdth.h>.
734
735	  To compile this driver as a module, choose M here: the
736	  module will be called gdth.
737
738config SCSI_ISCI
739	tristate "Intel(R) C600 Series Chipset SAS Controller"
740	depends on PCI && SCSI
741	depends on X86
742	select SCSI_SAS_LIBSAS
743	---help---
744	  This driver supports the 6Gb/s SAS capabilities of the storage
745	  control unit found in the Intel(R) C600 series chipset.
746
747config SCSI_GENERIC_NCR5380
748	tristate "Generic NCR5380/53c400 SCSI ISA card support"
749	depends on ISA && SCSI && HAS_IOPORT_MAP
750	select SCSI_SPI_ATTRS
751	---help---
752	  This is a driver for old ISA card SCSI controllers based on a
753	  NCR 5380, 53C80, 53C400, 53C400A, or DTC 436 device.
754	  Most boards such as the Trantor T130 fit this category, as do
755	  various 8-bit and 16-bit ISA cards bundled with SCSI scanners.
756
757	  To compile this driver as a module, choose M here: the
758	  module will be called g_NCR5380.
759
760config SCSI_IPS
761	tristate "IBM ServeRAID support"
762	depends on PCI && SCSI
763	---help---
764	  This is support for the IBM ServeRAID hardware RAID controllers.
765	  See <http://www.developer.ibm.com/welcome/netfinity/serveraid.html>
766	  and <http://www-947.ibm.com/support/entry/portal/docdisplay?brand=5000008&lndocid=SERV-RAID>
767	  for more information.  If this driver does not work correctly
768	  without modification please contact the author by email at
769	  <ipslinux@adaptec.com>.
770
771	  To compile this driver as a module, choose M here: the
772	  module will be called ips.
773
774config SCSI_IBMVSCSI
775	tristate "IBM Virtual SCSI support"
776	depends on PPC_PSERIES
777	select SCSI_SRP_ATTRS
778	help
779	  This is the IBM POWER Virtual SCSI Client
780
781	  To compile this driver as a module, choose M here: the
782	  module will be called ibmvscsi.
783
784config SCSI_IBMVSCSIS
785	tristate "IBM Virtual SCSI Server support"
786	depends on PPC_PSERIES && TARGET_CORE && SCSI && PCI
787	help
788	  This is the IBM POWER Virtual SCSI Target Server
789	  This driver uses the SRP protocol for communication betwen servers
790	  guest and/or the host that run on the same server.
791	  More information on VSCSI protocol can be found at www.power.org
792
793	  The userspace configuration needed to initialize the driver can be
794	  be found here:
795
796	  https://github.com/powervm/ibmvscsis/wiki/Configuration
797
798	  To compile this driver as a module, choose M here: the
799	  module will be called ibmvscsis.
800
801config SCSI_IBMVFC
802	tristate "IBM Virtual FC support"
803	depends on PPC_PSERIES && SCSI
804	depends on SCSI_FC_ATTRS
805	help
806	  This is the IBM POWER Virtual FC Client
807
808	  To compile this driver as a module, choose M here: the
809	  module will be called ibmvfc.
810
811config SCSI_IBMVFC_TRACE
812	bool "enable driver internal trace"
813	depends on SCSI_IBMVFC
814	default y
815	help
816	  If you say Y here, the driver will trace all commands issued
817	  to the adapter. Performance impact is minimal. Trace can be
818	  dumped using /sys/class/scsi_host/hostXX/trace.
819
820config SCSI_INITIO
821	tristate "Initio 9100U(W) support"
822	depends on PCI && SCSI
823	help
824	  This is support for the Initio 91XXU(W) SCSI host adapter.  Please
825	  read the SCSI-HOWTO, available from
826	  <http://www.tldp.org/docs.html#howto>.
827
828	  To compile this driver as a module, choose M here: the
829	  module will be called initio.
830
831config SCSI_INIA100
832	tristate "Initio INI-A100U2W support"
833	depends on PCI && SCSI
834	help
835	  This is support for the Initio INI-A100U2W SCSI host adapter.
836	  Please read the SCSI-HOWTO, available from
837	  <http://www.tldp.org/docs.html#howto>.
838
839	  To compile this driver as a module, choose M here: the
840	  module will be called a100u2w.
841
842config SCSI_PPA
843	tristate "IOMEGA parallel port (ppa - older drives)"
844	depends on SCSI && PARPORT_PC
845	---help---
846	  This driver supports older versions of IOMEGA's parallel port ZIP
847	  drive (a 100 MB removable media device).
848
849	  Note that you can say N here if you have the SCSI version of the ZIP
850	  drive: it will be supported automatically if you said Y to the
851	  generic "SCSI disk support", above.
852
853	  If you have the ZIP Plus drive or a more recent parallel port ZIP
854	  drive (if the supplied cable with the drive is labeled "AutoDetect")
855	  then you should say N here and Y to "IOMEGA parallel port (imm -
856	  newer drives)", below.
857
858	  For more information about this driver and how to use it you should
859	  read the file <file:Documentation/scsi/ppa.txt>.  You should also read
860	  the SCSI-HOWTO, which is available from
861	  <http://www.tldp.org/docs.html#howto>.  If you use this driver,
862	  you will still be able to use the parallel port for other tasks,
863	  such as a printer; it is safe to compile both drivers into the
864	  kernel.
865
866	  To compile this driver as a module, choose M here: the
867	  module will be called ppa.
868
869config SCSI_IMM
870	tristate "IOMEGA parallel port (imm - newer drives)"
871	depends on SCSI && PARPORT_PC
872	---help---
873	  This driver supports newer versions of IOMEGA's parallel port ZIP
874	  drive (a 100 MB removable media device).
875
876	  Note that you can say N here if you have the SCSI version of the ZIP
877	  drive: it will be supported automatically if you said Y to the
878	  generic "SCSI disk support", above.
879
880	  If you have the ZIP Plus drive or a more recent parallel port ZIP
881	  drive (if the supplied cable with the drive is labeled "AutoDetect")
882	  then you should say Y here; if you have an older ZIP drive, say N
883	  here and Y to "IOMEGA Parallel Port (ppa - older drives)", above.
884
885	  For more information about this driver and how to use it you should
886	  read the file <file:Documentation/scsi/ppa.txt>.  You should also read
887	  the SCSI-HOWTO, which is available from
888	  <http://www.tldp.org/docs.html#howto>.  If you use this driver,
889	  you will still be able to use the parallel port for other tasks,
890	  such as a printer; it is safe to compile both drivers into the
891	  kernel.
892
893	  To compile this driver as a module, choose M here: the
894	  module will be called imm.
895
896config SCSI_IZIP_EPP16
897	bool "ppa/imm option - Use slow (but safe) EPP-16"
898	depends on SCSI_PPA || SCSI_IMM
899	---help---
900	  EPP (Enhanced Parallel Port) is a standard for parallel ports which
901	  allows them to act as expansion buses that can handle up to 64
902	  peripheral devices.
903
904	  Some parallel port chipsets are slower than their motherboard, and
905	  so we have to control the state of the chipset's FIFO queue every
906	  now and then to avoid data loss. This will be done if you say Y
907	  here.
908
909	  Generally, saying Y is the safe option and slows things down a bit.
910
911config SCSI_IZIP_SLOW_CTR
912	bool "ppa/imm option - Assume slow parport control register"
913	depends on SCSI_PPA || SCSI_IMM
914	help
915	  Some parallel ports are known to have excessive delays between
916	  changing the parallel port control register and good data being
917	  available on the parallel port data/status register. This option
918	  forces a small delay (1.0 usec to be exact) after changing the
919	  control register to let things settle out. Enabling this option may
920	  result in a big drop in performance but some very old parallel ports
921	  (found in 386 vintage machines) will not work properly.
922
923	  Generally, saying N is fine.
924
925config SCSI_NCR53C406A
926	tristate "NCR53c406a SCSI support"
927	depends on ISA && SCSI
928	help
929	  This is support for the NCR53c406a SCSI host adapter.  For user
930	  configurable parameters, check out <file:drivers/scsi/NCR53c406a.c>
931	  in the kernel source.  Also read the SCSI-HOWTO, available from
932	  <http://www.tldp.org/docs.html#howto>.
933
934	  To compile this driver as a module, choose M here: the
935	  module will be called NCR53c406.
936
937config SCSI_NCR_D700
938	tristate "NCR Dual 700 MCA SCSI support"
939	depends on MCA && SCSI
940	select SCSI_SPI_ATTRS
941	help
942	  This is a driver for the MicroChannel Dual 700 card produced by
943	  NCR and commonly used in 345x/35xx/4100 class machines.  It always
944	  tries to negotiate sync and uses tag command queueing.
945
946	  Unless you have an NCR manufactured machine, the chances are that
947	  you do not have this SCSI card, so say N.
948
949config SCSI_LASI700
950	tristate "HP Lasi SCSI support for 53c700/710"
951	depends on GSC && SCSI
952	select SCSI_SPI_ATTRS
953	help
954	  This is a driver for the SCSI controller in the Lasi chip found in
955	  many PA-RISC workstations & servers.  If you do not know whether you
956	  have a Lasi chip, it is safe to say "Y" here.
957
958config SCSI_SNI_53C710
959	tristate "SNI RM SCSI support for 53c710"
960	depends on SNI_RM && SCSI
961	select SCSI_SPI_ATTRS
962	select 53C700_LE_ON_BE
963	help
964	  This is a driver for the onboard SCSI controller found in older
965	  SNI RM workstations & servers.
966
967config 53C700_LE_ON_BE
968	bool
969	depends on SCSI_LASI700
970	default y
971
972config SCSI_STEX
973	tristate "Promise SuperTrak EX Series support"
974	depends on PCI && SCSI
975	---help---
976	  This driver supports Promise SuperTrak EX series storage controllers.
977
978	  Promise provides Linux RAID configuration utility for these
979	  controllers. Please visit <http://www.promise.com> to download.
980
981	  To compile this driver as a module, choose M here: the
982	  module will be called stex.
983
984config 53C700_BE_BUS
985	bool
986	depends on SCSI_A4000T || SCSI_ZORRO7XX || MVME16x_SCSI || BVME6000_SCSI
987	default y
988
989config SCSI_SYM53C8XX_2
990	tristate "SYM53C8XX Version 2 SCSI support"
991	depends on PCI && SCSI
992	select SCSI_SPI_ATTRS
993	---help---
994	  This driver supports the whole NCR53C8XX/SYM53C8XX family of
995	  PCI-SCSI controllers.  It also supports the subset of LSI53C10XX
996	  Ultra-160 controllers that are based on the SYM53C8XX SCRIPTS
997	  language.  It does not support LSI53C10XX Ultra-320 PCI-X SCSI
998	  controllers; you need to use the Fusion MPT driver for that.
999
1000	  Please read <file:Documentation/scsi/sym53c8xx_2.txt> for more
1001	  information.
1002
1003config SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
1004	int "DMA addressing mode"
1005	depends on SCSI_SYM53C8XX_2
1006	default "1"
1007	---help---
1008	  This option only applies to PCI-SCSI chips that are PCI DAC
1009	  capable (875A, 895A, 896, 1010-33, 1010-66, 1000).
1010
1011	  When set to 0, the driver will program the chip to only perform
1012	  32-bit DMA.  When set to 1, the chip will be able to perform DMA
1013	  to addresses up to 1TB.  When set to 2, the driver supports the
1014	  full 64-bit DMA address range, but can only address 16 segments
1015	  of 4 GB each.  This limits the total addressable range to 64 GB.
1016
1017	  Most machines with less than 4GB of memory should use a setting
1018	  of 0 for best performance.  If your machine has 4GB of memory
1019	  or more, you should set this option to 1 (the default).
1020
1021	  The still experimental value 2 (64 bit DMA addressing with 16
1022	  x 4GB segments limitation) can be used on systems that require
1023	  PCI address bits past bit 39 to be set for the addressing of
1024	  memory using PCI DAC cycles.
1025
1026config SCSI_SYM53C8XX_DEFAULT_TAGS
1027	int "Default tagged command queue depth"
1028	depends on SCSI_SYM53C8XX_2
1029	default "16"
1030	help
1031	  This is the default value of the command queue depth the
1032	  driver will announce to the generic SCSI layer for devices
1033	  that support tagged command queueing. This value can be changed
1034	  from the boot command line.  This is a soft limit that cannot
1035	  exceed CONFIG_SCSI_SYM53C8XX_MAX_TAGS.
1036
1037config SCSI_SYM53C8XX_MAX_TAGS
1038	int "Maximum number of queued commands"
1039	depends on SCSI_SYM53C8XX_2
1040	default "64"
1041	help
1042	  This option allows you to specify the maximum number of commands
1043	  that can be queued to any device, when tagged command queuing is
1044	  possible. The driver supports up to 256 queued commands per device.
1045	  This value is used as a compiled-in hard limit.
1046
1047config SCSI_SYM53C8XX_MMIO
1048	bool "Use memory mapped IO"
1049	depends on SCSI_SYM53C8XX_2
1050	default y
1051	help
1052	  Memory mapped IO is faster than Port IO.  Most people should
1053	  answer Y here, but some machines may have problems.  If you have
1054	  to answer N here, please report the problem to the maintainer.
1055
1056config SCSI_IPR
1057	tristate "IBM Power Linux RAID adapter support"
1058	depends on PCI && SCSI && ATA
1059	select FW_LOADER
1060	select IRQ_POLL
1061	---help---
1062	  This driver supports the IBM Power Linux family RAID adapters.
1063	  This includes IBM pSeries 5712, 5703, 5709, and 570A, as well
1064	  as IBM iSeries 5702, 5703, 5709, and 570A.
1065
1066config SCSI_IPR_TRACE
1067	bool "enable driver internal trace"
1068	depends on SCSI_IPR
1069	default y
1070	help
1071	  If you say Y here, the driver will trace all commands issued
1072	  to the adapter. Performance impact is minimal. Trace can be
1073	  dumped using /sys/bus/class/scsi_host/hostXX/trace.
1074
1075config SCSI_IPR_DUMP
1076	bool "enable adapter dump support"
1077	depends on SCSI_IPR
1078	default y
1079	help
1080	  If you say Y here, the driver will support adapter crash dump.
1081	  If you enable this support, the iprdump daemon can be used
1082	  to capture adapter failure analysis information.
1083
1084config SCSI_ZALON
1085	tristate "Zalon SCSI support"
1086	depends on GSC && SCSI
1087	select SCSI_SPI_ATTRS
1088	help
1089	  The Zalon is a GSC/HSC bus interface chip that sits between the
1090	  PA-RISC processor and the NCR 53c720 SCSI controller on C100,
1091	  C110, J200, J210 and some D, K & R-class machines.  It's also
1092	  used on the add-in Bluefish, Barracuda & Shrike SCSI cards.
1093	  Say Y here if you have one of these machines or cards.
1094
1095config SCSI_NCR_Q720
1096	tristate "NCR Quad 720 MCA SCSI support"
1097	depends on MCA && SCSI
1098	select SCSI_SPI_ATTRS
1099	help
1100	  This is a driver for the MicroChannel Quad 720 card produced by
1101	  NCR and commonly used in 345x/35xx/4100 class machines.  It always
1102	  tries to negotiate sync and uses tag command queueing.
1103
1104	  Unless you have an NCR manufactured machine, the chances are that
1105	  you do not have this SCSI card, so say N.
1106
1107config SCSI_NCR53C8XX_DEFAULT_TAGS
1108	int "default tagged command queue depth"
1109	depends on SCSI_ZALON || SCSI_NCR_Q720
1110	default "8"
1111	---help---
1112	  "Tagged command queuing" is a feature of SCSI-2 which improves
1113	  performance: the host adapter can send several SCSI commands to a
1114	  device's queue even if previous commands haven't finished yet.
1115	  Because the device is intelligent, it can optimize its operations
1116	  (like head positioning) based on its own request queue. Some SCSI
1117	  devices don't implement this properly; if you want to disable this
1118	  feature, enter 0 or 1 here (it doesn't matter which).
1119
1120	  The default value is 8 and should be supported by most hard disks.
1121	  This value can be overridden from the boot command line using the
1122	  'tags' option as follows (example):
1123	  'ncr53c8xx=tags:4/t2t3q16/t0u2q10' will set default queue depth to
1124	  4, set queue depth to 16 for target 2 and target 3 on controller 0
1125	  and set queue depth to 10 for target 0 / lun 2 on controller 1.
1126
1127	  The normal answer therefore is to go with the default 8 and to use
1128	  a boot command line option for devices that need to use a different
1129	  command queue depth.
1130
1131	  There is no safe option other than using good SCSI devices.
1132
1133config SCSI_NCR53C8XX_MAX_TAGS
1134	int "maximum number of queued commands"
1135	depends on SCSI_ZALON || SCSI_NCR_Q720
1136	default "32"
1137	---help---
1138	  This option allows you to specify the maximum number of commands
1139	  that can be queued to any device, when tagged command queuing is
1140	  possible. The default value is 32. Minimum is 2, maximum is 64.
1141	  Modern hard disks are able to support 64 tags and even more, but
1142	  do not seem to be faster when more than 32 tags are being used.
1143
1144	  So, the normal answer here is to go with the default value 32 unless
1145	  you are using very large hard disks with large cache (>= 1 MB) that
1146	  are able to take advantage of more than 32 tagged commands.
1147
1148	  There is no safe option and the default answer is recommended.
1149
1150config SCSI_NCR53C8XX_SYNC
1151	int "synchronous transfers frequency in MHz"
1152	depends on SCSI_ZALON || SCSI_NCR_Q720
1153	default "20"
1154	---help---
1155	  The SCSI Parallel Interface-2 Standard defines 5 classes of transfer
1156	  rates: FAST-5, FAST-10, FAST-20, FAST-40 and FAST-80.  The numbers
1157	  are respectively the maximum data transfer rates in mega-transfers
1158	  per second for each class.  For example, a FAST-20 Wide 16 device is
1159	  able to transfer data at 20 million 16 bit packets per second for a
1160	  total rate of 40 MB/s.
1161
1162	  You may specify 0 if you want to only use asynchronous data
1163	  transfers. This is the safest and slowest option. Otherwise, specify
1164	  a value between 5 and 80, depending on the capability of your SCSI
1165	  controller.  The higher the number, the faster the data transfer.
1166	  Note that 80 should normally be ok since the driver decreases the
1167	  value automatically according to the controller's capabilities.
1168
1169	  Your answer to this question is ignored for controllers with NVRAM,
1170	  since the driver will get this information from the user set-up.  It
1171	  also can be overridden using a boot setup option, as follows
1172	  (example): 'ncr53c8xx=sync:12' will allow the driver to negotiate
1173	  for FAST-20 synchronous data transfer (20 mega-transfers per
1174	  second).
1175
1176	  The normal answer therefore is not to go with the default but to
1177	  select the maximum value 80 allowing the driver to use the maximum
1178	  value supported by each controller. If this causes problems with
1179	  your SCSI devices, you should come back and decrease the value.
1180
1181	  There is no safe option other than using good cabling, right
1182	  terminations and SCSI conformant devices.
1183
1184config SCSI_NCR53C8XX_NO_DISCONNECT
1185	bool "not allow targets to disconnect"
1186	depends on (SCSI_ZALON || SCSI_NCR_Q720) && SCSI_NCR53C8XX_DEFAULT_TAGS=0
1187	help
1188	  This option is only provided for safety if you suspect some SCSI
1189	  device of yours to not support properly the target-disconnect
1190	  feature. In that case, you would say Y here. In general however, to
1191	  not allow targets to disconnect is not reasonable if there is more
1192	  than 1 device on a SCSI bus. The normal answer therefore is N.
1193
1194config SCSI_QLOGIC_FAS
1195	tristate "Qlogic FAS SCSI support"
1196	depends on ISA && SCSI
1197	---help---
1198	  This is a driver for the ISA, VLB, and PCMCIA versions of the Qlogic
1199	  FastSCSI! cards as well as any other card based on the FASXX chip
1200	  (including the Control Concepts SCSI/IDE/SIO/PIO/FDC cards).
1201
1202	  This driver does NOT support the PCI versions of these cards. The
1203	  PCI versions are supported by the Qlogic ISP driver ("Qlogic ISP
1204	  SCSI support"), below.
1205
1206	  Information about this driver is contained in
1207	  <file:Documentation/scsi/qlogicfas.txt>.  You should also read the
1208	  SCSI-HOWTO, available from
1209	  <http://www.tldp.org/docs.html#howto>.
1210
1211	  To compile this driver as a module, choose M here: the
1212	  module will be called qlogicfas.
1213
1214config SCSI_QLOGIC_1280
1215	tristate "Qlogic QLA 1240/1x80/1x160 SCSI support"
1216	depends on PCI && SCSI
1217	help
1218	  Say Y if you have a QLogic ISP1240/1x80/1x160 SCSI host adapter.
1219
1220	  To compile this driver as a module, choose M here: the
1221	  module will be called qla1280.
1222
1223config SCSI_QLOGICPTI
1224	tristate "PTI Qlogic, ISP Driver"
1225	depends on SBUS && SCSI
1226	help
1227	  This driver supports SBUS SCSI controllers from PTI or QLogic. These
1228	  controllers are known under Solaris as qpti and in the openprom as
1229	  PTI,ptisp or QLGC,isp. Note that PCI QLogic SCSI controllers are
1230	  driven by a different driver.
1231
1232	  To compile this driver as a module, choose M here: the
1233	  module will be called qlogicpti.
1234
1235source "drivers/scsi/qla2xxx/Kconfig"
1236source "drivers/scsi/qla4xxx/Kconfig"
1237source "drivers/scsi/qedi/Kconfig"
1238source "drivers/scsi/qedf/Kconfig"
1239
1240config SCSI_LPFC
1241	tristate "Emulex LightPulse Fibre Channel Support"
1242	depends on PCI && SCSI
1243	depends on SCSI_FC_ATTRS
1244	depends on NVME_TARGET_FC || NVME_TARGET_FC=n
1245	depends on NVME_FC || NVME_FC=n
1246	select CRC_T10DIF
1247	---help---
1248          This lpfc driver supports the Emulex LightPulse
1249          Family of Fibre Channel PCI host adapters.
1250
1251config SCSI_LPFC_DEBUG_FS
1252	bool "Emulex LightPulse Fibre Channel debugfs Support"
1253	depends on SCSI_LPFC && DEBUG_FS
1254	---help---
1255	  This makes debugging information from the lpfc driver
1256	  available via the debugfs filesystem.
1257
1258config SCSI_SIM710
1259	tristate "Simple 53c710 SCSI support (Compaq, NCR machines)"
1260	depends on (EISA || MCA) && SCSI
1261	select SCSI_SPI_ATTRS
1262	---help---
1263	  This driver is for NCR53c710 based SCSI host adapters.
1264
1265	  It currently supports Compaq EISA cards and NCR MCA cards
1266
1267config SCSI_SYM53C416
1268	tristate "Symbios 53c416 SCSI support"
1269	depends on ISA && SCSI
1270	---help---
1271	  This is support for the sym53c416 SCSI host adapter, the SCSI
1272	  adapter that comes with some HP scanners. This driver requires that
1273	  the sym53c416 is configured first using some sort of PnP
1274	  configuration program (e.g. isapnp) or by a PnP aware BIOS. If you
1275	  are using isapnp then you need to compile this driver as a module
1276	  and then load it using insmod after isapnp has run. The parameters
1277	  of the configured card(s) should be passed to the driver. The format
1278	  is:
1279
1280	  insmod sym53c416 sym53c416=<base>,<irq> [sym53c416_1=<base>,<irq>]
1281
1282	  To compile this driver as a module, choose M here: the
1283	  module will be called sym53c416.
1284
1285config SCSI_DC395x
1286	tristate "Tekram DC395(U/UW/F) and DC315(U) SCSI support"
1287	depends on PCI && SCSI
1288	---help---
1289	  This driver supports PCI SCSI host adapters based on the ASIC
1290	  TRM-S1040 chip, e.g Tekram DC395(U/UW/F) and DC315(U) variants.
1291
1292	  This driver works, but is still in experimental status. So better
1293	  have a bootable disk and a backup in case of emergency.
1294
1295	  Documentation can be found in <file:Documentation/scsi/dc395x.txt>.
1296
1297	  To compile this driver as a module, choose M here: the
1298	  module will be called dc395x.
1299
1300config SCSI_AM53C974
1301	tristate "Tekram DC390(T) and Am53/79C974 SCSI support (new driver)"
1302	depends on PCI && SCSI
1303	select SCSI_SPI_ATTRS
1304	---help---
1305	  This driver supports PCI SCSI host adapters based on the Am53C974A
1306	  chip, e.g. Tekram DC390(T), DawiControl 2974 and some onboard
1307	  PCscsi/PCnet (Am53/79C974) solutions.
1308	  This is a new implementation base on the generic esp_scsi driver.
1309
1310	  Documentation can be found in <file:Documentation/scsi/tmscsim.txt>.
1311
1312	  Note that this driver does NOT support Tekram DC390W/U/F, which are
1313	  based on NCR/Symbios chips. Use "NCR53C8XX SCSI support" for those.
1314
1315	  To compile this driver as a module, choose M here: the
1316	  module will be called am53c974.
1317
1318config SCSI_NSP32
1319	tristate "Workbit NinjaSCSI-32Bi/UDE support"
1320	depends on PCI && SCSI && !64BIT
1321	help
1322	  This is support for the Workbit NinjaSCSI-32Bi/UDE PCI/Cardbus
1323	  SCSI host adapter. Please read the SCSI-HOWTO, available from
1324	  <http://www.tldp.org/docs.html#howto>.
1325
1326	  To compile this driver as a module, choose M here: the
1327	  module will be called nsp32.
1328
1329config SCSI_WD719X
1330	tristate "Western Digital WD7193/7197/7296 support"
1331	depends on PCI && SCSI
1332	select EEPROM_93CX6
1333	---help---
1334	  This is a driver for Western Digital WD7193, WD7197 and WD7296 PCI
1335	  SCSI controllers (based on WD33C296A chip).
1336
1337config SCSI_DEBUG
1338	tristate "SCSI debugging host and device simulator"
1339	depends on SCSI
1340	select CRC_T10DIF
1341	help
1342	  This pseudo driver simulates one or more hosts (SCSI initiators),
1343	  each with one or more targets, each with one or more logical units.
1344	  Defaults to one of each, creating a small RAM disk device. Many
1345	  parameters found in the /sys/bus/pseudo/drivers/scsi_debug
1346	  directory can be tweaked at run time.
1347	  See <http://sg.danny.cz/sg/sdebug26.html> for more information.
1348	  Mainly used for testing and best as a module. If unsure, say N.
1349
1350config SCSI_MESH
1351	tristate "MESH (Power Mac internal SCSI) support"
1352	depends on PPC32 && PPC_PMAC && SCSI
1353	help
1354	  Many Power Macintoshes and clones have a MESH (Macintosh Enhanced
1355	  SCSI Hardware) SCSI bus adaptor (the 7200 doesn't, but all of the
1356	  other Power Macintoshes do). Say Y to include support for this SCSI
1357	  adaptor.
1358
1359	  To compile this driver as a module, choose M here: the
1360	  module will be called mesh.
1361
1362config SCSI_MESH_SYNC_RATE
1363	int "maximum synchronous transfer rate (MB/s) (0 = async)"
1364	depends on SCSI_MESH
1365	default "5"
1366	help
1367	  On Power Macintoshes (and clones) where the MESH SCSI bus adaptor
1368	  drives a bus which is entirely internal to the machine (such as the
1369	  7500, 7600, 8500, etc.), the MESH is capable of synchronous
1370	  operation at up to 10 MB/s. On machines where the SCSI bus
1371	  controlled by the MESH can have external devices connected, it is
1372	  usually rated at 5 MB/s. 5 is a safe value here unless you know the
1373	  MESH SCSI bus is internal only; in that case you can say 10. Say 0
1374	  to disable synchronous operation.
1375
1376config SCSI_MESH_RESET_DELAY_MS
1377	int "initial bus reset delay (ms) (0 = no reset)"
1378	depends on SCSI_MESH
1379	default "4000"
1380
1381config SCSI_MAC53C94
1382	tristate "53C94 (Power Mac external SCSI) support"
1383	depends on PPC32 && PPC_PMAC && SCSI
1384	help
1385	  On Power Macintoshes (and clones) with two SCSI buses, the external
1386	  SCSI bus is usually controlled by a 53C94 SCSI bus adaptor. Older
1387	  machines which only have one SCSI bus, such as the 7200, also use
1388	  the 53C94. Say Y to include support for the 53C94.
1389
1390	  To compile this driver as a module, choose M here: the
1391	  module will be called mac53c94.
1392
1393source "drivers/scsi/arm/Kconfig"
1394
1395config JAZZ_ESP
1396	bool "MIPS JAZZ FAS216 SCSI support"
1397	depends on MACH_JAZZ && SCSI
1398	select SCSI_SPI_ATTRS
1399	help
1400	  This is the driver for the onboard SCSI host adapter of MIPS Magnum
1401	  4000, Acer PICA, Olivetti M700-10 and a few other identical OEM
1402	  systems.
1403
1404config A3000_SCSI
1405	tristate "A3000 WD33C93A support"
1406	depends on AMIGA && SCSI
1407	help
1408	  If you have an Amiga 3000 and have SCSI devices connected to the
1409	  built-in SCSI controller, say Y. Otherwise, say N.
1410
1411	  To compile this driver as a module, choose M here: the
1412	  module will be called a3000.
1413
1414config A2091_SCSI
1415	tristate "A2091/A590 WD33C93A support"
1416	depends on ZORRO && SCSI
1417	help
1418	  If you have a Commodore A2091 SCSI controller, say Y. Otherwise,
1419	  say N.
1420
1421	  To compile this driver as a module, choose M here: the
1422	  module will be called a2091.
1423
1424config GVP11_SCSI
1425	tristate "GVP Series II WD33C93A support"
1426	depends on ZORRO && SCSI
1427	---help---
1428	  If you have a Great Valley Products Series II SCSI controller,
1429	  answer Y. Also say Y if you have a later model of GVP SCSI
1430	  controller (such as the GVP A4008 or a Combo board). Otherwise,
1431	  answer N. This driver does NOT work for the T-Rex series of
1432	  accelerators from TekMagic and GVP-M.
1433
1434	  To compile this driver as a module, choose M here: the
1435	  module will be called gvp11.
1436
1437config SCSI_A4000T
1438	tristate "A4000T NCR53c710 SCSI support"
1439	depends on AMIGA && SCSI
1440	select SCSI_SPI_ATTRS
1441	help
1442	  If you have an Amiga 4000T and have SCSI devices connected to the
1443	  built-in SCSI controller, say Y. Otherwise, say N.
1444
1445	  To compile this driver as a module, choose M here: the
1446	  module will be called a4000t.
1447
1448config SCSI_ZORRO7XX
1449	tristate "Zorro NCR53c710 SCSI support"
1450	depends on ZORRO && SCSI
1451	select SCSI_SPI_ATTRS
1452	help
1453	  Support for various NCR53c710-based SCSI controllers on Zorro
1454	  expansion boards for the Amiga.
1455	  This includes:
1456	    - the Amiga 4091 Zorro III SCSI-2 controller,
1457	    - the MacroSystem Development's WarpEngine Amiga SCSI-2 controller
1458	      (info at
1459	      <http://www.lysator.liu.se/amiga/ar/guide/ar310.guide?FEATURE5>),
1460	    - the SCSI controller on the Phase5 Blizzard PowerUP 603e+
1461	      accelerator card for the Amiga 1200,
1462	    - the SCSI controller on the GVP Turbo 040/060 accelerator.
1463
1464config ATARI_SCSI
1465	tristate "Atari native SCSI support"
1466	depends on ATARI && SCSI
1467	select SCSI_SPI_ATTRS
1468	select NVRAM
1469	---help---
1470	  If you have an Atari with built-in NCR5380 SCSI controller (TT,
1471	  Falcon, ...) say Y to get it supported. Of course also, if you have
1472	  a compatible SCSI controller (e.g. for Medusa).
1473
1474	  To compile this driver as a module, choose M here: the
1475	  module will be called atari_scsi.
1476
1477	  This driver supports both styles of NCR integration into the
1478	  system: the TT style (separate DMA), and the Falcon style (via
1479	  ST-DMA, replacing ACSI).  It does NOT support other schemes, like
1480	  in the Hades (without DMA).
1481
1482config MAC_SCSI
1483	tristate "Macintosh NCR5380 SCSI"
1484	depends on MAC && SCSI
1485	select SCSI_SPI_ATTRS
1486	help
1487	  This is the NCR 5380 SCSI controller included on most of the 68030
1488	  based Macintoshes.  If you have one of these say Y and read the
1489	  SCSI-HOWTO, available from
1490	  <http://www.tldp.org/docs.html#howto>.
1491
1492config SCSI_MAC_ESP
1493	tristate "Macintosh NCR53c9[46] SCSI"
1494	depends on MAC && SCSI
1495	select SCSI_SPI_ATTRS
1496	help
1497	  This is the NCR 53c9x SCSI controller found on most of the 68040
1498	  based Macintoshes.
1499
1500	  To compile this driver as a module, choose M here: the module
1501	  will be called mac_esp.
1502
1503config MVME147_SCSI
1504	bool "WD33C93 SCSI driver for MVME147"
1505	depends on MVME147 && SCSI=y
1506	select SCSI_SPI_ATTRS
1507	help
1508	  Support for the on-board SCSI controller on the Motorola MVME147
1509	  single-board computer.
1510
1511config MVME16x_SCSI
1512	tristate "NCR53C710 SCSI driver for MVME16x"
1513	depends on MVME16x && SCSI
1514	select SCSI_SPI_ATTRS
1515	help
1516	  The Motorola MVME162, 166, 167, 172 and 177 boards use the NCR53C710
1517	  SCSI controller chip.  Almost everyone using one of these boards
1518	  will want to say Y to this question.
1519
1520config BVME6000_SCSI
1521	tristate "NCR53C710 SCSI driver for BVME6000"
1522	depends on BVME6000 && SCSI
1523	select SCSI_SPI_ATTRS
1524	help
1525	  The BVME4000 and BVME6000 boards from BVM Ltd use the NCR53C710
1526	  SCSI controller chip.  Almost everyone using one of these boards
1527	  will want to say Y to this question.
1528
1529config SUN3_SCSI
1530	tristate "Sun3 NCR5380 SCSI"
1531	depends on SUN3 && SCSI
1532	select SCSI_SPI_ATTRS
1533	help
1534	  This option will enable support for the OBIO (onboard io) NCR5380
1535	  SCSI controller found in the Sun 3/50 and 3/60, as well as for
1536	  "Sun3" type VME scsi controllers also based on the NCR5380.
1537	  General Linux information on the Sun 3 series (now discontinued)
1538	  is at <http://www.angelfire.com/ca2/tech68k/sun3.html>.
1539
1540config SUN3X_ESP
1541	bool "Sun3x ESP SCSI"
1542	depends on SUN3X && SCSI=y
1543	select SCSI_SPI_ATTRS
1544	help
1545	  The ESP was an on-board SCSI controller used on Sun 3/80
1546	  machines.  Say Y here to compile in support for it.
1547
1548config SCSI_SUNESP
1549	tristate "Sparc ESP Scsi Driver"
1550	depends on SBUS && SCSI
1551	select SCSI_SPI_ATTRS
1552	help
1553	  This is the driver for the Sun ESP SCSI host adapter. The ESP
1554	  chipset is present in most SPARC SBUS-based computers and
1555	  supports the Emulex family of ESP SCSI chips (esp100, esp100A,
1556	  esp236, fas101, fas236) as well as the Qlogic fas366 SCSI chip.
1557
1558	  To compile this driver as a module, choose M here: the
1559	  module will be called sun_esp.
1560
1561config ZFCP
1562	tristate "FCP host bus adapter driver for IBM eServer zSeries"
1563	depends on S390 && QDIO && SCSI
1564	depends on SCSI_FC_ATTRS
1565	help
1566          If you want to access SCSI devices attached to your IBM eServer
1567          zSeries by means of Fibre Channel interfaces say Y.
1568          For details please refer to the documentation provided by IBM at
1569          <http://oss.software.ibm.com/developerworks/opensource/linux390>
1570
1571          This driver is also available as a module. This module will be
1572          called zfcp. If you want to compile it as a module, say M here
1573          and read <file:Documentation/kbuild/modules.txt>.
1574
1575config SCSI_PMCRAID
1576	tristate "PMC SIERRA Linux MaxRAID adapter support"
1577	depends on PCI && SCSI && NET
1578	---help---
1579	  This driver supports the PMC SIERRA MaxRAID adapters.
1580
1581config SCSI_PM8001
1582	tristate "PMC-Sierra SPC 8001 SAS/SATA Based Host Adapter driver"
1583	depends on PCI && SCSI
1584	select SCSI_SAS_LIBSAS
1585	help
1586	  This driver supports PMC-Sierra PCIE SAS/SATA 8x6G SPC 8001 chip
1587	  based host adapters.
1588
1589config SCSI_BFA_FC
1590	tristate "Brocade BFA Fibre Channel Support"
1591	depends on PCI && SCSI
1592	depends on SCSI_FC_ATTRS
1593	help
1594	  This bfa driver supports all Brocade PCIe FC/FCOE host adapters.
1595
1596	  To compile this driver as a module, choose M here. The module will
1597	  be called bfa.
1598
1599config SCSI_VIRTIO
1600	tristate "virtio-scsi support"
1601	depends on VIRTIO
1602	help
1603          This is the virtual HBA driver for virtio.  If the kernel will
1604          be used in a virtual machine, say Y or M.
1605
1606source "drivers/scsi/csiostor/Kconfig"
1607
1608endif # SCSI_LOWLEVEL
1609
1610source "drivers/scsi/pcmcia/Kconfig"
1611
1612source "drivers/scsi/device_handler/Kconfig"
1613
1614source "drivers/scsi/osd/Kconfig"
1615
1616endmenu
1617