162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# AIC7XXX and AIC79XX 2.5.X Kernel configuration File. 462306a36Sopenharmony_ci# $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Kconfig.aic7xxx#7 $ 562306a36Sopenharmony_ci# 662306a36Sopenharmony_ciconfig SCSI_AIC7XXX 762306a36Sopenharmony_ci tristate "Adaptec AIC7xxx Fast -> U160 support" 862306a36Sopenharmony_ci depends on (PCI || EISA) && HAS_IOPORT && SCSI 962306a36Sopenharmony_ci select SCSI_SPI_ATTRS 1062306a36Sopenharmony_ci help 1162306a36Sopenharmony_ci This driver supports all of Adaptec's Fast through Ultra 160 PCI 1262306a36Sopenharmony_ci based SCSI controllers as well as the aic7770 based EISA and VLB 1362306a36Sopenharmony_ci SCSI controllers (the 274x and 284x series). For AAA and ARO based 1462306a36Sopenharmony_ci configurations, only SCSI functionality is provided. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the 1762306a36Sopenharmony_ci module will be called aic7xxx. 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ciconfig AIC7XXX_CMDS_PER_DEVICE 2062306a36Sopenharmony_ci int "Maximum number of TCQ commands per device" 2162306a36Sopenharmony_ci depends on SCSI_AIC7XXX 2262306a36Sopenharmony_ci default "32" 2362306a36Sopenharmony_ci help 2462306a36Sopenharmony_ci Specify the number of commands you would like to allocate per SCSI 2562306a36Sopenharmony_ci device when Tagged Command Queueing (TCQ) is enabled on that device. 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci This is an upper bound value for the number of tagged transactions 2862306a36Sopenharmony_ci to be used for any device. The aic7xxx driver will automatically 2962306a36Sopenharmony_ci vary this number based on device behavior. For devices with a 3062306a36Sopenharmony_ci fixed maximum, the driver will eventually lock to this maximum 3162306a36Sopenharmony_ci and display a console message indicating this value. 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci Due to resource allocation issues in the Linux SCSI mid-layer, using 3462306a36Sopenharmony_ci a high number of commands per device may result in memory allocation 3562306a36Sopenharmony_ci failures when many devices are attached to the system. For this reason, 3662306a36Sopenharmony_ci the default is set to 32. Higher values may result in higher performance 3762306a36Sopenharmony_ci on some devices. The upper bound is 253. 0 disables tagged queueing. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci Per device tag depth can be controlled via the kernel command line 4062306a36Sopenharmony_ci "tag_info" option. See Documentation/scsi/aic7xxx.rst for details. 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ciconfig AIC7XXX_RESET_DELAY_MS 4362306a36Sopenharmony_ci int "Initial bus reset delay in milli-seconds" 4462306a36Sopenharmony_ci depends on SCSI_AIC7XXX 4562306a36Sopenharmony_ci default "5000" 4662306a36Sopenharmony_ci help 4762306a36Sopenharmony_ci The number of milliseconds to delay after an initial bus reset. 4862306a36Sopenharmony_ci The bus settle delay following all error recovery actions is 4962306a36Sopenharmony_ci dictated by the SCSI layer and is not affected by this value. 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci Default: 5000 (5 seconds) 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciconfig AIC7XXX_BUILD_FIRMWARE 5462306a36Sopenharmony_ci bool "Build Adapter Firmware with Kernel Build" 5562306a36Sopenharmony_ci depends on SCSI_AIC7XXX && !PREVENT_FIRMWARE_BUILD 5662306a36Sopenharmony_ci help 5762306a36Sopenharmony_ci This option should only be enabled if you are modifying the firmware 5862306a36Sopenharmony_ci source to the aic7xxx driver and wish to have the generated firmware 5962306a36Sopenharmony_ci include files updated during a normal kernel build. The assembler 6062306a36Sopenharmony_ci for the firmware requires lex and yacc or their equivalents, as well 6162306a36Sopenharmony_ci as the db v1 library. You may have to install additional packages 6262306a36Sopenharmony_ci or modify the assembler Makefile or the files it includes if your 6362306a36Sopenharmony_ci build environment is different than that of the author. 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ciconfig AIC7XXX_DEBUG_ENABLE 6662306a36Sopenharmony_ci bool "Compile in Debugging Code" 6762306a36Sopenharmony_ci depends on SCSI_AIC7XXX 6862306a36Sopenharmony_ci default y 6962306a36Sopenharmony_ci help 7062306a36Sopenharmony_ci Compile in aic7xxx debugging code that can be useful in diagnosing 7162306a36Sopenharmony_ci driver errors. 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ciconfig AIC7XXX_DEBUG_MASK 7462306a36Sopenharmony_ci int "Debug code enable mask (2047 for all debugging)" 7562306a36Sopenharmony_ci depends on SCSI_AIC7XXX 7662306a36Sopenharmony_ci default "0" 7762306a36Sopenharmony_ci help 7862306a36Sopenharmony_ci Bit mask of debug options that is only valid if the 7962306a36Sopenharmony_ci CONFIG_AIC7XXX_DEBUG_ENABLE option is enabled. The bits in this mask 8062306a36Sopenharmony_ci are defined in the drivers/scsi/aic7xxx/aic7xxx.h - search for the 8162306a36Sopenharmony_ci variable ahc_debug in that file to find them. 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ciconfig AIC7XXX_REG_PRETTY_PRINT 8462306a36Sopenharmony_ci bool "Decode registers during diagnostics" 8562306a36Sopenharmony_ci depends on SCSI_AIC7XXX 8662306a36Sopenharmony_ci default y 8762306a36Sopenharmony_ci help 8862306a36Sopenharmony_ci Compile in register value tables for the output of expanded register 8962306a36Sopenharmony_ci contents in diagnostics. This make it much easier to understand debug 9062306a36Sopenharmony_ci output without having to refer to a data book and/or the aic7xxx.reg 9162306a36Sopenharmony_ci file. 92