0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # AIC7XXX and AIC79XX 2.5.X Kernel configuration File.
0004 # $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Kconfig.aic7xxx#7 $
0005 #
0006 config SCSI_AIC7XXX
0007 tristate "Adaptec AIC7xxx Fast -> U160 support"
0008 depends on (PCI || EISA) && SCSI
0009 select SCSI_SPI_ATTRS
0010 help
0011 This driver supports all of Adaptec's Fast through Ultra 160 PCI
0012 based SCSI controllers as well as the aic7770 based EISA and VLB
0013 SCSI controllers (the 274x and 284x series). For AAA and ARO based
0014 configurations, only SCSI functionality is provided.
0015
0016 To compile this driver as a module, choose M here: the
0017 module will be called aic7xxx.
0018
0019 config AIC7XXX_CMDS_PER_DEVICE
0020 int "Maximum number of TCQ commands per device"
0021 depends on SCSI_AIC7XXX
0022 default "32"
0023 help
0024 Specify the number of commands you would like to allocate per SCSI
0025 device when Tagged Command Queueing (TCQ) is enabled on that device.
0026
0027 This is an upper bound value for the number of tagged transactions
0028 to be used for any device. The aic7xxx driver will automatically
0029 vary this number based on device behavior. For devices with a
0030 fixed maximum, the driver will eventually lock to this maximum
0031 and display a console message indicating this value.
0032
0033 Due to resource allocation issues in the Linux SCSI mid-layer, using
0034 a high number of commands per device may result in memory allocation
0035 failures when many devices are attached to the system. For this reason,
0036 the default is set to 32. Higher values may result in higher performance
0037 on some devices. The upper bound is 253. 0 disables tagged queueing.
0038
0039 Per device tag depth can be controlled via the kernel command line
0040 "tag_info" option. See Documentation/scsi/aic7xxx.rst for details.
0041
0042 config AIC7XXX_RESET_DELAY_MS
0043 int "Initial bus reset delay in milli-seconds"
0044 depends on SCSI_AIC7XXX
0045 default "5000"
0046 help
0047 The number of milliseconds to delay after an initial bus reset.
0048 The bus settle delay following all error recovery actions is
0049 dictated by the SCSI layer and is not affected by this value.
0050
0051 Default: 5000 (5 seconds)
0052
0053 config AIC7XXX_BUILD_FIRMWARE
0054 bool "Build Adapter Firmware with Kernel Build"
0055 depends on SCSI_AIC7XXX && !PREVENT_FIRMWARE_BUILD
0056 help
0057 This option should only be enabled if you are modifying the firmware
0058 source to the aic7xxx driver and wish to have the generated firmware
0059 include files updated during a normal kernel build. The assembler
0060 for the firmware requires lex and yacc or their equivalents, as well
0061 as the db v1 library. You may have to install additional packages
0062 or modify the assembler Makefile or the files it includes if your
0063 build environment is different than that of the author.
0064
0065 config AIC7XXX_DEBUG_ENABLE
0066 bool "Compile in Debugging Code"
0067 depends on SCSI_AIC7XXX
0068 default y
0069 help
0070 Compile in aic7xxx debugging code that can be useful in diagnosing
0071 driver errors.
0072
0073 config AIC7XXX_DEBUG_MASK
0074 int "Debug code enable mask (2047 for all debugging)"
0075 depends on SCSI_AIC7XXX
0076 default "0"
0077 help
0078 Bit mask of debug options that is only valid if the
0079 CONFIG_AIC7XXX_DEBUG_ENABLE option is enabled. The bits in this mask
0080 are defined in the drivers/scsi/aic7xxx/aic7xxx.h - search for the
0081 variable ahc_debug in that file to find them.
0082
0083 config AIC7XXX_REG_PRETTY_PRINT
0084 bool "Decode registers during diagnostics"
0085 depends on SCSI_AIC7XXX
0086 default y
0087 help
0088 Compile in register value tables for the output of expanded register
0089 contents in diagnostics. This make it much easier to understand debug
0090 output without having to refer to a data book and/or the aic7xxx.reg
0091 file.