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