11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# AIC7XXX and AIC79XX 2.5.X Kernel configuration File.
31da177e4SLinus Torvalds# $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Kconfig.aic7xxx#7 $
41da177e4SLinus Torvalds#
51da177e4SLinus Torvaldsconfig SCSI_AIC7XXX
61da177e4SLinus Torvalds	tristate "Adaptec AIC7xxx Fast -> U160 support (New Driver)"
71da177e4SLinus Torvalds	depends on (PCI || EISA) && SCSI
81da177e4SLinus Torvalds	---help---
91da177e4SLinus Torvalds	This driver supports all of Adaptec's Fast through Ultra 160 PCI
101da177e4SLinus Torvalds	based SCSI controllers as well as the aic7770 based EISA and VLB
111da177e4SLinus Torvalds	SCSI controllers (the 274x and 284x series).  For AAA and ARO based
121da177e4SLinus Torvalds	configurations, only SCSI functionality is provided.
131da177e4SLinus Torvalds
141da177e4SLinus Torvalds	To compile this driver as a module, choose M here: the
151da177e4SLinus Torvalds	module will be called aic7xxx.
161da177e4SLinus Torvalds
171da177e4SLinus Torvaldsconfig AIC7XXX_CMDS_PER_DEVICE
181da177e4SLinus Torvalds	int "Maximum number of TCQ commands per device"
191da177e4SLinus Torvalds	depends on SCSI_AIC7XXX
201da177e4SLinus Torvalds	default "32"
211da177e4SLinus Torvalds	---help---
221da177e4SLinus Torvalds	Specify the number of commands you would like to allocate per SCSI
231da177e4SLinus Torvalds	device when Tagged Command Queueing (TCQ) is enabled on that device.
241da177e4SLinus Torvalds
251da177e4SLinus Torvalds	This is an upper bound value for the number of tagged transactions
261da177e4SLinus Torvalds	to be used for any device.  The aic7xxx driver will automatically
271da177e4SLinus Torvalds	vary this number based on device behavior.  For devices with a
281da177e4SLinus Torvalds	fixed maximum, the driver will eventually lock to this maximum
291da177e4SLinus Torvalds	and display a console message inidicating this value.
301da177e4SLinus Torvalds
311da177e4SLinus Torvalds	Due to resource allocation issues in the Linux SCSI mid-layer, using
321da177e4SLinus Torvalds	a high number of commands per device may result in memory allocation
331da177e4SLinus Torvalds	failures when many devices are attached to the system.  For this reason,
341da177e4SLinus Torvalds	the default is set to 32.  Higher values may result in higer performance
351da177e4SLinus Torvalds	on some devices.  The upper bound is 253.  0 disables tagged queueing.
361da177e4SLinus Torvalds
371da177e4SLinus Torvalds	Per device tag depth can be controlled via the kernel command line
381da177e4SLinus Torvalds	"tag_info" option.  See drivers/scsi/aic7xxx/README.aic7xxx
391da177e4SLinus Torvalds	for details.
401da177e4SLinus Torvalds
411da177e4SLinus Torvaldsconfig AIC7XXX_RESET_DELAY_MS
421da177e4SLinus Torvalds	int "Initial bus reset delay in milli-seconds"
431da177e4SLinus Torvalds	depends on SCSI_AIC7XXX
441da177e4SLinus Torvalds	default "15000"
451da177e4SLinus Torvalds	---help---
461da177e4SLinus Torvalds	The number of milliseconds to delay after an initial bus reset.
471da177e4SLinus Torvalds	The bus settle delay following all error recovery actions is
481da177e4SLinus Torvalds	dictated by the SCSI layer and is not affected by this value.
491da177e4SLinus Torvalds
501da177e4SLinus Torvalds	Default: 15000 (15 seconds)
511da177e4SLinus Torvalds
521da177e4SLinus Torvaldsconfig AIC7XXX_PROBE_EISA_VL
531da177e4SLinus Torvalds	bool "Probe for EISA and VL AIC7XXX Adapters"
541da177e4SLinus Torvalds	depends on SCSI_AIC7XXX && EISA
551da177e4SLinus Torvalds	help
561da177e4SLinus Torvalds	Probe for EISA and VLB Aic7xxx controllers.  In many newer systems,
571da177e4SLinus Torvalds	the invasive probes necessary to detect these controllers can cause
581da177e4SLinus Torvalds	other devices to fail.  For this reason, the non-PCI probe code is
591da177e4SLinus Torvalds	disabled by default.  The current value of this option can be "toggled"
601da177e4SLinus Torvalds	via the no_probe kernel command line option.
611da177e4SLinus Torvalds
621da177e4SLinus Torvaldsconfig AIC7XXX_BUILD_FIRMWARE
631da177e4SLinus Torvalds	bool "Build Adapter Firmware with Kernel Build"
641da177e4SLinus Torvalds	depends on SCSI_AIC7XXX && !PREVENT_FIRMWARE_BUILD
651da177e4SLinus Torvalds	help
661da177e4SLinus Torvalds	This option should only be enabled if you are modifying the firmware
671da177e4SLinus Torvalds	source to the aic7xxx driver and wish to have the generated firmware
681da177e4SLinus Torvalds	include files updated during a normal kernel build.  The assembler
691da177e4SLinus Torvalds	for the firmware requires lex and yacc or their equivalents, as well
701da177e4SLinus Torvalds	as the db v1 library.  You may have to install additional packages
711da177e4SLinus Torvalds	or modify the assembler Makefile or the files it includes if your
721da177e4SLinus Torvalds	build environment is different than that of the author.
731da177e4SLinus Torvalds
741da177e4SLinus Torvaldsconfig AIC7XXX_DEBUG_ENABLE
751da177e4SLinus Torvalds	bool "Compile in Debugging Code"
761da177e4SLinus Torvalds	depends on SCSI_AIC7XXX
771da177e4SLinus Torvalds	default y
781da177e4SLinus Torvalds	help
791da177e4SLinus Torvalds	Compile in aic7xxx debugging code that can be useful in diagnosing
801da177e4SLinus Torvalds	driver errors.
811da177e4SLinus Torvalds
821da177e4SLinus Torvaldsconfig AIC7XXX_DEBUG_MASK
831da177e4SLinus Torvalds        int "Debug code enable mask (2047 for all debugging)"
841da177e4SLinus Torvalds        depends on SCSI_AIC7XXX
851da177e4SLinus Torvalds        default "0"
861da177e4SLinus Torvalds        help
871da177e4SLinus Torvalds	Bit mask of debug options that is only valid if the
881da177e4SLinus Torvalds	CONFIG_AIC7XXX_DEBUG_ENBLE option is enabled.  The bits in this mask
891da177e4SLinus Torvalds	are defined in the drivers/scsi/aic7xxx/aic7xxx.h - search for the
901da177e4SLinus Torvalds	variable ahc_debug in that file to find them.
911da177e4SLinus Torvalds
921da177e4SLinus Torvaldsconfig AIC7XXX_REG_PRETTY_PRINT
931da177e4SLinus Torvalds        bool "Decode registers during diagnostics"
941da177e4SLinus Torvalds        depends on SCSI_AIC7XXX
951da177e4SLinus Torvalds	default y
961da177e4SLinus Torvalds        help
971da177e4SLinus Torvalds	Compile in register value tables for the output of expanded register
981da177e4SLinus Torvalds	contents in diagnostics.  This make it much easier to understand debug
991da177e4SLinus Torvalds	output without having to refer to a data book and/or the aic7xxx.reg
1001da177e4SLinus Torvalds	file.
101