1#
2# AIC79XX 2.5.X Kernel configuration File.
3# $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Kconfig.aic79xx#4 $
4#
5config SCSI_AIC79XX
6	tristate "Adaptec AIC79xx U320 support"
7	depends on PCI && SCSI
8	select SCSI_SPI_ATTRS
9	help
10	This driver supports all of Adaptec's Ultra 320 PCI-X
11	based SCSI controllers.
12
13config AIC79XX_CMDS_PER_DEVICE
14	int "Maximum number of TCQ commands per device"
15	depends on SCSI_AIC79XX
16	default "32"
17	---help---
18	Specify the number of commands you would like to allocate per SCSI
19	device when Tagged Command Queueing (TCQ) is enabled on that device.
20
21	This is an upper bound value for the number of tagged transactions
22	to be used for any device.  The aic7xxx driver will automatically
23	vary this number based on device behavior.  For devices with a
24	fixed maximum, the driver will eventually lock to this maximum
25	and display a console message indicating this value.
26
27	Due to resource allocation issues in the Linux SCSI mid-layer, using
28	a high number of commands per device may result in memory allocation
29	failures when many devices are attached to the system.  For this reason,
30	the default is set to 32.  Higher values may result in higher performance
31	on some devices.  The upper bound is 253.  0 disables tagged queueing.
32
33	Per device tag depth can be controlled via the kernel command line
34	"tag_info" option.  See Documentation/scsi/aic79xx.txt for details.
35
36config AIC79XX_RESET_DELAY_MS
37	int "Initial bus reset delay in milli-seconds"
38	depends on SCSI_AIC79XX
39	default "5000"
40	---help---
41	The number of milliseconds to delay after an initial bus reset.
42	The bus settle delay following all error recovery actions is
43	dictated by the SCSI layer and is not affected by this value.
44
45	Default: 5000 (5 seconds)
46
47config AIC79XX_BUILD_FIRMWARE
48	bool "Build Adapter Firmware with Kernel Build"
49	depends on SCSI_AIC79XX && !PREVENT_FIRMWARE_BUILD
50	help
51	This option should only be enabled if you are modifying the firmware
52	source to the aic79xx driver and wish to have the generated firmware
53	include files updated during a normal kernel build.  The assembler
54	for the firmware requires lex and yacc or their equivalents, as well
55	as the db v1 library.  You may have to install additional packages
56	or modify the assembler Makefile or the files it includes if your
57	build environment is different than that of the author.
58
59config AIC79XX_DEBUG_ENABLE
60	bool "Compile in Debugging Code"
61	depends on SCSI_AIC79XX
62	default y
63	help
64	Compile in aic79xx debugging code that can be useful in diagnosing
65	driver errors.
66
67config AIC79XX_DEBUG_MASK
68	int "Debug code enable mask (16383 for all debugging)"
69	depends on SCSI_AIC79XX
70	default "0"
71	help
72	Bit mask of debug options that is only valid if the
73	CONFIG_AIC79XX_DEBUG_ENBLE option is enabled.  The bits in this mask
74	are defined in the drivers/scsi/aic7xxx/aic79xx.h - search for the
75	variable ahd_debug in that file to find them.
76
77config AIC79XX_REG_PRETTY_PRINT
78	bool "Decode registers during diagnostics"
79	depends on SCSI_AIC79XX
80	default y
81	help
82	Compile in register value tables for the output of expanded register
83	contents in diagnostics.  This make it much easier to understand debug
84	output without having to refer to a data book and/or the aic7xxx.reg
85	file.
86