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