scsi: Remove Scsi_Host.uspace_req_q
[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
cd069bb9
AB
1233 depends on NVME_TARGET_FC || NVME_TARGET_FC=n
1234 depends on NVME_FC || NVME_FC=n
6a7252fd 1235 select CRC_T10DIF
166d7211 1236 ---help---
dea3101e 1237 This lpfc driver supports the Emulex LightPulse
1238 Family of Fibre Channel PCI host adapters.
1239
923e4b6a
JS
1240config SCSI_LPFC_DEBUG_FS
1241 bool "Emulex LightPulse Fibre Channel debugfs Support"
1242 depends on SCSI_LPFC && DEBUG_FS
166d7211 1243 ---help---
692105b8 1244 This makes debugging information from the lpfc driver
923e4b6a
JS
1245 available via the debugfs filesystem.
1246
1da177e4
LT
1247config SCSI_SIM710
1248 tristate "Simple 53c710 SCSI support (Compaq, NCR machines)"
1249 depends on (EISA || MCA) && SCSI
1250 select SCSI_SPI_ATTRS
1251 ---help---
692105b8 1252 This driver is for NCR53c710 based SCSI host adapters.
1da177e4
LT
1253
1254 It currently supports Compaq EISA cards and NCR MCA cards
1255
1da177e4
LT
1256config SCSI_SYM53C416
1257 tristate "Symbios 53c416 SCSI support"
1258 depends on ISA && SCSI
1259 ---help---
1260 This is support for the sym53c416 SCSI host adapter, the SCSI
1261 adapter that comes with some HP scanners. This driver requires that
1262 the sym53c416 is configured first using some sort of PnP
1263 configuration program (e.g. isapnp) or by a PnP aware BIOS. If you
1264 are using isapnp then you need to compile this driver as a module
1265 and then load it using insmod after isapnp has run. The parameters
1266 of the configured card(s) should be passed to the driver. The format
1267 is:
1268
1269 insmod sym53c416 sym53c416=<base>,<irq> [sym53c416_1=<base>,<irq>]
1270
1271 To compile this driver as a module, choose M here: the
1272 module will be called sym53c416.
1273
1274config SCSI_DC395x
92f6ed4a
KC
1275 tristate "Tekram DC395(U/UW/F) and DC315(U) SCSI support"
1276 depends on PCI && SCSI
1da177e4
LT
1277 ---help---
1278 This driver supports PCI SCSI host adapters based on the ASIC
1279 TRM-S1040 chip, e.g Tekram DC395(U/UW/F) and DC315(U) variants.
1280
1281 This driver works, but is still in experimental status. So better
1282 have a bootable disk and a backup in case of emergency.
1283
1284 Documentation can be found in <file:Documentation/scsi/dc395x.txt>.
1285
1286 To compile this driver as a module, choose M here: the
1287 module will be called dc395x.
1288
3a7e7be2
HR
1289config SCSI_AM53C974
1290 tristate "Tekram DC390(T) and Am53/79C974 SCSI support (new driver)"
1291 depends on PCI && SCSI
1292 select SCSI_SPI_ATTRS
1293 ---help---
1294 This driver supports PCI SCSI host adapters based on the Am53C974A
1295 chip, e.g. Tekram DC390(T), DawiControl 2974 and some onboard
1296 PCscsi/PCnet (Am53/79C974) solutions.
1297 This is a new implementation base on the generic esp_scsi driver.
1298
1299 Documentation can be found in <file:Documentation/scsi/tmscsim.txt>.
1300
1301 Note that this driver does NOT support Tekram DC390W/U/F, which are
1302 based on NCR/Symbios chips. Use "NCR53C8XX SCSI support" for those.
1303
1304 To compile this driver as a module, choose M here: the
1305 module will be called am53c974.
1306
1da177e4
LT
1307config SCSI_NSP32
1308 tristate "Workbit NinjaSCSI-32Bi/UDE support"
1309 depends on PCI && SCSI && !64BIT
1310 help
1311 This is support for the Workbit NinjaSCSI-32Bi/UDE PCI/Cardbus
1312 SCSI host adapter. Please read the SCSI-HOWTO, available from
1313 <http://www.tldp.org/docs.html#howto>.
1314
1315 To compile this driver as a module, choose M here: the
1316 module will be called nsp32.
1317
48a31030
OZ
1318config SCSI_WD719X
1319 tristate "Western Digital WD7193/7197/7296 support"
1320 depends on PCI && SCSI
1321 select EEPROM_93CX6
1322 ---help---
1323 This is a driver for Western Digital WD7193, WD7197 and WD7296 PCI
1324 SCSI controllers (based on WD33C296A chip).
1325
1da177e4 1326config SCSI_DEBUG
6d6f3807 1327 tristate "SCSI debugging host and device simulator"
1da177e4 1328 depends on SCSI
d0ace3c5 1329 select CRC_T10DIF
1da177e4 1330 help
6d6f3807
DG
1331 This pseudo driver simulates one or more hosts (SCSI initiators),
1332 each with one or more targets, each with one or more logical units.
1333 Defaults to one of each, creating a small RAM disk device. Many
1334 parameters found in the /sys/bus/pseudo/drivers/scsi_debug
1335 directory can be tweaked at run time.
1336 See <http://sg.danny.cz/sg/sdebug26.html> for more information.
1337 Mainly used for testing and best as a module. If unsure, say N.
1da177e4
LT
1338
1339config SCSI_MESH
1340 tristate "MESH (Power Mac internal SCSI) support"
1341 depends on PPC32 && PPC_PMAC && SCSI
1342 help
1343 Many Power Macintoshes and clones have a MESH (Macintosh Enhanced
1344 SCSI Hardware) SCSI bus adaptor (the 7200 doesn't, but all of the
1345 other Power Macintoshes do). Say Y to include support for this SCSI
1346 adaptor.
1347
1348 To compile this driver as a module, choose M here: the
1349 module will be called mesh.
1350
1351config SCSI_MESH_SYNC_RATE
1352 int "maximum synchronous transfer rate (MB/s) (0 = async)"
1353 depends on SCSI_MESH
1354 default "5"
1355 help
1356 On Power Macintoshes (and clones) where the MESH SCSI bus adaptor
1357 drives a bus which is entirely internal to the machine (such as the
1358 7500, 7600, 8500, etc.), the MESH is capable of synchronous
1359 operation at up to 10 MB/s. On machines where the SCSI bus
1360 controlled by the MESH can have external devices connected, it is
1361 usually rated at 5 MB/s. 5 is a safe value here unless you know the
1362 MESH SCSI bus is internal only; in that case you can say 10. Say 0
1363 to disable synchronous operation.
1364
1365config SCSI_MESH_RESET_DELAY_MS
1366 int "initial bus reset delay (ms) (0 = no reset)"
1367 depends on SCSI_MESH
1368 default "4000"
1369
1370config SCSI_MAC53C94
1371 tristate "53C94 (Power Mac external SCSI) support"
1372 depends on PPC32 && PPC_PMAC && SCSI
1373 help
1374 On Power Macintoshes (and clones) with two SCSI buses, the external
1375 SCSI bus is usually controlled by a 53C94 SCSI bus adaptor. Older
1376 machines which only have one SCSI bus, such as the 7200, also use
1377 the 53C94. Say Y to include support for the 53C94.
1378
1379 To compile this driver as a module, choose M here: the
1380 module will be called mac53c94.
1381
1382source "drivers/scsi/arm/Kconfig"
1383
1384config JAZZ_ESP
1385 bool "MIPS JAZZ FAS216 SCSI support"
1386 depends on MACH_JAZZ && SCSI
3a243070 1387 select SCSI_SPI_ATTRS
1da177e4
LT
1388 help
1389 This is the driver for the onboard SCSI host adapter of MIPS Magnum
1390 4000, Acer PICA, Olivetti M700-10 and a few other identical OEM
1391 systems.
1392
1393config A3000_SCSI
1394 tristate "A3000 WD33C93A support"
1395 depends on AMIGA && SCSI
1396 help
1397 If you have an Amiga 3000 and have SCSI devices connected to the
1398 built-in SCSI controller, say Y. Otherwise, say N.
1399
1400 To compile this driver as a module, choose M here: the
90638f99 1401 module will be called a3000.
1da177e4
LT
1402
1403config A2091_SCSI
1404 tristate "A2091/A590 WD33C93A support"
1405 depends on ZORRO && SCSI
1406 help
1407 If you have a Commodore A2091 SCSI controller, say Y. Otherwise,
1408 say N.
1409
1410 To compile this driver as a module, choose M here: the
90638f99 1411 module will be called a2091.
1da177e4
LT
1412
1413config GVP11_SCSI
1414 tristate "GVP Series II WD33C93A support"
1415 depends on ZORRO && SCSI
1416 ---help---
1417 If you have a Great Valley Products Series II SCSI controller,
1418 answer Y. Also say Y if you have a later model of GVP SCSI
1419 controller (such as the GVP A4008 or a Combo board). Otherwise,
1420 answer N. This driver does NOT work for the T-Rex series of
1421 accelerators from TekMagic and GVP-M.
1422
1423 To compile this driver as a module, choose M here: the
1424 module will be called gvp11.
1425
a16efc1c 1426config SCSI_A4000T
92f6ed4a
KC
1427 tristate "A4000T NCR53c710 SCSI support"
1428 depends on AMIGA && SCSI
a16efc1c 1429 select SCSI_SPI_ATTRS
1da177e4 1430 help
a16efc1c
KJ
1431 If you have an Amiga 4000T and have SCSI devices connected to the
1432 built-in SCSI controller, say Y. Otherwise, say N.
1433
1434 To compile this driver as a module, choose M here: the
1435 module will be called a4000t.
1436
45804fbb 1437config SCSI_ZORRO7XX
92f6ed4a
KC
1438 tristate "Zorro NCR53c710 SCSI support"
1439 depends on ZORRO && SCSI
45804fbb 1440 select SCSI_SPI_ATTRS
1da177e4 1441 help
45804fbb
KJ
1442 Support for various NCR53c710-based SCSI controllers on Zorro
1443 expansion boards for the Amiga.
1da177e4 1444 This includes:
1da177e4
LT
1445 - the Amiga 4091 Zorro III SCSI-2 controller,
1446 - the MacroSystem Development's WarpEngine Amiga SCSI-2 controller
1447 (info at
1448 <http://www.lysator.liu.se/amiga/ar/guide/ar310.guide?FEATURE5>),
1449 - the SCSI controller on the Phase5 Blizzard PowerUP 603e+
1450 accelerator card for the Amiga 1200,
1451 - the SCSI controller on the GVP Turbo 040/060 accelerator.
1da177e4 1452
1da177e4
LT
1453config ATARI_SCSI
1454 tristate "Atari native SCSI support"
fb810d12 1455 depends on ATARI && SCSI
410ca5c7 1456 select SCSI_SPI_ATTRS
fff11c0c 1457 select NVRAM
1da177e4
LT
1458 ---help---
1459 If you have an Atari with built-in NCR5380 SCSI controller (TT,
1460 Falcon, ...) say Y to get it supported. Of course also, if you have
1461 a compatible SCSI controller (e.g. for Medusa).
1462
1463 To compile this driver as a module, choose M here: the
1464 module will be called atari_scsi.
1465
1466 This driver supports both styles of NCR integration into the
1467 system: the TT style (separate DMA), and the Falcon style (via
1468 ST-DMA, replacing ACSI). It does NOT support other schemes, like
1469 in the Hades (without DMA).
1470
1da177e4 1471config MAC_SCSI
6e9ae6d5 1472 tristate "Macintosh NCR5380 SCSI"
2559a1ef 1473 depends on MAC && SCSI
410ca5c7 1474 select SCSI_SPI_ATTRS
1da177e4
LT
1475 help
1476 This is the NCR 5380 SCSI controller included on most of the 68030
1477 based Macintoshes. If you have one of these say Y and read the
1478 SCSI-HOWTO, available from
1479 <http://www.tldp.org/docs.html#howto>.
1480
6fe07aaf
FT
1481config SCSI_MAC_ESP
1482 tristate "Macintosh NCR53c9[46] SCSI"
1483 depends on MAC && SCSI
48fc8de9 1484 select SCSI_SPI_ATTRS
6fe07aaf
FT
1485 help
1486 This is the NCR 53c9x SCSI controller found on most of the 68040
1487 based Macintoshes.
1488
1489 To compile this driver as a module, choose M here: the module
1490 will be called mac_esp.
1491
1da177e4
LT
1492config MVME147_SCSI
1493 bool "WD33C93 SCSI driver for MVME147"
fa53bb65 1494 depends on MVME147 && SCSI=y
410ca5c7 1495 select SCSI_SPI_ATTRS
1da177e4
LT
1496 help
1497 Support for the on-board SCSI controller on the Motorola MVME147
1498 single-board computer.
1499
1500config MVME16x_SCSI
506c7bbc
KJ
1501 tristate "NCR53C710 SCSI driver for MVME16x"
1502 depends on MVME16x && SCSI
410ca5c7 1503 select SCSI_SPI_ATTRS
1da177e4
LT
1504 help
1505 The Motorola MVME162, 166, 167, 172 and 177 boards use the NCR53C710
1506 SCSI controller chip. Almost everyone using one of these boards
1507 will want to say Y to this question.
1508
1509config BVME6000_SCSI
8276b58a
KJ
1510 tristate "NCR53C710 SCSI driver for BVME6000"
1511 depends on BVME6000 && SCSI
410ca5c7 1512 select SCSI_SPI_ATTRS
1da177e4
LT
1513 help
1514 The BVME4000 and BVME6000 boards from BVM Ltd use the NCR53C710
1515 SCSI controller chip. Almost everyone using one of these boards
1516 will want to say Y to this question.
1517
1da177e4
LT
1518config SUN3_SCSI
1519 tristate "Sun3 NCR5380 SCSI"
c39e7eee 1520 depends on SUN3 && SCSI
410ca5c7 1521 select SCSI_SPI_ATTRS
1da177e4
LT
1522 help
1523 This option will enable support for the OBIO (onboard io) NCR5380
1524 SCSI controller found in the Sun 3/50 and 3/60, as well as for
1525 "Sun3" type VME scsi controllers also based on the NCR5380.
1526 General Linux information on the Sun 3 series (now discontinued)
1527 is at <http://www.angelfire.com/ca2/tech68k/sun3.html>.
1528
1529config SUN3X_ESP
1530 bool "Sun3x ESP SCSI"
fa53bb65 1531 depends on SUN3X && SCSI=y
0bb67f18 1532 select SCSI_SPI_ATTRS
1da177e4
LT
1533 help
1534 The ESP was an on-board SCSI controller used on Sun 3/80
1535 machines. Say Y here to compile in support for it.
1536
1537config SCSI_SUNESP
1538 tristate "Sparc ESP Scsi Driver"
1539 depends on SBUS && SCSI
3a243070 1540 select SCSI_SPI_ATTRS
1da177e4
LT
1541 help
1542 This is the driver for the Sun ESP SCSI host adapter. The ESP
dbfe54a9
FP
1543 chipset is present in most SPARC SBUS-based computers and
1544 supports the Emulex family of ESP SCSI chips (esp100, esp100A,
1545 esp236, fas101, fas236) as well as the Qlogic fas366 SCSI chip.
1da177e4
LT
1546
1547 To compile this driver as a module, choose M here: the
dbfe54a9 1548 module will be called sun_esp.
1da177e4 1549
1da177e4
LT
1550config ZFCP
1551 tristate "FCP host bus adapter driver for IBM eServer zSeries"
347a8dc3 1552 depends on S390 && QDIO && SCSI
6a38792c 1553 depends on SCSI_FC_ATTRS
1da177e4
LT
1554 help
1555 If you want to access SCSI devices attached to your IBM eServer
1556 zSeries by means of Fibre Channel interfaces say Y.
1557 For details please refer to the documentation provided by IBM at
1558 <http://oss.software.ibm.com/developerworks/opensource/linux390>
1559
1560 This driver is also available as a module. This module will be
1561 called zfcp. If you want to compile it as a module, say M here
39f5fb30 1562 and read <file:Documentation/kbuild/modules.txt>.
1da177e4 1563
89a36810
AR
1564config SCSI_PMCRAID
1565 tristate "PMC SIERRA Linux MaxRAID adapter support"
b2045240 1566 depends on PCI && SCSI && NET
89a36810
AR
1567 ---help---
1568 This driver supports the PMC SIERRA MaxRAID adapters.
1569
dbf9bfe6 1570config SCSI_PM8001
1571 tristate "PMC-Sierra SPC 8001 SAS/SATA Based Host Adapter driver"
1572 depends on PCI && SCSI
1573 select SCSI_SAS_LIBSAS
1574 help
1575 This driver supports PMC-Sierra PCIE SAS/SATA 8x6G SPC 8001 chip
1576 based host adapters.
1577
7725ccfd
JH
1578config SCSI_BFA_FC
1579 tristate "Brocade BFA Fibre Channel Support"
1580 depends on PCI && SCSI
6a38792c 1581 depends on SCSI_FC_ATTRS
7725ccfd
JH
1582 help
1583 This bfa driver supports all Brocade PCIe FC/FCOE host adapters.
1584
1585 To compile this driver as a module, choose M here. The module will
1586 be called bfa.
1587
4fe74b1c 1588config SCSI_VIRTIO
92f6ed4a
KC
1589 tristate "virtio-scsi support"
1590 depends on VIRTIO
4fe74b1c
PB
1591 help
1592 This is the virtual HBA driver for virtio. If the kernel will
1593 be used in a virtual machine, say Y or M.
1594
a3667aae 1595source "drivers/scsi/csiostor/Kconfig"
4fe74b1c 1596
fc6e740d 1597endif # SCSI_LOWLEVEL
1da177e4
LT
1598
1599source "drivers/scsi/pcmcia/Kconfig"
1600
a6a8d9f8
CS
1601source "drivers/scsi/device_handler/Kconfig"
1602
68274794
BH
1603source "drivers/scsi/osd/Kconfig"
1604
1da177e4 1605endmenu