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