WorkStruct: make allyesconfig
[deliverable/linux.git] / drivers / ieee1394 / sbp2.h
index 34e3d37fc79fba3eadad7d2359099258156e1e13..1b16d6b9cf11a0f55e291a7bbe064687b8d12ede 100644 (file)
@@ -181,11 +181,11 @@ struct sbp2_unrestricted_page_table {
 #define SBP2_SCSI_STATUS_SELECTION_TIMEOUT     0xff
 
 #define STATUS_GET_SRC(value)                  (((value) >> 30) & 0x3)
+#define STATUS_GET_RESP(value)                 (((value) >> 28) & 0x3)
 #define STATUS_GET_LEN(value)                  (((value) >> 24) & 0x7)
+#define STATUS_GET_SBP_STATUS(value)           (((value) >> 16) & 0xff)
 #define STATUS_GET_ORB_OFFSET_HI(value)                ((value) & 0x0000ffff)
-#define STATUS_TEST_D(value)                   ((value) & 0x08000000)
-/* test 'resp' | 'sbp2_status' */
-#define STATUS_TEST_RS(value)                  ((value) & 0x30ff0000)
+#define STATUS_TEST_DEAD(value)                        ((value) & 0x08000000)
 /* test 'resp' | 'dead' | 'sbp2_status' */
 #define STATUS_TEST_RDS(value)                 ((value) & 0x38ff0000)
 
@@ -320,9 +320,9 @@ struct scsi_id_instance_data {
        u64 status_fifo_addr;
 
        /*
-        * Variable used for logins, reconnects, logouts, query logins
+        * Waitqueue flag for logins, reconnects, logouts, query logins
         */
-       atomic_t sbp2_login_complete;
+       int access_complete:1;
 
        /*
         * Pool of command orbs, so we can have more than overlapped command per id
@@ -346,6 +346,16 @@ struct scsi_id_instance_data {
 
        /* Device specific workarounds/brokeness */
        unsigned workarounds;
+
+       atomic_t state;
+       struct delayed_work protocol_work;
+};
+
+/* For use in scsi_id_instance_data.state */
+enum sbp2lu_state_types {
+       SBP2LU_STATE_RUNNING,           /* all normal */
+       SBP2LU_STATE_IN_RESET,          /* between bus reset and reconnect */
+       SBP2LU_STATE_IN_SHUTDOWN        /* when sbp2_remove was called */
 };
 
 /* Sbp2 host data structure (one per IEEE1394 host) */
This page took 0.023747 seconds and 5 git commands to generate.