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