]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/scsi/iscsi_tcp.h
[SCSI] ips: PCI API cleanups
[linux-2.6-omap-h63xx.git] / drivers / scsi / iscsi_tcp.h
index e35701305fc9693c846a498a6dbf1c14c0594e7f..68c36cc8997e47f451f4c7c7227ab378dbd57c07 100644 (file)
 #define IN_PROGRESS_HEADER_GATHER      0x1
 #define IN_PROGRESS_DATA_RECV          0x2
 #define IN_PROGRESS_DDIGEST_RECV       0x3
+#define IN_PROGRESS_PAD_RECV           0x4
 
 /* xmit state machine */
-#define        XMSTATE_IDLE                    0x0
-#define        XMSTATE_R_HDR                   0x1
-#define        XMSTATE_W_HDR                   0x2
-#define        XMSTATE_IMM_HDR                 0x4
-#define        XMSTATE_IMM_DATA                0x8
-#define        XMSTATE_UNS_INIT                0x10
-#define        XMSTATE_UNS_HDR                 0x20
-#define        XMSTATE_UNS_DATA                0x40
-#define        XMSTATE_SOL_HDR                 0x80
-#define        XMSTATE_SOL_DATA                0x100
-#define        XMSTATE_W_PAD                   0x200
-#define XMSTATE_DATA_DIGEST            0x400
-
-#define ISCSI_CONN_RCVBUF_MIN          262144
-#define ISCSI_CONN_SNDBUF_MIN          262144
+#define XMSTATE_VALUE_IDLE                     0
+#define XMSTATE_BIT_CMD_HDR_INIT               0
+#define XMSTATE_BIT_CMD_HDR_XMIT               1
+#define XMSTATE_BIT_IMM_HDR                    2
+#define XMSTATE_BIT_IMM_DATA                   3
+#define XMSTATE_BIT_UNS_INIT                   4
+#define XMSTATE_BIT_UNS_HDR                    5
+#define XMSTATE_BIT_UNS_DATA                   6
+#define XMSTATE_BIT_SOL_HDR                    7
+#define XMSTATE_BIT_SOL_DATA                   8
+#define XMSTATE_BIT_W_PAD                      9
+#define XMSTATE_BIT_W_RESEND_PAD               10
+#define XMSTATE_BIT_W_RESEND_DATA_DIGEST       11
+#define XMSTATE_BIT_IMM_HDR_INIT               12
+#define XMSTATE_BIT_SOL_HDR_INIT               13
+
 #define ISCSI_PAD_LEN                  4
-#define ISCSI_R2T_MAX                  16
 #define ISCSI_SG_TABLESIZE             SG_ALL
 #define ISCSI_TCP_MAX_CMD_LEN          16
 
@@ -85,9 +86,6 @@ struct iscsi_tcp_conn {
        /* iSCSI connection-wide sequencing */
        int                     hdr_size;       /* PDU header size */
 
-       struct crypto_hash      *rx_tfm;        /* CRC32C (Rx) */
-       struct hash_desc        data_rx_hash;   /* CRC32C (Rx) for data */
-
        /* control data */
        struct iscsi_tcp_recv   in;             /* TCP receive context */
        int                     in_progress;    /* connection state machine */
@@ -97,9 +95,9 @@ struct iscsi_tcp_conn {
        void                    (*old_state_change)(struct sock *);
        void                    (*old_write_space)(struct sock *);
 
-       /* xmit */
-       struct crypto_hash      *tx_tfm;        /* CRC32C (Tx) */
-       struct hash_desc        data_tx_hash;   /* CRC32C (Tx) for data */
+       /* data and header digests */
+       struct hash_desc        tx_hash;        /* CRC32C (Tx) */
+       struct hash_desc        rx_hash;        /* CRC32C (Rx) */
 
        /* MIB custom statistics */
        uint32_t                sendpage_failures_cnt;
@@ -124,7 +122,7 @@ struct iscsi_data_task {
 struct iscsi_tcp_mgmt_task {
        struct iscsi_hdr        hdr;
        char                    hdrext[sizeof(__u32)]; /* Header-Digest */
-       int                     xmstate;        /* mgmt xmit progress */
+       unsigned long           xmstate;        /* mgmt xmit progress */
        struct iscsi_buf        headbuf;        /* header buffer */
        struct iscsi_buf        sendbuf;        /* in progress buffer */
        int                     sent;
@@ -152,25 +150,21 @@ struct iscsi_tcp_cmd_task {
        int                     pad_count;              /* padded bytes */
        struct iscsi_buf        headbuf;                /* header buf (xmit) */
        struct iscsi_buf        sendbuf;                /* in progress buffer*/
-       int                     xmstate;                /* xmit xtate machine */
+       unsigned long           xmstate;                /* xmit xtate machine */
        int                     sent;
        struct scatterlist      *sg;                    /* per-cmd SG list  */
        struct scatterlist      *bad_sg;                /* assert statement */
        int                     sg_count;               /* SG's to process  */
-       uint32_t                exp_r2tsn;
-       int                     r2t_data_count;         /* R2T Data-Out bytes */
+       uint32_t                exp_datasn;             /* expected target's R2TSN/DataSN */
        int                     data_offset;
        struct iscsi_r2t_info   *r2t;                   /* in progress R2T    */
        struct iscsi_queue      r2tpool;
        struct kfifo            *r2tqueue;
        struct iscsi_r2t_info   **r2ts;
-       uint32_t                datadigest;             /* for recover digest */
        int                     digest_count;
        uint32_t                immdigest;              /* for imm data */
        struct iscsi_buf        immbuf;                 /* for imm data digest */
-       struct iscsi_data_task  *dtask;         /* data task in progress*/
        struct iscsi_data_task  unsol_dtask;    /* unsol data task */
-       int                     digest_offset;  /* for partial buff digest */
 };
 
 #endif /* ISCSI_H */