Print this page
4630 clean stale references to ddi_iopb_alloc and ddi_iopb_free
4634 undocument scsi_hba_attach() and ddi_dma_lim(9s)
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/man/man9f/scsi_hba_attach_setup.9f
+++ new/usr/src/man/man9f/scsi_hba_attach_setup.9f
1 1 '\" te
2 2 .\" Copyright (c) 2006 Sun Microsystems, Inc., All Rights Reserved
3 +.\" Copyright 2014 Pluribus Networks, Inc.
3 4 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
4 5 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
5 6 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 7 .TH SCSI_HBA_ATTACH_SETUP 9F "May 30, 2006"
7 8 .SH NAME
8 9 scsi_hba_attach_setup, scsi_hba_attach, scsi_hba_detach \- SCSI HBA attach and
9 10 detach routines
10 11 .SH SYNOPSIS
11 12 .LP
12 13 .nf
13 14 #include <sys/scsi/scsi.h>
14 15
15 16
16 17
17 18 \fBint\fR \fBscsi_hba_attach_setup\fR(\fBdev_info_t *\fR\fIdip\fR, \fBddi_dma_attr_t *\fR\fIhba_dma_attr\fR,
18 19 \fBscsi_hba_tran_t *\fR\fIhba_tran\fR, \fBint\fR \fIhba_flags\fR);
19 20 .fi
20 21
21 22 .LP
22 23 .nf
23 -\fBint\fR \fBscsi_hba_attach\fR(\fBdev_info_t *\fR\fIdip\fR, \fBddi_dma_lim_t *\fR\fIhba_lim\fR,
24 - \fBscsi_hba_tran_t *\fR\fIhba_tran\fR, \fBint\fR \fIhba_flags\fR, \fBvoid *\fR\fIhba_options\fR);
25 -.fi
26 -
27 -.LP
28 -.nf
29 24 \fBint\fR \fBscsi_hba_detach\fR(\fBdev_info_t *\fR\fIdip\fR);
30 25 .fi
31 26
32 27 .SH INTERFACE LEVEL
33 28 .sp
34 29 .LP
35 30 Solaris architecture specific (Solaris DDI).
36 31 .SH PARAMETERS
37 32 .sp
38 33 .ne 2
39 34 .na
40 35 \fB\fIdip\fR\fR
41 36 .ad
42 37 .RS 16n
43 38 Pointer to the \fBdev_info_t\fR structure that refers to the instance of the
44 39 HBA device.
45 40 .RE
46 41
47 42 .sp
48 43 .ne 2
49 44 .na
50 45 \fB\fIhba_lim\fR\fR
51 46 .ad
52 47 .RS 16n
53 48 Pointer to a \fBddi_dma_lim\fR(9S) structure.
54 49 .RE
55 50
56 51 .sp
57 52 .ne 2
58 53 .na
59 54 \fB\fIhba_tran\fR\fR
60 55 .ad
61 56 .RS 16n
62 57 Pointer to a \fBscsi_hba_tran\fR(9S) structure.
63 58 .RE
64 59
65 60 .sp
66 61 .ne 2
67 62 .na
68 63 \fB\fIhba_flags\fR\fR
69 64 .ad
70 65 .RS 16n
71 66 Flag modifiers. The defined flag values are \fBSCSI_HBA_TRAN_CLONE\fR,
72 67 \fBSCSI_HBA_TRAN_SCB\fR, and \fBSCSI_HBA_TRAN_CDB\fR.
73 68 .RE
74 69
75 70 .sp
76 71 .ne 2
77 72 .na
78 73 \fB\fIhba_options\fR\fR
79 74 .ad
80 75 .RS 16n
81 76 Optional features provided by the HBA driver for future extensions; must be
82 77 \fINULL\fR.
83 78 .RE
84 79
85 80 .sp
86 81 .ne 2
↓ open down ↓ |
48 lines elided |
↑ open up ↑ |
87 82 .na
88 83 \fB\fIhba_dma_attr\fR\fR
89 84 .ad
90 85 .RS 16n
91 86 Pointer to a \fBddi_dma_attr\fR(9S) structure.
92 87 .RE
93 88
94 89 .SH DESCRIPTION
95 90 .sp
96 91 .LP
97 -The \fBscsi_hba_attach_setup()\fR function is the recommended interface over
98 -the \fBscsi_hba_attach()\fR function.
99 -.SS "scsi_hba_attach_setup(\|) scsi_hba_attach(\|)"
100 -.sp
101 -.LP
102 -The \fBscsi_hba_attach()\fR function registers the \fIhba_lim\fR DMA limits and
103 -the \fIhba_tran\fR transport vectors of each instance of the HBA device defined
104 -by \fIdip\fR. The \fBscsi_hba_attach_setup()\fR function registers the
92 +The \fBscsi_hba_attach_setup()\fR function registers the
105 93 \fIhba_dma_attr\fR DMA attributes and the \fIhba_tran\fR transport vectors of
106 94 each instance of the HBA device defined by \fIdip\fR. The HBA driver can pass
107 95 different DMA limits or DMA attributes and the transport vectors for each
108 96 instance of the device to support any constraints imposed by the HBA itself.
109 97 .sp
110 98 .LP
111 -The \fBscsi_hba_attach()\fR and \fBscsi_hba_attach_setup()\fR functions use the
99 +The \fBscsi_hba_attach_setup()\fR function uses the
112 100 \fBdev_bus_ops\fR field in the \fBdev_ops\fR(9S) structure. The HBA driver
113 101 should initialize this field to \fINULL\fR before calling
114 -\fBscsi_hba_attach()\fR or \fBscsi_hba_attach_setup()\fR.
102 +\fBscsi_hba_attach_setup()\fR.
115 103 .sp
116 104 .LP
117 105 If \fBSCSI_HBA_TRAN_CLONE\fR is requested in \fIhba_flags\fR, the
118 106 \fBhba_tran\fR structure is cloned once for each target that is attached to the
119 107 HBA. The structure is cloned before the \fBtran_tgt_init\fR(9E) entry point is
120 108 called to initialize a target. At all subsequent HBA entry points, including
121 109 \fBtran_tgt_init\fR(9E), the \fBscsi_hba_tran_t\fR structure passed as an
122 110 argument or found in a \fBscsi_address\fR structure is the cloned
123 111 \fBscsi_hba_tran_t\fR structure,which allows the HBA to use the
124 112 \fBtran_tgt_private\fR field in the \fBscsi_hba_tran_t\fR structure to point to
125 113 per-target data. The HBA should free only the same \fBscsi_hba_tran_t\fR
126 114 structure allocated when the HBA detaches. All cloned \fBscsi_hba_tran_t\fR
127 115 structures that are allocated by the system are freed by the system.
128 116 .sp
129 117 .LP
130 118 The flags \fBSCSI_HBA_TRAN_CDB\fR and \fBSCSI_HBA_TRAN_SCB\fR are only valid
131 119 when \fBtran_setup_pkt()\fR is used. See \fBtran_setup_pkt\fR(9E) for
132 120 information on using these flags.
133 121 .sp
134 122 .LP
135 -The \fBscsi_hba_attach()\fR and \fBscsi_hba_attach_setup()\fR functions attach
123 +The \fBscsi_hba_attach_setup()\fR function attaches
136 124 a number of integer-valued properties to \fIdip\fR, unless properties of the
137 125 same name are already attached to the node. An HBA driver should retrieve these
138 126 configuration parameters via \fBddi_prop_get_int\fR(9F), and respect any
139 127 settings for features provided the HBA.
140 128 .sp
141 129 .ne 2
142 130 .na
143 131 \fB\fBscsi-options\fR\fR
144 132 .ad
145 133 .RS 26n
146 134 \fBOptional\fR \fBSCSI\fR \fBconfiguration bits\fR
147 135 .RE
148 136
149 137 .sp
150 138 .ne 2
151 139 .na
152 140 \fB\fBSCSI_OPTIONS_DR\fR\fR
153 141 .ad
154 142 .RS 26n
155 143 If not set, the HBA should not grant Disconnect privileges to target devices.
156 144 .RE
157 145
158 146 .sp
159 147 .ne 2
160 148 .na
161 149 \fB\fBSCSI_OPTIONS_TAG\fR\fR
162 150 .ad
163 151 .RS 26n
164 152 If not set, the HBA should not operate in Command Tagged Queueing mode.
165 153 .RE
166 154
167 155 .sp
168 156 .ne 2
169 157 .na
170 158 \fB\fBSCSI_OPTIONS_PARITY\fR\fR
171 159 .ad
172 160 .RS 26n
173 161 If not set, the HBA should not operate in parity mode.
174 162 .RE
175 163
176 164 .sp
177 165 .ne 2
178 166 .na
179 167 \fB\fBSCSI_OPTIONS_QAS\fR\fR
180 168 .ad
181 169 .RS 26n
182 170 If not set, the HBA should not make use of the Quick Arbitration Select
183 171 feature. Consult your Sun hardware documentation to determine whether your
184 172 machine supports QAS.
185 173 .RE
186 174
187 175 .sp
188 176 .ne 2
189 177 .na
190 178 \fB\fBSCSI_OPTIONS_FAST\fR\fR
191 179 .ad
192 180 .RS 26n
193 181 If not set, the HBA should not operate the bus in FAST SCSI mode.
194 182 .RE
195 183
196 184 .sp
197 185 .ne 2
198 186 .na
199 187 \fB\fBSCSI_OPTIONS_FAST20\fR\fR
200 188 .ad
201 189 .RS 26n
202 190 If not set, the HBA should not operate the bus in FAST20 SCSI mode.
203 191 .RE
204 192
205 193 .sp
206 194 .ne 2
207 195 .na
208 196 \fB\fBSCSI_OPTIONS_FAST40\fR\fR
209 197 .ad
210 198 .RS 26n
211 199 If not set, the HBA should not operate the bus in FAST40 SCSI mode.
212 200 .RE
213 201
214 202 .sp
215 203 .ne 2
216 204 .na
217 205 \fB\fBSCSI_OPTIONS_FAST80\fR\fR
218 206 .ad
219 207 .RS 26n
220 208 If not set, the HBA should not operate the bus in FAST80 SCSI mode.
221 209 .RE
222 210
223 211 .sp
224 212 .ne 2
225 213 .na
226 214 \fB\fBSCSI_OPTIONS_FAST160\fR\fR
227 215 .ad
228 216 .RS 26n
229 217 If not set, the HBA should not operate the bus in FAST160 SCSI mode.
230 218 .RE
231 219
232 220 .sp
233 221 .ne 2
234 222 .na
235 223 \fB\fBSCSI_OPTIONS_FAST320\fR\fR
236 224 .ad
237 225 .RS 26n
238 226 If not set, the HBA should not operate the bus in FAST320 SCSI mode.
239 227 .RE
240 228
241 229 .sp
242 230 .ne 2
243 231 .na
244 232 \fB\fBSCSI_OPTIONS_WIDE\fR\fR
245 233 .ad
246 234 .RS 26n
247 235 If not set, the HBA should not operate the bus in WIDE SCSI mode.
248 236 .RE
249 237
250 238 .sp
251 239 .ne 2
252 240 .na
253 241 \fB\fBSCSI_OPTIONS_SYNC\fR\fR
254 242 .ad
255 243 .RS 26n
256 244 If not set, the HBA should not operate the bus in synchronous transfer mode.
257 245 .RE
258 246
259 247 .sp
260 248 .ne 2
261 249 .na
262 250 \fB\fBscsi-reset-delay\fR\fR
263 251 .ad
264 252 .RS 26n
265 253 SCSI bus or device reset recovery time, in milliseconds.
266 254 .RE
267 255
268 256 .sp
269 257 .ne 2
270 258 .na
271 259 \fB\fBscsi-selection-timeout\fR\fR
272 260 .ad
273 261 .RS 26n
274 262 Default SCSI selection phase timeout value, in milliseconds. Please refer to
275 263 individual HBA man pages for any HBA-specific information
276 264 .RE
↓ open down ↓ |
131 lines elided |
↑ open up ↑ |
277 265
278 266 .SS "scsi_hba_detach(\|)"
279 267 .sp
280 268 .LP
281 269 The \fBscsi_hba_detach()\fR function removes the reference to the DMA limits or
282 270 attributes structure and the transport vector for the given instance of an HBA
283 271 driver.
284 272 .SH RETURN VALUES
285 273 .sp
286 274 .LP
287 -The \fBscsi_hba_attach()\fR, \fBscsi_hba_attach_setup()\fR, and
275 +The \fBscsi_hba_attach_setup()\fR and
288 276 \fBscsi_hba_detach()\fR functions return \fBDDI_SUCCESS\fR if the function call
289 277 succeeds, and return \fBDDI_FAILURE\fR on failure.
290 278 .SH CONTEXT
291 279 .sp
292 280 .LP
293 -The \fBscsi_hba_attach()\fR and \fBscsi_hba_attach_setup()\fR functions should
281 +The \fBscsi_hba_attach_setup()\fR function should
294 282 be called from \fBattach\fR(9E). The \fBscsi_hba_detach()\fR function should be
295 283 called from \fBdetach\fR(9E).
296 284 .SH SEE ALSO
297 285 .sp
298 286 .LP
299 287 \fBattach\fR(9E), \fBdetach\fR(9E), \fBtran_setup_pkt\fR(9E),
300 288 \fBtran_tgt_init\fR(9E), \fBddi_prop_get_int\fR(9F), \fBddi_dma_attr\fR(9S),
301 -\fBddi_dma_lim\fR(9S), \fBdev_ops\fR(9S), \fBscsi_address\fR(9S),
289 +\fBdev_ops\fR(9S), \fBscsi_address\fR(9S),
302 290 \fBscsi_hba_tran\fR(9S)
303 291 .sp
304 292 .LP
305 293 \fIWriting Device Drivers\fR
306 294 .SH NOTES
307 295 .sp
308 296 .LP
309 297 It is the HBA driver's responsibility to ensure that no more transport requests
310 298 will be taken on behalf of any SCSI target device driver after
311 299 \fBscsi_hba_detach()\fR is called.
312 -.sp
313 -.LP
314 -The \fBscsi_hba_attach()\fR function is obsolete and will be discontinued in a
315 -future release. This function is replaced by \fBscsi_hba_attach_setup()\fR.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX