Merge branch 'master'
[linux-2.6] / drivers / scsi / aic7xxx / Kconfig.aic79xx
1 #
2 # AIC79XX 2.5.X Kernel configuration File.
3 # $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Kconfig.aic79xx#4 $
4 #
5 config 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
13 config 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 inidicating 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 higer 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 drivers/scsi/aic7xxx/README.aic79xx
35         for details.
36
37 config AIC79XX_RESET_DELAY_MS
38         int "Initial bus reset delay in milli-seconds"
39         depends on SCSI_AIC79XX
40         default "5000"
41         ---help---
42         The number of milliseconds to delay after an initial bus reset.
43         The bus settle delay following all error recovery actions is
44         dictated by the SCSI layer and is not affected by this value.
45
46         Default: 5000 (5 seconds)
47
48 config AIC79XX_BUILD_FIRMWARE
49         bool "Build Adapter Firmware with Kernel Build"
50         depends on SCSI_AIC79XX && !PREVENT_FIRMWARE_BUILD
51         help
52         This option should only be enabled if you are modifying the firmware
53         source to the aic79xx driver and wish to have the generated firmware
54         include files updated during a normal kernel build.  The assembler
55         for the firmware requires lex and yacc or their equivalents, as well
56         as the db v1 library.  You may have to install additional packages
57         or modify the assembler Makefile or the files it includes if your
58         build environment is different than that of the author.
59
60 config AIC79XX_ENABLE_RD_STRM
61         bool "Enable Read Streaming for All Targets"
62         depends on SCSI_AIC79XX
63         default n
64         help
65         Read Streaming is a U320 protocol option that should enhance
66         performance.  Early U320 drive firmware actually performs slower
67         with read streaming enabled so it is disabled by default.  Read
68         Streaming can be configured in much the same way as tagged queueing
69         using the "rd_strm" command line option.  See
70         drivers/scsi/aic7xxx/README.aic79xx for details.
71
72 config AIC79XX_DEBUG_ENABLE
73         bool "Compile in Debugging Code"
74         depends on SCSI_AIC79XX
75         default y
76         help
77         Compile in aic79xx debugging code that can be useful in diagnosing
78         driver errors.
79
80 config AIC79XX_DEBUG_MASK
81         int "Debug code enable mask (16383 for all debugging)"
82         depends on SCSI_AIC79XX
83         default "0"
84         help
85         Bit mask of debug options that is only valid if the
86         CONFIG_AIC79XX_DEBUG_ENBLE option is enabled.  The bits in this mask
87         are defined in the drivers/scsi/aic7xxx/aic79xx.h - search for the
88         variable ahd_debug in that file to find them.
89
90 config AIC79XX_REG_PRETTY_PRINT
91         bool "Decode registers during diagnostics"
92         depends on SCSI_AIC79XX
93         default y
94         help
95         Compile in register value tables for the output of expanded register
96         contents in diagnostics.  This make it much easier to understand debug
97         output without having to refer to a data book and/or the aic7xxx.reg
98         file.