2 .\" Copyright (c) 2000 Michael Smith
3 .\" Copyright (c) 2000 BSDi
4 .\" All rights reserved.
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
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
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.
32 .Nd 3ware Escalade ATA RAID adapter driver
39 driver provides support for 3ware Escalade ATA RAID adapters.
41 These devices support 2, 4 or 8 ATA disk drives
42 and provide RAID0 (striping) and RAID1 (mirroring) functionality.
46 driver supports the following series of 3ware ATA RAID
60 .Ss Controller initialisation phase
62 .It twe%d: microcontroller not ready
64 The controller's onboard CPU is not reporting that it is ready;
65 this may be due to either a board or system failure.
66 Initialisation has failed.
67 .It twe%d: no attention interrupt
68 .It twe%d: can't drain AEN queue
69 .It twe%d: reset not reported
70 .It twe%d: controller errors detected
71 .It twe%d: can't drain response queue
72 .It twe%d: reset %d failed, trying again
74 The controller is not responding correctly to
75 the driver's attempts to reset and initialise it.
76 This process is retried several times.
77 .It twe%d: can't initialise controller, giving up
79 Several attempts to reset and initialise the controller have failed;
80 initialisation has failed
81 and the driver will not attach to this controller.
83 .Ss Driver initialisation/shutdown phase
85 .It twe%d: register window not available
86 .It twe%d: can't allocate register window
87 .It twe%d: can't allocate parent DMA tag
88 .It twe%d: can't allocate interrupt
89 .It twe%d: can't set up interrupt
90 .It twe%d: can't establish configuration hook
92 A resource allocation error occurred while initialising the driver;
93 initialisation has failed
94 and the driver will not attach to this controller.
95 .It twe%d: can't detect attached units
97 Fetching the list of attached units failed; initialisation has failed.
98 .It twe%d: error fetching capacity for unit %d
99 .It twe%d: error fetching state for unit %d
100 .It twe%d: error fetching descriptor size for unit %d
101 .It twe%d: error fetching descriptor for unit %d
102 .It twe%d: device_add_child failed
103 .It twe%d: bus_generic_attach returned %d
105 Creation of the disk devices failed, either due to communications
106 problems with the adapter or due to resource shortage;
107 attachment of one or more units may have been aborted.
109 .Ss Operational phase
111 .It twe%d: command completed - %s
114 A command was reported completed with a warning by the controller.
115 The warning may be one of:
117 .It redundant/inconsequential request ignored
118 .It failed to write zeroes to LBA 0
119 .It failed to profile TwinStor zones
122 .It twe%d: command failed - %s
125 A command was reported as failed by the controller.
126 The failure message may be one of:
128 .It aborted due to system command or reconfiguration
135 .It invalid unit number
136 .It unit not available
138 .It request incompatible with unit
140 .It firmware error, reset requested
142 The command will be returned to the operating system after a
146 .It twe%d: command failed submission - controller wedged
148 A command could not be delivered to the controller because
149 the controller is unresponsive.
153 The controller has reported a change in status using an AEN
154 (Asynchronous Event Notification).
155 The following AENs may be reported:
164 .It initialisation done
165 .It unclean shutdown detected
171 AENs are also queued internally for use by management tools.
174 .It twe%d: error polling for signalled AENs
176 The controller has reported
177 that one or more status messages are ready for the driver,
178 but attempting to fetch one of these has returned an error.
179 .It twe%d: AEN queue overflow, lost AEN <%s>
181 A status message was retrieved from the controller,
182 but there is no more room to queue it in the driver.
183 The message is lost (but will be printed to the console).
184 .It twe%d: missing expected status bits %s
185 .It twe%d: unexpected status bits %s
187 A check of the controller's status bits
188 indicates an unexpected condition.
189 .It twe%d: host interrupt
191 The controller has signalled a host interrupt.
192 This serves an unknown purpose and is ignored.
193 .It twe%d: command interrupt
195 The controller has signalled a command interrupt.
196 This is not used, and will be disabled.
197 .It twe%d: controller reset in progress...
199 The controller is being reset by the driver.
200 Typically this is done when the driver has determined that the
201 controller is in an unrecoverable state.
202 .It twe%d: can't reset controller, giving up
204 The driver has given up on resetting the controller.
205 No further I/O will be handled.
206 .It controller reset done, %d commands restarted
208 The controller was successfully reset,
209 and outstanding commands were restarted.
212 The controller cannot handle I/O transfers
213 that are not aligned to a 512-byte boundary.
214 In order to support raw device access from user-space,
215 the driver will perform alignment fixup on non-aligned data.
216 This process is inefficient,
217 and thus in order to obtain best performance
218 user-space applications accessing the device
219 should do so with aligned buffers.
223 driver and manpage were written by
225 .Aq msmith@FreeBSD.org .