[SCSI] isci: atapi support
[linux-2.6.git] / drivers / scsi / isci / request.h
index 58d70b6..f720b97 100644 (file)
@@ -96,7 +96,6 @@ enum sci_request_protocol {
  *          to wait for another fis or if the transfer is complete.  Upon
  *           receipt of a d2h fis this will be the status field of that fis.
  * @sgl - track pio transfer progress as we iterate through the sgl
- * @device_cdb_len - atapi device advertises it's transfer constraints at setup
  */
 struct isci_stp_request {
        u32 pio_len;
@@ -107,7 +106,6 @@ struct isci_stp_request {
                u8 set;
                u32 offset;
        } sgl;
-       u32 device_cdb_len;
 };
 
 struct isci_request {
@@ -249,6 +247,32 @@ enum sci_base_request_states {
        SCI_REQ_STP_PIO_DATA_OUT,
 
        /*
+        * While in this state the IO request object is waiting for the TC
+        * completion notification for the H2D Register FIS
+        */
+       SCI_REQ_ATAPI_WAIT_H2D,
+
+       /*
+        * While in this state the IO request object is waiting for either a
+        * PIO Setup.
+        */
+       SCI_REQ_ATAPI_WAIT_PIO_SETUP,
+
+       /*
+        * The non-data IO transit to this state in this state after receiving
+        * TC completion. While in this state IO request object is waiting for
+        * D2H status frame as UF.
+        */
+       SCI_REQ_ATAPI_WAIT_D2H,
+
+       /*
+        * When transmitting raw frames hardware reports task context completion
+        * after every frame submission, so in the non-accelerated case we need
+        * to expect the completion for the "cdb" frame.
+        */
+       SCI_REQ_ATAPI_WAIT_TC_COMP,
+
+       /*
         * The AWAIT_TC_COMPLETION sub-state indicates that the started raw
         * task management request is waiting for the transmission of the
         * initial frame (i.e. command, task, etc.).