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