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