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