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