Commit | Line | Data |
---|---|---|
c3673464 KX |
1 | /* |
2 | * cxgb3i_ulp2.h: Chelsio S3xx iSCSI driver. | |
3 | * | |
4 | * Copyright (c) 2008 Chelsio Communications, Inc. | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or modify | |
7 | * it under the terms of the GNU General Public License as published by | |
8 | * the Free Software Foundation. | |
9 | * | |
10 | * Written by: Karen Xie (kxie@chelsio.com) | |
11 | */ | |
12 | ||
13 | #ifndef __CXGB3I_ULP2_PDU_H__ | |
14 | #define __CXGB3I_ULP2_PDU_H__ | |
15 | ||
16 | struct cpl_iscsi_hdr_norss { | |
17 | union opcode_tid ot; | |
18 | u16 pdu_len_ddp; | |
19 | u16 len; | |
20 | u32 seq; | |
21 | u16 urg; | |
22 | u8 rsvd; | |
23 | u8 status; | |
24 | }; | |
25 | ||
26 | struct cpl_rx_data_ddp_norss { | |
27 | union opcode_tid ot; | |
28 | u16 urg; | |
29 | u16 len; | |
30 | u32 seq; | |
31 | u32 nxt_seq; | |
32 | u32 ulp_crc; | |
33 | u32 ddp_status; | |
34 | }; | |
35 | ||
36 | #define RX_DDP_STATUS_IPP_SHIFT 27 /* invalid pagepod */ | |
37 | #define RX_DDP_STATUS_TID_SHIFT 26 /* tid mismatch */ | |
38 | #define RX_DDP_STATUS_COLOR_SHIFT 25 /* color mismatch */ | |
39 | #define RX_DDP_STATUS_OFFSET_SHIFT 24 /* offset mismatch */ | |
40 | #define RX_DDP_STATUS_ULIMIT_SHIFT 23 /* ulimit error */ | |
41 | #define RX_DDP_STATUS_TAG_SHIFT 22 /* tag mismatch */ | |
42 | #define RX_DDP_STATUS_DCRC_SHIFT 21 /* dcrc error */ | |
43 | #define RX_DDP_STATUS_HCRC_SHIFT 20 /* hcrc error */ | |
44 | #define RX_DDP_STATUS_PAD_SHIFT 19 /* pad error */ | |
45 | #define RX_DDP_STATUS_PPP_SHIFT 18 /* pagepod parity error */ | |
46 | #define RX_DDP_STATUS_LLIMIT_SHIFT 17 /* llimit error */ | |
47 | #define RX_DDP_STATUS_DDP_SHIFT 16 /* ddp'able */ | |
48 | #define RX_DDP_STATUS_PMM_SHIFT 15 /* pagepod mismatch */ | |
49 | ||
50 | #define ULP2_FLAG_DATA_READY 0x1 | |
51 | #define ULP2_FLAG_DATA_DDPED 0x2 | |
52 | #define ULP2_FLAG_HCRC_ERROR 0x10 | |
53 | #define ULP2_FLAG_DCRC_ERROR 0x20 | |
54 | #define ULP2_FLAG_PAD_ERROR 0x40 | |
55 | ||
56 | void cxgb3i_conn_closing(struct s3_conn *); | |
57 | void cxgb3i_conn_pdu_ready(struct s3_conn *c3cn); | |
58 | void cxgb3i_conn_tx_open(struct s3_conn *c3cn); | |
59 | #endif |