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