vserver 1.9.5.x5
[linux-2.6.git] / drivers / scsi / sym53c8xx_2 / sym_conf.h
1 /*
2  * Device driver for the SYMBIOS/LSILOGIC 53C8XX and 53C1010 family 
3  * of PCI-SCSI IO processors.
4  *
5  * Copyright (C) 1999-2001  Gerard Roudier <groudier@free.fr>
6  *
7  * This driver is derived from the Linux sym53c8xx driver.
8  * Copyright (C) 1998-2000  Gerard Roudier
9  *
10  * The sym53c8xx driver is derived from the ncr53c8xx driver that had been 
11  * a port of the FreeBSD ncr driver to Linux-1.2.13.
12  *
13  * The original ncr driver has been written for 386bsd and FreeBSD by
14  *         Wolfgang Stanglmeier        <wolf@cologne.de>
15  *         Stefan Esser                <se@mi.Uni-Koeln.de>
16  * Copyright (C) 1994  Wolfgang Stanglmeier
17  *
18  * Other major contributions:
19  *
20  * NVRAM detection and reading.
21  * Copyright (C) 1997 Richard Waltham <dormouse@farsrobt.demon.co.uk>
22  *
23  *-----------------------------------------------------------------------------
24  *
25  * This program is free software; you can redistribute it and/or modify
26  * it under the terms of the GNU General Public License as published by
27  * the Free Software Foundation; either version 2 of the License, or
28  * (at your option) any later version.
29  *
30  * This program is distributed in the hope that it will be useful,
31  * but WITHOUT ANY WARRANTY; without even the implied warranty of
32  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
33  * GNU General Public License for more details.
34  *
35  * You should have received a copy of the GNU General Public License
36  * along with this program; if not, write to the Free Software
37  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
38  */
39
40 #ifndef SYM_CONF_H
41 #define SYM_CONF_H
42
43 #include "sym53c8xx.h"
44
45 /*
46  *  Max number of targets.
47  *  Maximum is 16 and you are advised not to change this value.
48  */
49 #ifndef SYM_CONF_MAX_TARGET
50 #define SYM_CONF_MAX_TARGET     (16)
51 #endif
52
53 /*
54  *  Max number of logical units.
55  *  SPI-2 allows up to 64 logical units, but in real life, target
56  *  that implements more that 7 logical units are pretty rare.
57  *  Anyway, the cost of accepting up to 64 logical unit is low in 
58  *  this driver, thus going with the maximum is acceptable.
59  */
60 #ifndef SYM_CONF_MAX_LUN
61 #define SYM_CONF_MAX_LUN        (64)
62 #endif
63
64 /*
65  *  Max number of IO control blocks queued to the controller.
66  *  Each entry needs 8 bytes and the queues are allocated contiguously.
67  *  Since we donnot want to allocate more than a page, the theorical 
68  *  maximum is PAGE_SIZE/8. For safety, we announce a bit less to the 
69  *  access method. :)
70  *  When not supplied, as it is suggested, the driver compute some 
71  *  good value for this parameter.
72  */
73 /* #define SYM_CONF_MAX_START   (PAGE_SIZE/8 - 16) */
74
75 /*
76  *  Support for Immediate Arbitration.
77  *  Not advised.
78  */
79 /* #define SYM_CONF_IARB_SUPPORT */
80
81 /*
82  *  Only relevant if IARB support configured.
83  *  - Max number of successive settings of IARB hints.
84  *  - Set IARB on arbitration lost.
85  */
86 #define SYM_CONF_IARB_MAX 3
87 #define SYM_CONF_SET_IARB_ON_ARB_LOST 1
88
89 /*
90  *  Returning wrong residuals may make problems.
91  *  When zero, this define tells the driver to 
92  *  always return 0 as transfer residual.
93  *  Btw, all my testings of residuals have succeeded.
94  */
95 #define SYM_SETUP_RESIDUAL_SUPPORT 1
96
97 /*
98  *  Supported maximum number of LUNs to announce to 
99  *  the access method.
100  *  The driver supports up to 64 LUNs per target as 
101  *  required by SPI-2/SPI-3. However some SCSI devices  
102  *  designed prior to these specifications or not being  
103  *  conformant may be highly confused when they are 
104  *  asked about a LUN > 7.
105  */
106 #ifndef SYM_SETUP_MAX_LUN
107 #define SYM_SETUP_MAX_LUN       (8)
108 #endif
109
110 #endif /* SYM_CONF_H */