11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# AIC79XX 2.5.X Kernel configuration File.
31da177e4SLinus Torvalds# $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Kconfig.aic79xx#4 $
41da177e4SLinus Torvalds#
51da177e4SLinus Torvaldsconfig SCSI_AIC79XX
61da177e4SLinus Torvalds	tristate "Adaptec AIC79xx U320 support"
71da177e4SLinus Torvalds	depends on PCI && SCSI
8a2ae85dfSakpm@osdl.org	select SCSI_SPI_ATTRS
91da177e4SLinus Torvalds	help
101da177e4SLinus Torvalds	This driver supports all of Adaptec's Ultra 320 PCI-X
111da177e4SLinus Torvalds	based SCSI controllers.
121da177e4SLinus Torvalds
131da177e4SLinus Torvaldsconfig AIC79XX_CMDS_PER_DEVICE
141da177e4SLinus Torvalds	int "Maximum number of TCQ commands per device"
151da177e4SLinus Torvalds	depends on SCSI_AIC79XX
161da177e4SLinus Torvalds	default "32"
171da177e4SLinus Torvalds	---help---
181da177e4SLinus Torvalds	Specify the number of commands you would like to allocate per SCSI
191da177e4SLinus Torvalds	device when Tagged Command Queueing (TCQ) is enabled on that device.
201da177e4SLinus Torvalds
211da177e4SLinus Torvalds	This is an upper bound value for the number of tagged transactions
221da177e4SLinus Torvalds	to be used for any device.  The aic7xxx driver will automatically
231da177e4SLinus Torvalds	vary this number based on device behavior.  For devices with a
241da177e4SLinus Torvalds	fixed maximum, the driver will eventually lock to this maximum
251da177e4SLinus Torvalds	and display a console message inidicating this value.
261da177e4SLinus Torvalds
271da177e4SLinus Torvalds	Due to resource allocation issues in the Linux SCSI mid-layer, using
281da177e4SLinus Torvalds	a high number of commands per device may result in memory allocation
291da177e4SLinus Torvalds	failures when many devices are attached to the system.  For this reason,
301da177e4SLinus Torvalds	the default is set to 32.  Higher values may result in higer performance
311da177e4SLinus Torvalds	on some devices.  The upper bound is 253.  0 disables tagged queueing.
321da177e4SLinus Torvalds
331da177e4SLinus Torvalds	Per device tag depth can be controlled via the kernel command line
341da177e4SLinus Torvalds	"tag_info" option.  See drivers/scsi/aic7xxx/README.aic79xx
351da177e4SLinus Torvalds	for details.
361da177e4SLinus Torvalds
371da177e4SLinus Torvaldsconfig AIC79XX_RESET_DELAY_MS
381da177e4SLinus Torvalds	int "Initial bus reset delay in milli-seconds"
391da177e4SLinus Torvalds	depends on SCSI_AIC79XX
401da177e4SLinus Torvalds	default "15000"
411da177e4SLinus Torvalds	---help---
421da177e4SLinus Torvalds	The number of milliseconds to delay after an initial bus reset.
431da177e4SLinus Torvalds	The bus settle delay following all error recovery actions is
441da177e4SLinus Torvalds	dictated by the SCSI layer and is not affected by this value.
451da177e4SLinus Torvalds
461da177e4SLinus Torvalds	Default: 15000 (15 seconds)
471da177e4SLinus Torvalds
481da177e4SLinus Torvaldsconfig AIC79XX_BUILD_FIRMWARE
491da177e4SLinus Torvalds	bool "Build Adapter Firmware with Kernel Build"
501da177e4SLinus Torvalds	depends on SCSI_AIC79XX && !PREVENT_FIRMWARE_BUILD
511da177e4SLinus Torvalds	help
521da177e4SLinus Torvalds	This option should only be enabled if you are modifying the firmware
531da177e4SLinus Torvalds	source to the aic79xx driver and wish to have the generated firmware
541da177e4SLinus Torvalds	include files updated during a normal kernel build.  The assembler
551da177e4SLinus Torvalds	for the firmware requires lex and yacc or their equivalents, as well
561da177e4SLinus Torvalds	as the db v1 library.  You may have to install additional packages
571da177e4SLinus Torvalds	or modify the assembler Makefile or the files it includes if your
581da177e4SLinus Torvalds	build environment is different than that of the author.
591da177e4SLinus Torvalds
601da177e4SLinus Torvaldsconfig AIC79XX_ENABLE_RD_STRM
611da177e4SLinus Torvalds	bool "Enable Read Streaming for All Targets"
621da177e4SLinus Torvalds	depends on SCSI_AIC79XX
631da177e4SLinus Torvalds	default n
641da177e4SLinus Torvalds	help
651da177e4SLinus Torvalds	Read Streaming is a U320 protocol option that should enhance
661da177e4SLinus Torvalds	performance.  Early U320 drive firmware actually performs slower
671da177e4SLinus Torvalds	with read streaming enabled so it is disabled by default.  Read
681da177e4SLinus Torvalds	Streaming can be configured in much the same way as tagged queueing
691da177e4SLinus Torvalds	using the "rd_strm" command line option.  See
701da177e4SLinus Torvalds	drivers/scsi/aic7xxx/README.aic79xx for details.
711da177e4SLinus Torvalds
721da177e4SLinus Torvaldsconfig AIC79XX_DEBUG_ENABLE
731da177e4SLinus Torvalds	bool "Compile in Debugging Code"
741da177e4SLinus Torvalds	depends on SCSI_AIC79XX
751da177e4SLinus Torvalds	default y
761da177e4SLinus Torvalds	help
771da177e4SLinus Torvalds	Compile in aic79xx debugging code that can be useful in diagnosing
781da177e4SLinus Torvalds	driver errors.
791da177e4SLinus Torvalds
801da177e4SLinus Torvaldsconfig AIC79XX_DEBUG_MASK
811da177e4SLinus Torvalds	int "Debug code enable mask (16383 for all debugging)"
821da177e4SLinus Torvalds	depends on SCSI_AIC79XX
831da177e4SLinus Torvalds	default "0"
841da177e4SLinus Torvalds	help
851da177e4SLinus Torvalds	Bit mask of debug options that is only valid if the
861da177e4SLinus Torvalds	CONFIG_AIC79XX_DEBUG_ENBLE option is enabled.  The bits in this mask
871da177e4SLinus Torvalds	are defined in the drivers/scsi/aic7xxx/aic79xx.h - search for the
881da177e4SLinus Torvalds	variable ahd_debug in that file to find them.
891da177e4SLinus Torvalds
901da177e4SLinus Torvaldsconfig AIC79XX_REG_PRETTY_PRINT
911da177e4SLinus Torvalds	bool "Decode registers during diagnostics"
921da177e4SLinus Torvalds	depends on SCSI_AIC79XX
931da177e4SLinus Torvalds	default y
941da177e4SLinus Torvalds	help
951da177e4SLinus Torvalds	Compile in register value tables for the output of expanded register
961da177e4SLinus Torvalds	contents in diagnostics.  This make it much easier to understand debug
971da177e4SLinus Torvalds	output without having to refer to a data book and/or the aic7xxx.reg
981da177e4SLinus Torvalds	file.
99