• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/scsi/cxgb3i/
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
16struct 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
26struct 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
56void cxgb3i_conn_closing(struct s3_conn *c3cn);
57void cxgb3i_conn_pdu_ready(struct s3_conn *c3cn);
58void cxgb3i_conn_tx_open(struct s3_conn *c3cn);
59#endif
60