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
64 * isci_stp_request - extra request infrastructure to handle pio/atapi protocol
65 * @pio_len - number of bytes requested at PIO setup
66 * @status - pio setup ending status value to tell us if we need
69 * @sgl - track pio transfer progress as we iterate through the sgl
87 #define IREQ_PENDING_ABORT 4 /* Set == device was not suspended yet */
103 * - TMF requests are completed in the thread that started them;
104 * - regular requests are completed in the request completion callback
127 * non-NULL the saved frame must be released on IO request completion.
159 * enum sci_base_request_states - request state machine states
161 * @SCI_REQ_INIT: Simply the initial state for the base request state machine.
163 * @SCI_REQ_CONSTRUCTED: This state indicates that the request has been
164 * constructed. This state is entered from the INITIAL state.
166 * @SCI_REQ_STARTED: This state indicates that the request has been started.
167 * This state is entered from the CONSTRUCTED state.
174 * @SCI_REQ_STP_PIO_WAIT_H2D: While in this state the IO request object is
177 * @SCI_REQ_STP_PIO_WAIT_FRAME: While in this state the IO request object is
181 * @SCI_REQ_STP_PIO_DATA_IN: While in this state the IO request object is
184 * @SCI_REQ_STP_PIO_DATA_OUT: While in this state the IO request object is
187 * @SCI_REQ_ATAPI_WAIT_H2D: While in this state the IO request object is
190 * @SCI_REQ_ATAPI_WAIT_PIO_SETUP: While in this state the IO request object is
193 * @SCI_REQ_ATAPI_WAIT_D2H: The non-data IO transit to this state in this state
194 * after receiving TC completion. While in this state IO request object is
199 * non-accelerated case we need to expect the completion for the "cdb" frame.
201 * @SCI_REQ_TASK_WAIT_TC_COMP: The AWAIT_TC_COMPLETION sub-state indicates that
205 * @SCI_REQ_TASK_WAIT_TC_RESP: This sub-state indicates that the started task
209 * @SCI_REQ_SMP_WAIT_RESP: This sub-state indicates that the started task
213 * @SCI_REQ_SMP_WAIT_TC_COMP: The AWAIT_TC_COMPLETION sub-state indicates that
217 * @SCI_REQ_COMPLETED: This state indicates that the request has completed.
218 * This state is entered from the STARTED state. This state is entered from the
219 * ABORTING state.
221 * @SCI_REQ_ABORTING: This state indicates that the request is in the process
222 * of being terminated/aborted. This state is entered from the CONSTRUCTED
223 * state. This state is entered from the STARTED state.
225 * @SCI_REQ_FINAL: Simply the final state for the base request state machine.
255 const char *req_state_name(enum sci_base_request_states state);
281 BUG_ON((requested_addr - base_addr) >= sizeof(*ireq)); in sci_io_request_get_dma_addr()
283 return ireq->request_daddr + (requested_addr - base_addr); in sci_io_request_get_dma_addr()
286 #define isci_request_access_task(req) ((req)->ttype_ptr.io_task_ptr)
288 #define isci_request_access_tmf(req) ((req)->ttype_ptr.tmf_task_ptr)
305 return (sas_protocol_ata(task->task_proto) && in isci_task_is_ncq_recovery()
306 task->ata_task.fis.command == ATA_CMD_READ_LOG_EXT && in isci_task_is_ncq_recovery()
307 task->ata_task.fis.lbal == ATA_LOG_SATA_NCQ); in isci_task_is_ncq_recovery()