Initial import from FreeBSD RELENG_4:
[dragonfly.git] / share / man / man4 / twe.4
1 .\"
2 .\" Copyright (c) 2000 Michael Smith
3 .\" Copyright (c) 2000 BSDi
4 .\" All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. The name of the author may not be used to endorse or promote products
12 .\"    derived from this software without specific prior written permission
13 .\"
14 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17 .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 .\"
25 .\" $FreeBSD: src/share/man/man4/twe.4,v 1.1.2.7 2001/07/21 09:16:47 schweikh Exp $
26 .\"
27 .Dd April 10, 2000
28 .Dt TWE 4
29 .Os
30 .Sh NAME
31 .Nm twe
32 .Nd 3ware Escalade ATA RAID adapter driver
33 .Sh SYNOPSIS
34 .Cd device pci
35 .Cd device twe
36 .Sh DESCRIPTION
37 The
38 .Nm
39 driver provides support for the Escalade 3W-5x00 and 3W-6x00 series
40 of ATA RAID controllers.
41 These devices support 2, 4 or 8 ATA disk drives
42 and provide RAID0 (striping) and RAID1 (mirroring) functionality.
43 .Sh DIAGNOSTICS
44 .Ss Controller initialisation phase
45 .Bl -diag
46 .It twe%d: microcontroller not ready
47 .Pp
48 The controller's onboard CPU is not reporting that it is ready;
49 this may be due to either a board or system failure.
50 Initialisation has failed.
51 .It twe%d: no attention interrupt
52 .It twe%d: can't drain AEN queue
53 .It twe%d: reset not reported
54 .It twe%d: controller errors detected
55 .It twe%d: can't drain response queue
56 .It twe%d: reset %d failed, trying again
57 .Pp
58 The controller is not responding correctly to
59 the driver's attempts to reset and initialise it.
60 This process is retried several times.
61 .It twe%d: can't initialise controller, giving up
62 .Pp
63 Several attempts to reset and initialise the controller have failed;
64 initialisation has failed
65 and the driver will not attach to this controller.
66 .El
67 .Ss Driver initialisation/shutdown phase
68 .Bl -diag
69 .It twe%d: register window not available
70 .It twe%d: can't allocate register window
71 .It twe%d: can't allocate parent DMA tag
72 .It twe%d: can't allocate interrupt
73 .It twe%d: can't set up interrupt
74 .It twe%d: can't establish configuration hook
75 .Pp
76 A resource allocation error occurred while initialising the driver;
77 initialisation has failed
78 and the driver will not attach to this controller.
79 .It twe%d: can't detect attached units
80 .Pp
81 Fetching the list of attached units failed; initialisation has failed.
82 .It twe%d: error fetching capacity for unit %d
83 .It twe%d: error fetching state for unit %d
84 .It twe%d: error fetching descriptor size for unit %d
85 .It twe%d: error fetching descriptor for unit %d
86 .It twe%d: device_add_child failed
87 .It twe%d: bus_generic_attach returned %d
88 .Pp
89 Creation of the disk devices failed, either due to communications
90 problems with the adapter or due to resource shortage;
91 attachment of one or more units may have been aborted.
92 .El
93 .Ss Operational phase
94 .Bl -diag
95 .It twe%d: command completed - %s
96 .El
97 .Pp
98 A command was reported completed with a warning by the controller.
99 The warning may be one of:
100 .Bl -diag
101 .It redundant/inconsequential request ignored
102 .It failed to write zeroes to LBA 0
103 .It failed to profile TwinStor zones
104 .El
105 .Bl -diag
106 .It twe%d: command failed - %s
107 .El
108 .Pp
109 A command was reported as failed by the controller.
110 The failure message may be one of:
111 .Bl -diag
112 .It aborted due to system command or reconfiguration
113 .It aborted
114 .It access error
115 .It access violation
116 .It device failure
117 .It controller error
118 .It timed out
119 .It invalid unit number
120 .It unit not available
121 .It undefined opcode
122 .It request incompatible with unit
123 .It invalid request
124 .It firmware error, reset requested
125 .Pp
126 The command will be returned to the operating system after a
127 fatal error.
128 .El
129 .Bl -diag
130 .It twe%d: command failed submission - controller wedged
131 .Pp
132 A command could not be delivered to the controller because
133 the controller is unresponsive.
134 .It twe%d: AEN: <%s>
135 .El
136 .Pp
137 The controller has reported a change in status using an AEN
138 (Asynchronous Event Notification).
139 The following AENs may be reported:
140 .Bl -diag
141 .It queue empty
142 .It soft reset
143 .It degraded mirror
144 .It controller error
145 .It rebuild fail
146 .It rebuild done
147 .It incomplete unit
148 .It initialisation done
149 .It unclean shutdown detected
150 .It drive timeout
151 .It drive error
152 .It rebuild started
153 .It aen queue full
154 .Pp
155 AENs are also queued internally for use by management tools.
156 .El
157 .Bl -diag
158 .It twe%d: error polling for signalled AENs
159 .Pp
160 The controller has reported
161 that one or more status messages are ready for the driver,
162 but attempting to fetch one of these has returned an error.
163 .It twe%d: AEN queue overflow, lost AEN <%s>
164 .Pp
165 A status message was retrieved from the controller,
166 but there is no more room to queue it in the driver.
167 The message is lost (but will be printed to the console).
168 .It twe%d: missing expected status bits %s
169 .It twe%d: unexpected status bits %s
170 .Pp
171 A check of the controller's status bits
172 indicates an unexpected condition.
173 .It twe%d: host interrupt
174 .Pp
175 The controller has signalled a host interrupt.
176 This serves an unknown purpose and is ignored.
177 .It twe%d: command interrupt
178 .Pp
179 The controller has signalled a command interrupt.
180 This is not used, and will be disabled.
181 .It twe%d: controller reset in progress...
182 .Pp
183 The controller is being reset by the driver.
184 Typically this is done when the driver has determined that the
185 controller is in an unrecoverable state.
186 .It twe%d: can't reset controller, giving up
187 .Pp
188 The driver has given up on resetting the controller.
189 No further I/O will be handled.
190 .It controller reset done, %d commands restarted
191 .Pp
192 The controller was successfully reset,
193 and outstanding commands were restarted.
194 .El
195 .Sh BUGS
196 The controller cannot handle I/O transfers
197 that are not aligned to a 512-byte boundary.
198 In order to support raw device access from user-space,
199 the driver will perform alignment fixup on non-aligned data.
200 This process is inefficient,
201 and thus in order to obtain best performance
202 user-space applications accessing the device
203 should do so with aligned buffers.
204 .Sh AUTHORS
205 The
206 .Nm
207 driver and manpage were written by
208 .An Michael Smith
209 .Aq msmith@FreeBSD.org .