2 * Copyright (C) 2003-2006 Chelsio Communications. All rights reserved.
4 * This program is distributed in the hope that it will be useful, but WITHOUT
5 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
6 * FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file included in this
7 * release for licensing terms and conditions.
10 #ifndef _CXGB3_OFFLOAD_CTL_DEFS_H
11 #define _CXGB3_OFFLOAD_CTL_DEFS_H
14 GET_MAX_OUTSTANDING_WR,
38 * Structure used to describe a TID range. Valid TIDs are [base, base+num).
41 unsigned int base; /* first TID */
42 unsigned int num; /* number of TIDs in range */
46 * Structure used to request the size and contents of the MTU table.
49 unsigned int size; /* # of entries in the MTU table */
50 const unsigned short *mtus; /* the MTU table values */
56 * Structure used to request the adapter net_device owning a given MAC address.
59 struct net_device *dev; /* the net_device */
60 const unsigned char *mac_addr; /* MAC address to lookup */
67 * Structure used to request the TCP DDP parameters.
70 unsigned int llimit; /* TDDP region start address */
71 unsigned int ulimit; /* TDDP region end address */
72 unsigned int tag_mask; /* TDDP tag mask */
77 unsigned int nports; /* number of ports on this adapter */
78 struct net_device *lldevs[2];
82 * Structure used to return information to the iscsi layer.
84 struct ulp_iscsi_info {
93 unsigned int max_rxsz;
94 unsigned int max_txsz;
99 * Structure used to return information to the RDMA layer.
102 unsigned int tpt_base; /* TPT base address */
103 unsigned int tpt_top; /* TPT last entry address */
104 unsigned int pbl_base; /* PBL base address */
105 unsigned int pbl_top; /* PBL last entry address */
106 unsigned int rqt_base; /* RQT base address */
107 unsigned int rqt_top; /* RQT last entry address */
108 unsigned int udbell_len; /* user doorbell region length */
109 unsigned long udbell_physbase; /* user doorbell physical start addr */
110 void __iomem *kdb_addr; /* kernel doorbell register address */
111 struct pci_dev *pdev; /* associated PCI device */
115 * Structure used to request an operation on an RDMA completion queue.
120 unsigned int credits;
124 * Structure used to setup RDMA completion queues.
126 struct rdma_cq_setup {
128 unsigned long long base_addr;
130 unsigned int credits;
131 unsigned int credit_thres;
132 unsigned int ovfl_mode;
136 * Structure used to setup the RDMA control egress context.
138 struct rdma_ctrlqp_setup {
139 unsigned long long base_addr;
142 #endif /* _CXGB3_OFFLOAD_CTL_DEFS_H */