xref: /linux/drivers/scsi/cxgbi/cxgb4i/cxgb4i.h (revision a2cce7a9f1b8cc3d4edce106fb971529f1d4d9ce)
1 /*
2  * cxgb4i.h: Chelsio T4 iSCSI driver.
3  *
4  * Copyright (c) 2010-2015 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  * Written by: Rakesh Ranjan (rranjan@chelsio.com)
12  */
13 
14 #ifndef	__CXGB4I_H__
15 #define	__CXGB4I_H__
16 
17 #define	CXGB4I_SCSI_HOST_QDEPTH	1024
18 #define	CXGB4I_MAX_CONN		16384
19 #define	CXGB4I_MAX_TARGET	CXGB4I_MAX_CONN
20 #define	CXGB4I_MAX_LUN		0x1000
21 
22 /* for TX: a skb must have a headroom of at least TX_HEADER_LEN bytes */
23 #define CXGB4I_TX_HEADER_LEN \
24 	(sizeof(struct fw_ofld_tx_data_wr) + sizeof(struct sge_opaque_hdr))
25 
26 #define T5_ISS_VALID		(1 << 18)
27 
28 struct ulptx_idata {
29 	__be32 cmd_more;
30 	__be32 len;
31 };
32 
33 struct cpl_rx_data_ddp {
34 	union opcode_tid ot;
35 	__be16 urg;
36 	__be16 len;
37 	__be32 seq;
38 	union {
39 		__be32 nxt_seq;
40 		__be32 ddp_report;
41 	};
42 	__be32 ulp_crc;
43 	__be32 ddpvld;
44 };
45 #endif	/* __CXGB4I_H__ */
46