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