eb22184954
Fix the timer handling in aic79xx to use the SCSI-ML provided handling instead of implementing our own. It also fixes a deadlock in the command recovery code. Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
99 lines
3.7 KiB
Plaintext
99 lines
3.7 KiB
Plaintext
#
|
|
# AIC79XX 2.5.X Kernel configuration File.
|
|
# $Id: //depot/linux-aic79xx-2.5.0/drivers/scsi/aic7xxx/Kconfig.aic79xx#4 $
|
|
#
|
|
config SCSI_AIC79XX
|
|
tristate "Adaptec AIC79xx U320 support"
|
|
depends on PCI && SCSI
|
|
select SCSI_SPI_ATTRS
|
|
help
|
|
This driver supports all of Adaptec's Ultra 320 PCI-X
|
|
based SCSI controllers.
|
|
|
|
config AIC79XX_CMDS_PER_DEVICE
|
|
int "Maximum number of TCQ commands per device"
|
|
depends on SCSI_AIC79XX
|
|
default "32"
|
|
---help---
|
|
Specify the number of commands you would like to allocate per SCSI
|
|
device when Tagged Command Queueing (TCQ) is enabled on that device.
|
|
|
|
This is an upper bound value for the number of tagged transactions
|
|
to be used for any device. The aic7xxx driver will automatically
|
|
vary this number based on device behavior. For devices with a
|
|
fixed maximum, the driver will eventually lock to this maximum
|
|
and display a console message inidicating this value.
|
|
|
|
Due to resource allocation issues in the Linux SCSI mid-layer, using
|
|
a high number of commands per device may result in memory allocation
|
|
failures when many devices are attached to the system. For this reason,
|
|
the default is set to 32. Higher values may result in higer performance
|
|
on some devices. The upper bound is 253. 0 disables tagged queueing.
|
|
|
|
Per device tag depth can be controlled via the kernel command line
|
|
"tag_info" option. See drivers/scsi/aic7xxx/README.aic79xx
|
|
for details.
|
|
|
|
config AIC79XX_RESET_DELAY_MS
|
|
int "Initial bus reset delay in milli-seconds"
|
|
depends on SCSI_AIC79XX
|
|
default "5000"
|
|
---help---
|
|
The number of milliseconds to delay after an initial bus reset.
|
|
The bus settle delay following all error recovery actions is
|
|
dictated by the SCSI layer and is not affected by this value.
|
|
|
|
Default: 5000 (5 seconds)
|
|
|
|
config AIC79XX_BUILD_FIRMWARE
|
|
bool "Build Adapter Firmware with Kernel Build"
|
|
depends on SCSI_AIC79XX && !PREVENT_FIRMWARE_BUILD
|
|
help
|
|
This option should only be enabled if you are modifying the firmware
|
|
source to the aic79xx driver and wish to have the generated firmware
|
|
include files updated during a normal kernel build. The assembler
|
|
for the firmware requires lex and yacc or their equivalents, as well
|
|
as the db v1 library. You may have to install additional packages
|
|
or modify the assembler Makefile or the files it includes if your
|
|
build environment is different than that of the author.
|
|
|
|
config AIC79XX_ENABLE_RD_STRM
|
|
bool "Enable Read Streaming for All Targets"
|
|
depends on SCSI_AIC79XX
|
|
default n
|
|
help
|
|
Read Streaming is a U320 protocol option that should enhance
|
|
performance. Early U320 drive firmware actually performs slower
|
|
with read streaming enabled so it is disabled by default. Read
|
|
Streaming can be configured in much the same way as tagged queueing
|
|
using the "rd_strm" command line option. See
|
|
drivers/scsi/aic7xxx/README.aic79xx for details.
|
|
|
|
config AIC79XX_DEBUG_ENABLE
|
|
bool "Compile in Debugging Code"
|
|
depends on SCSI_AIC79XX
|
|
default y
|
|
help
|
|
Compile in aic79xx debugging code that can be useful in diagnosing
|
|
driver errors.
|
|
|
|
config AIC79XX_DEBUG_MASK
|
|
int "Debug code enable mask (16383 for all debugging)"
|
|
depends on SCSI_AIC79XX
|
|
default "0"
|
|
help
|
|
Bit mask of debug options that is only valid if the
|
|
CONFIG_AIC79XX_DEBUG_ENBLE option is enabled. The bits in this mask
|
|
are defined in the drivers/scsi/aic7xxx/aic79xx.h - search for the
|
|
variable ahd_debug in that file to find them.
|
|
|
|
config AIC79XX_REG_PRETTY_PRINT
|
|
bool "Decode registers during diagnostics"
|
|
depends on SCSI_AIC79XX
|
|
default y
|
|
help
|
|
Compile in register value tables for the output of expanded register
|
|
contents in diagnostics. This make it much easier to understand debug
|
|
output without having to refer to a data book and/or the aic7xxx.reg
|
|
file.
|