^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) # AIC7XXX and AIC79XX 2.5.X Kernel configuration File.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) # $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Kconfig.aic7xxx#7 $
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) config SCSI_AIC7XXX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) tristate "Adaptec AIC7xxx Fast -> U160 support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) depends on (PCI || EISA) && SCSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) select SCSI_SPI_ATTRS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) This driver supports all of Adaptec's Fast through Ultra 160 PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) based SCSI controllers as well as the aic7770 based EISA and VLB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) SCSI controllers (the 274x and 284x series). For AAA and ARO based
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) configurations, only SCSI functionality is provided.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) To compile this driver as a module, choose M here: the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) module will be called aic7xxx.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) config AIC7XXX_CMDS_PER_DEVICE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) int "Maximum number of TCQ commands per device"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) depends on SCSI_AIC7XXX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) default "32"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) Specify the number of commands you would like to allocate per SCSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) device when Tagged Command Queueing (TCQ) is enabled on that device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) This is an upper bound value for the number of tagged transactions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) to be used for any device. The aic7xxx driver will automatically
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) vary this number based on device behavior. For devices with a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) fixed maximum, the driver will eventually lock to this maximum
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) and display a console message indicating this value.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) Due to resource allocation issues in the Linux SCSI mid-layer, using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) a high number of commands per device may result in memory allocation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) failures when many devices are attached to the system. For this reason,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) the default is set to 32. Higher values may result in higher performance
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) on some devices. The upper bound is 253. 0 disables tagged queueing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) Per device tag depth can be controlled via the kernel command line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) "tag_info" option. See Documentation/scsi/aic7xxx.rst for details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) config AIC7XXX_RESET_DELAY_MS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) int "Initial bus reset delay in milli-seconds"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) depends on SCSI_AIC7XXX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) default "5000"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) The number of milliseconds to delay after an initial bus reset.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) The bus settle delay following all error recovery actions is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) dictated by the SCSI layer and is not affected by this value.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) Default: 5000 (5 seconds)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) config AIC7XXX_BUILD_FIRMWARE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) bool "Build Adapter Firmware with Kernel Build"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) depends on SCSI_AIC7XXX && !PREVENT_FIRMWARE_BUILD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) This option should only be enabled if you are modifying the firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) source to the aic7xxx driver and wish to have the generated firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) include files updated during a normal kernel build. The assembler
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) for the firmware requires lex and yacc or their equivalents, as well
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) as the db v1 library. You may have to install additional packages
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) or modify the assembler Makefile or the files it includes if your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) build environment is different than that of the author.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) config AIC7XXX_DEBUG_ENABLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) bool "Compile in Debugging Code"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) depends on SCSI_AIC7XXX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) Compile in aic7xxx debugging code that can be useful in diagnosing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) driver errors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) config AIC7XXX_DEBUG_MASK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) int "Debug code enable mask (2047 for all debugging)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) depends on SCSI_AIC7XXX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) default "0"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) Bit mask of debug options that is only valid if the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) CONFIG_AIC7XXX_DEBUG_ENABLE option is enabled. The bits in this mask
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) are defined in the drivers/scsi/aic7xxx/aic7xxx.h - search for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) variable ahc_debug in that file to find them.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) config AIC7XXX_REG_PRETTY_PRINT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) bool "Decode registers during diagnostics"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) depends on SCSI_AIC7XXX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) Compile in register value tables for the output of expanded register
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) contents in diagnostics. This make it much easier to understand debug
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) output without having to refer to a data book and/or the aic7xxx.reg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) file.