1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License (the "License").
6  * You may not use this file except in compliance with the License.
7  *
8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9  * or http://www.opensolaris.org/os/licensing.
10  * See the License for the specific language governing permissions
11  * and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL HEADER in each
14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15  * If applicable, add the following below this CDDL HEADER, with the
16  * fields enclosed by brackets "[]" replaced with your own identifying
17  * information: Portions Copyright [yyyy] [name of copyright owner]
18  *
19  * CDDL HEADER END
20  */
21 /*
22  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
23  * Use is subject to license terms.
24  */
25 
26 #ifdef	_KERNEL
27 
28 #include <sys/scsi/scsi_types.h>
29 
30 /*
31  * Autoconfiguration Dependent Data
32  */
33 /*
34  * Many defines in this file have built in parallel bus assumption
35  * which might need to change as other interconnect evolve.
36  */
37 
38 /*
39  * SCSI options word- defines are kept in <scsi/conf/autoconf.h>
40  *
41  * All this options word does is to enable such capabilities. Each
42  * implementation may disable this word, or ignore it entirely.
43  * Changing this word after system autoconfiguration is not guaranteed
44  * to cause any change in the operation of the system.
45  */
46 
47 int scsi_options =
48 	SCSI_OPTIONS_DR			|
49 	SCSI_OPTIONS_LINK		|
50 	SCSI_OPTIONS_SYNC		|
51 	SCSI_OPTIONS_PARITY		|
52 	SCSI_OPTIONS_TAG		|
53 	SCSI_OPTIONS_FAST		|
54 	SCSI_OPTIONS_WIDE		|
55 	SCSI_OPTIONS_FAST20		|
56 	SCSI_OPTIONS_FAST40		|
57 	SCSI_OPTIONS_FAST80		|
58 	SCSI_OPTIONS_FAST160		|
59 	SCSI_OPTIONS_FAST320		|
60 	SCSI_OPTIONS_NLUNS_DEFAULT	|
61 	SCSI_OPTIONS_QAS		|
62 	0;
63 
64 /*
65  * Scsi bus or device reset recovery time in milliseconds.
66  */
67 unsigned int	scsi_reset_delay = SCSI_DEFAULT_RESET_DELAY;
68 
69 /*
70  * SCSI selection timeout in milliseconds.
71  */
72 int	scsi_selection_timeout = SCSI_DEFAULT_SELECTION_TIMEOUT;
73 
74 /*
75  * Default scsi host id.  Note, this variable is only used if the
76  * "scsi-initiator-id" cannot be retrieved from openproms.  This is only
77  * a problem with older platforms which don't have openproms and usage
78  * of the sport-8 with openproms 1.x.
79  */
80 int	scsi_host_id = 7;
81 
82 /*
83  * Maximum tag age limit.
84  * Note exceeding tag age limit of 2 is fairly common;
85  * refer to 1164758
86  */
87 int	scsi_tag_age_limit = 2;
88 
89 /*
90  * scsi watchdog tick (secs)
91  * Note: with tagged queueing, timeouts are highly inaccurate and therefore
92  *	 it doesn't make sense to monitor every second.
93  */
94 int	scsi_watchdog_tick = 10;
95 
96 /*
97  * default scsi target driver "fm-capable" property value
98  */
99 int	scsi_fm_capable = DDI_FM_EREPORT_CAPABLE;
100 
101 /*
102  * SCSI enumeration options defines are kept in <scsi/conf/autoconf.h>.
103  * When scsi_enumeration is enabled, driver.conf enumeration is unnecessary.
104  *
105  * The global variable "scsi_enumeration" is used as the default value of the
106  * "scsi-enumeration" property. In addition to enabline/disabling enumeration
107  * (bit 0), target and lun threading can be specified.
108  *
109  *	0	driver.conf enumeration
110  *	1	dynamic enumeration with target/lun multi-threading.
111  *	3	dynamic enumeration with lun multi-threading disabled.
112  *	5	dynamic enumeration with target multi-threading disabled;
113  *	7	dynamic enumeration with target/lun multi-threading disabled.
114  *
115  * Default is currently driver.conf enumeration (0).
116  */
117 int	scsi_enumeration = 0;
118 
119 #endif	/* _KERNEL */
120