Lines Matching +full:retain +full:- +full:state +full:- +full:suspended
7 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
20 * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
26 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
33 * * Redistributions of source code must retain the above copyright
74 * isci_remote_device - isci representation of a sas expander / end point
76 * @connection_rate: per-taskcontext connection rate for this device
116 kref_get(&idev->kref); in isci_get_device()
122 struct isci_remote_device *idev = dev->lldd_dev; in isci_lookup_device()
124 if (idev && !test_bit(IDEV_GONE, &idev->flags)) { in isci_lookup_device()
125 kref_get(&idev->kref); in isci_lookup_device()
136 kref_put(&idev->kref, isci_remote_device_release); in isci_put_device()
147 * sci_remote_device_stop() - This method will stop both transmission and
163 * sci_remote_device_reset() - This method will reset the device making it
178 * enum sci_remote_device_states - This enumeration depicts all the states
179 * for the common remote device state machine.
180 * @SCI_DEV_INITIAL: Simply the initial state for the base remote device
181 * state machine.
183 * @SCI_DEV_STOPPED: This state indicates that the remote device has
184 * successfully been stopped. In this state no new IO operations are
185 * permitted. This state is entered from the INITIAL state. This state
186 * is entered from the STOPPING state.
188 * @SCI_DEV_STARTING: This state indicates the the remote device is in
189 * the process of becoming ready (i.e. starting). In this state no new
190 * IO operations are permitted. This state is entered from the STOPPED
191 * state.
193 * @SCI_DEV_READY: This state indicates the remote device is now ready.
195 * This state is entered from the STARTING state.
199 * state.
201 * @SCI_STP_DEV_CMD: This is the command state for for the STP remote
202 * device. This state is entered when the device is processing a
203 * non-NCQ command. The device object will fail any new start IO
206 * @SCI_STP_DEV_NCQ: This is the NCQ state for the STP remote device.
207 * This state is entered when the device is processing an NCQ reuqest.
208 * It will remain in this state so long as there is one or more NCQ
211 * @SCI_STP_DEV_NCQ_ERROR: This is the NCQ error state for the STP
212 * remote device. This state is entered when an SDB error FIS is
213 * received by the device object while in the NCQ state. The device
214 * object will only accept a READ LOG command while in this state.
216 * @SCI_STP_DEV_ATAPI_ERROR: This is the ATAPI error state for the STP
217 * ATAPI remote device. This state is entered when ATAPI device sends
219 * state. A suspension event is expected in this state. The device
227 * remote device. This is the normal operational state for a remote
230 * @SCI_SMP_DEV_CMD: This is the suspended state for the remote device.
231 * This is the state that the device is placed in when a RNC suspend is
234 * @SCI_DEV_STOPPING: This state indicates that the remote device is in
235 * the process of stopping. In this state no new IO operations are
237 * state is entered from the READY state. This state is entered from
238 * the FAILED state.
240 * @SCI_DEV_FAILED: This state indicates that the remote device has
241 * failed. In this state no new IO operations are permitted. This
242 * state is entered from the INITIALIZING state. This state is entered
243 * from the READY state.
245 * @SCI_DEV_RESETTING: This state indicates the device is being reset.
246 * In this state no new IO operations are permitted. This state is
247 * entered from the READY state.
249 * @SCI_DEV_FINAL: Simply the final state for the base remote device
250 * state machine.
274 const char *dev_state_name(enum sci_remote_device_states state);
287 /* XXX delete this voodoo when converting to the top-level device in sci_remote_device_decrement_request_count()
290 if (WARN_ONCE(idev->started_request_count == 0, in sci_remote_device_decrement_request_count()
295 idev->started_request_count--; in sci_remote_device_decrement_request_count()