FreeBSD kernel CXGBE device code
iw_cxgbe.h File Reference
#include <linux/list.h>
#include <linux/spinlock.h>
#include <linux/idr.h>
#include <linux/completion.h>
#include <linux/sched.h>
#include <linux/pci.h>
#include <linux/dma-mapping.h>
#include <linux/wait.h>
#include <linux/kref.h>
#include <linux/timer.h>
#include <linux/io.h>
#include <sys/vmem.h>
#include <asm/byteorder.h>
#include <netinet/in.h>
#include <netinet/toecore.h>
#include <rdma/ib_verbs.h>
#include <rdma/iw_cm.h>
#include <rdma/uverbs_ioctl.h>
#include "common/common.h"
#include "common/t4_msg.h"
#include "common/t4_regs.h"
#include "common/t4_tcb.h"
#include "t4_l2t.h"
#include "t4.h"
Include dependency graph for iw_cxgbe.h:

Go to the source code of this file.

Data Structures

struct  c4iw_id_table
 
struct  c4iw_resource
 
struct  c4iw_qid_list
 
struct  c4iw_dev_ucontext
 
struct  c4iw_stat
 
struct  c4iw_stats
 
struct  c4iw_hw_queue
 
struct  c4iw_rdev
 
struct  c4iw_wr_wait
 
struct  c4iw_dev
 
struct  c4iw_pd
 
struct  tpt_attributes
 
struct  c4iw_mr
 
struct  c4iw_mw
 
struct  c4iw_cq
 
struct  c4iw_mpa_attributes
 
struct  c4iw_qp_attributes
 
struct  c4iw_ib_srq
 
struct  c4iw_ib_ah
 
struct  c4iw_qp
 
struct  c4iw_ucontext
 
struct  c4iw_mm_entry
 
struct  mpa_message
 
struct  mpa_v2_conn_params
 
struct  terminate_message
 
struct  c4iw_ep_common
 
struct  c4iw_listen_ep
 
struct  c4iw_ep
 

Macros

#define DRV_NAME   "iw_cxgbe"
 
#define MOD   DRV_NAME ":"
 
#define KTR_IW_CXGBE   KTR_SPARE3
 
#define PDBG(fmt, args...)
 
#define PBL_OFF(rdev_p, a)   ((a) - (rdev_p)->adap->vres.pbl.start)
 
#define RQT_OFF(rdev_p, a)   ((a) - (rdev_p)->adap->vres.rq.start)
 
#define C4IW_ID_TABLE_F_RANDOM   1 /* Pseudo-randomize the id's returned */
 
#define C4IW_ID_TABLE_F_EMPTY   2 /* Table is initially empty */
 
#define C4IW_MAX_PAGE_SIZE   0x8000000
 
#define C4IW_WR_TO   (60*HZ)
 
#define C4IW_EVENT_SOCKET   0x0001
 
#define C4IW_EVENT_TIMEOUT   0x0002
 
#define C4IW_EVENT_TERM   0x0004
 
#define C4IW_DRAIN_OPCODE   FW_RI_SGE_EC_CR_RETURN
 
#define C4IW_NODE_DESC   "iw_cxgbe Chelsio Communications"
 
#define MPA_KEY_REQ   "MPA ID Req Frame"
 
#define MPA_KEY_REP   "MPA ID Rep Frame"
 
#define MPA_MAX_PRIVATE_DATA   256
 
#define MPA_ENHANCED_RDMA_CONN   0x10
 
#define MPA_REJECT   0x20
 
#define MPA_CRC   0x40
 
#define MPA_MARKERS   0x80
 
#define MPA_FLAGS_MASK   0xE0
 
#define MPA_V2_PEER2PEER_MODEL   0x8000
 
#define MPA_V2_ZERO_LEN_FPDU_RTR   0x4000
 
#define MPA_V2_RDMA_WRITE_RTR   0x8000
 
#define MPA_V2_RDMA_READ_RTR   0x4000
 
#define MPA_V2_IRD_ORD_MASK   0x3FFF
 
#define c4iw_put_ep(ep)
 
#define c4iw_get_ep(ep)
 
#define TERM_MAX_LENGTH   (sizeof(struct terminate_message) + 2 + 18 + 28)
 

Typedefs

typedef int(* c4iw_handler_func) (struct c4iw_dev *dev, struct mbuf *m)
 

Enumerations

enum  c4iw_rdev_flags { T4_FATAL_ERROR = (1<<0) , T4_STATUS_PAGE_DISABLED = (1<<1) }
 
enum  c4iw_qp_attr_mask {
  C4IW_QP_ATTR_NEXT_STATE = 1 << 0 , C4IW_QP_ATTR_SQ_DB = 1<<1 , C4IW_QP_ATTR_RQ_DB = 1<<2 , C4IW_QP_ATTR_ENABLE_RDMA_READ = 1 << 7 ,
  C4IW_QP_ATTR_ENABLE_RDMA_WRITE = 1 << 8 , C4IW_QP_ATTR_ENABLE_RDMA_BIND = 1 << 9 , C4IW_QP_ATTR_MAX_ORD = 1 << 11 , C4IW_QP_ATTR_MAX_IRD = 1 << 12 ,
  C4IW_QP_ATTR_LLP_STREAM_HANDLE = 1 << 22 , C4IW_QP_ATTR_STREAM_MSG_BUFFER = 1 << 23 , C4IW_QP_ATTR_MPA_ATTR = 1 << 24 , C4IW_QP_ATTR_QP_CONTEXT_ACTIVATE = 1 << 25 ,
  C4IW_QP_ATTR_VALID_MODIFY
}
 
enum  c4iw_qp_state {
  C4IW_QP_STATE_IDLE , C4IW_QP_STATE_RTS , C4IW_QP_STATE_ERROR , C4IW_QP_STATE_TERMINATE ,
  C4IW_QP_STATE_CLOSING , C4IW_QP_STATE_TOT
}
 
enum  c4iw_mmid_state { C4IW_STAG_STATE_VALID , C4IW_STAG_STATE_INVALID }
 
enum  c4iw_layers_types {
  LAYER_RDMAP = 0x00 , LAYER_DDP = 0x10 , LAYER_MPA = 0x20 , RDMAP_LOCAL_CATA = 0x00 ,
  RDMAP_REMOTE_PROT = 0x01 , RDMAP_REMOTE_OP = 0x02 , DDP_LOCAL_CATA = 0x00 , DDP_TAGGED_ERR = 0x01 ,
  DDP_UNTAGGED_ERR = 0x02 , DDP_LLP = 0x03
}
 
enum  c4iw_rdma_ecodes {
  RDMAP_INV_STAG = 0x00 , RDMAP_BASE_BOUNDS = 0x01 , RDMAP_ACC_VIOL = 0x02 , RDMAP_STAG_NOT_ASSOC = 0x03 ,
  RDMAP_TO_WRAP = 0x04 , RDMAP_INV_VERS = 0x05 , RDMAP_INV_OPCODE = 0x06 , RDMAP_STREAM_CATA = 0x07 ,
  RDMAP_GLOBAL_CATA = 0x08 , RDMAP_CANT_INV_STAG = 0x09 , RDMAP_UNSPECIFIED = 0xff
}
 
enum  c4iw_ddp_ecodes {
  DDPT_INV_STAG = 0x00 , DDPT_BASE_BOUNDS = 0x01 , DDPT_STAG_NOT_ASSOC = 0x02 , DDPT_TO_WRAP = 0x03 ,
  DDPT_INV_VERS = 0x04 , DDPU_INV_QN = 0x01 , DDPU_INV_MSN_NOBUF = 0x02 , DDPU_INV_MSN_RANGE = 0x03 ,
  DDPU_INV_MO = 0x04 , DDPU_MSG_TOOBIG = 0x05 , DDPU_INV_VERS = 0x06
}
 
enum  c4iw_mpa_ecodes {
  MPA_CRC_ERR = 0x02 , MPA_MARKER_ERR = 0x03 , MPA_LOCAL_CATA = 0x05 , MPA_INSUFF_IRD = 0x06 ,
  MPA_NOMATCH_RTR = 0x07
}
 
enum  c4iw_ep_state {
  IDLE = 0 , LISTEN , CONNECTING , MPA_REQ_WAIT ,
  MPA_REQ_SENT , MPA_REQ_RCVD , MPA_REP_SENT , FPDU_MODE ,
  ABORTING , CLOSING , MORIBUND , DEAD
}
 
enum  c4iw_ep_flags {
  PEER_ABORT_IN_PROGRESS = 0 , ABORT_REQ_IN_PROGRESS = 1 , RELEASE_RESOURCES = 2 , CLOSE_SENT = 3 ,
  TIMEOUT = 4 , QP_REFERENCED = 5 , STOP_MPA_TIMER = 7
}
 
enum  c4iw_ep_history {
  ACT_OPEN_REQ = 0 , ACT_OFLD_CONN = 1 , ACT_OPEN_RPL = 2 , ACT_ESTAB = 3 ,
  PASS_ACCEPT_REQ = 4 , PASS_ESTAB = 5 , ABORT_UPCALL = 6 , ESTAB_UPCALL = 7 ,
  CLOSE_UPCALL = 8 , ULP_ACCEPT = 9 , ULP_REJECT = 10 , TIMEDOUT = 11 ,
  PEER_ABORT = 12 , PEER_CLOSE = 13 , CONNREQ_UPCALL = 14 , ABORT_CONN = 15 ,
  DISCONN_UPCALL = 16 , EP_DISC_CLOSE = 17 , EP_DISC_ABORT = 18 , CONN_RPL_UPCALL = 19 ,
  ACT_RETRY_NOMEM = 20 , ACT_RETRY_INUSE = 21 , CLOSE_CON_RPL = 22 , EP_DISC_FAIL = 24 ,
  QP_REFED = 25 , QP_DEREFED = 26 , CM_ID_REFED = 27 , CM_ID_DEREFED = 28
}
 

Functions

static void * cplhdr (struct mbuf *m)
 
static int c4iw_fatal_error (struct c4iw_rdev *rdev)
 
static int c4iw_num_stags (struct c4iw_rdev *rdev)
 
static int t4_max_fr_depth (struct c4iw_rdev *rdev, bool use_dsgl)
 
static void c4iw_init_wr_wait (struct c4iw_wr_wait *wr_waitp)
 
static void c4iw_wake_up (struct c4iw_wr_wait *wr_waitp, int ret)
 
static int c4iw_wait_for_reply (struct c4iw_rdev *rdev, struct c4iw_wr_wait *wr_waitp, u32 hwtid, u32 qpid, struct socket *so, const char *func)
 
static struct c4iw_devto_c4iw_dev (struct ib_device *ibdev)
 
static struct c4iw_devrdev_to_c4iw_dev (struct c4iw_rdev *rdev)
 
static struct c4iw_cqget_chp (struct c4iw_dev *rhp, u32 cqid)
 
static struct c4iw_qpget_qhp (struct c4iw_dev *rhp, u32 qpid)
 
static struct c4iw_mrget_mhp (struct c4iw_dev *rhp, u32 mmid)
 
static int _insert_handle (struct c4iw_dev *rhp, struct idr *idr, void *handle, u32 id, int lock)
 
static int insert_handle (struct c4iw_dev *rhp, struct idr *idr, void *handle, u32 id)
 
static int insert_handle_nolock (struct c4iw_dev *rhp, struct idr *idr, void *handle, u32 id)
 
static void _remove_handle (struct c4iw_dev *rhp, struct idr *idr, u32 id, int lock)
 
static void remove_handle (struct c4iw_dev *rhp, struct idr *idr, u32 id)
 
static void remove_handle_nolock (struct c4iw_dev *rhp, struct idr *idr, u32 id)
 
static int cur_max_read_depth (struct c4iw_dev *dev)
 
static struct c4iw_pdto_c4iw_pd (struct ib_pd *ibpd)
 
static struct c4iw_mrto_c4iw_mr (struct ib_mr *ibmr)
 
static struct c4iw_mwto_c4iw_mw (struct ib_mw *ibmw)
 
static struct c4iw_cqto_c4iw_cq (struct ib_cq *ibcq)
 
static struct c4iw_qpto_c4iw_qp (struct ib_qp *ibqp)
 
static struct c4iw_ucontextto_c4iw_ucontext (struct ib_ucontext *c)
 
static struct c4iw_mm_entryremove_mmap (struct c4iw_ucontext *ucontext, u32 key, unsigned len)
 
static void insert_mmap (struct c4iw_ucontext *ucontext, struct c4iw_mm_entry *mm)
 
int c4iw_modify_qp (struct c4iw_dev *rhp, struct c4iw_qp *qhp, enum c4iw_qp_attr_mask mask, struct c4iw_qp_attributes *attrs, int internal)
 
static int c4iw_convert_state (enum ib_qp_state ib_state)
 
static int to_ib_qp_state (int c4iw_qp_state)
 
static u32 c4iw_ib_to_tpt_access (int a)
 
static u32 c4iw_ib_to_tpt_bind_access (int acc)
 
void _c4iw_free_ep (struct kref *kref)
 
static struct c4iw_epto_ep (struct iw_cm_id *cm_id)
 
static struct c4iw_listen_epto_listen_ep (struct iw_cm_id *cm_id)
 
static int compute_wscale (int win)
 
u32 c4iw_id_alloc (struct c4iw_id_table *alloc)
 
void c4iw_id_free (struct c4iw_id_table *alloc, u32 obj)
 
int c4iw_id_table_alloc (struct c4iw_id_table *alloc, u32 start, u32 num, u32 reserved, u32 flags)
 
void c4iw_id_table_free (struct c4iw_id_table *alloc)
 
int c4iw_ep_redirect (void *ctx, struct dst_entry *old, struct dst_entry *new, struct l2t_entry *l2t)
 
u32 c4iw_get_resource (struct c4iw_id_table *id_table)
 
void c4iw_put_resource (struct c4iw_id_table *id_table, u32 entry)
 
int c4iw_init_resource (struct c4iw_rdev *rdev, u32 nr_tpt, u32 nr_pdid)
 
int c4iw_init_ctrl_qp (struct c4iw_rdev *rdev)
 
int c4iw_pblpool_create (struct c4iw_rdev *rdev)
 
int c4iw_rqtpool_create (struct c4iw_rdev *rdev)
 
void c4iw_pblpool_destroy (struct c4iw_rdev *rdev)
 
void c4iw_rqtpool_destroy (struct c4iw_rdev *rdev)
 
void c4iw_destroy_resource (struct c4iw_resource *rscp)
 
int c4iw_destroy_ctrl_qp (struct c4iw_rdev *rdev)
 
int c4iw_register_device (struct c4iw_dev *dev)
 
void c4iw_unregister_device (struct c4iw_dev *dev)
 
int __init c4iw_cm_init (void)
 
void __exit c4iw_cm_term (void)
 
void c4iw_release_dev_ucontext (struct c4iw_rdev *rdev, struct c4iw_dev_ucontext *uctx)
 
void c4iw_init_dev_ucontext (struct c4iw_rdev *rdev, struct c4iw_dev_ucontext *uctx)
 
int c4iw_poll_cq (struct ib_cq *ibcq, int num_entries, struct ib_wc *wc)
 
int c4iw_post_send (struct ib_qp *ibqp, const struct ib_send_wr *wr, const struct ib_send_wr **bad_wr)
 
int c4iw_post_receive (struct ib_qp *ibqp, const struct ib_recv_wr *wr, const struct ib_recv_wr **bad_wr)
 
int c4iw_connect (struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
 
int c4iw_create_listen (struct iw_cm_id *cm_id, int backlog)
 
int c4iw_destroy_listen (struct iw_cm_id *cm_id)
 
int c4iw_accept_cr (struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
 
int c4iw_reject_cr (struct iw_cm_id *cm_id, const void *pdata, u8 pdata_len)
 
void c4iw_qp_add_ref (struct ib_qp *qp)
 
void c4iw_qp_rem_ref (struct ib_qp *qp)
 
struct ib_mr * c4iw_alloc_mr (struct ib_pd *pd, enum ib_mr_type mr_type, u32 max_num_sg, struct ib_udata *udata)
 
int c4iw_map_mr_sg (struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents, unsigned int *sg_offset)
 
int c4iw_dealloc_mw (struct ib_mw *mw)
 
struct ib_mw * c4iw_alloc_mw (struct ib_pd *pd, enum ib_mw_type type, struct ib_udata *udata)
 
struct ib_mr * c4iw_reg_user_mr (struct ib_pd *pd, u64 start, u64 length, u64 virt, int acc, struct ib_udata *udata)
 
struct ib_mr * c4iw_get_dma_mr (struct ib_pd *pd, int acc)
 
int c4iw_dereg_mr (struct ib_mr *ib_mr, struct ib_udata *udata)
 
void c4iw_invalidate_mr (struct c4iw_dev *rhp, u32 rkey)
 
void c4iw_destroy_cq (struct ib_cq *ib_cq, struct ib_udata *udata)
 
int c4iw_create_cq (struct ib_cq *ibcq, const struct ib_cq_init_attr *attr, struct ib_udata *udata)
 
int c4iw_resize_cq (struct ib_cq *cq, int cqe, struct ib_udata *udata)
 
int c4iw_arm_cq (struct ib_cq *ibcq, enum ib_cq_notify_flags flags)
 
int c4iw_destroy_qp (struct ib_qp *ib_qp, struct ib_udata *udata)
 
struct ib_qp * c4iw_create_qp (struct ib_pd *pd, struct ib_qp_init_attr *attrs, struct ib_udata *udata)
 
int c4iw_ib_modify_qp (struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct ib_udata *udata)
 
int c4iw_ib_query_qp (struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct ib_qp_init_attr *init_attr)
 
struct ib_qp * c4iw_get_qp (struct ib_device *dev, int qpn)
 
u32 c4iw_rqtpool_alloc (struct c4iw_rdev *rdev, int size)
 
void c4iw_rqtpool_free (struct c4iw_rdev *rdev, u32 addr, int size)
 
u32 c4iw_pblpool_alloc (struct c4iw_rdev *rdev, int size)
 
void c4iw_pblpool_free (struct c4iw_rdev *rdev, u32 addr, int size)
 
int c4iw_ofld_send (struct c4iw_rdev *rdev, struct mbuf *m)
 
void c4iw_flush_hw_cq (struct c4iw_cq *cq)
 
void c4iw_count_rcqes (struct t4_cq *cq, struct t4_wq *wq, int *count)
 
int c4iw_ep_disconnect (struct c4iw_ep *ep, int abrupt, gfp_t gfp)
 
int __c4iw_ep_disconnect (struct c4iw_ep *ep, int abrupt, gfp_t gfp)
 
int c4iw_flush_rq (struct t4_wq *wq, struct t4_cq *cq, int count)
 
int c4iw_flush_sq (struct c4iw_qp *qhp)
 
int c4iw_ev_handler (struct sge_iq *, const struct rsp_ctrl *)
 
u16 c4iw_rqes_posted (struct c4iw_qp *qhp)
 
int c4iw_post_terminate (struct c4iw_qp *qhp, struct t4_cqe *err_cqe)
 
u32 c4iw_get_cqid (struct c4iw_rdev *rdev, struct c4iw_dev_ucontext *uctx)
 
void c4iw_put_cqid (struct c4iw_rdev *rdev, u32 qid, struct c4iw_dev_ucontext *uctx)
 
u32 c4iw_get_qpid (struct c4iw_rdev *rdev, struct c4iw_dev_ucontext *uctx)
 
void c4iw_put_qpid (struct c4iw_rdev *rdev, u32 qid, struct c4iw_dev_ucontext *uctx)
 
void c4iw_ev_dispatch (struct c4iw_dev *dev, struct t4_cqe *err_cqe)
 

Variables

int c4iw_debug
 
int use_dsgl
 
int inline_threshold
 
int c4iw_max_read_depth
 

Macro Definition Documentation

◆ C4IW_DRAIN_OPCODE

#define C4IW_DRAIN_OPCODE   FW_RI_SGE_EC_CR_RETURN

Definition at line 642 of file iw_cxgbe.h.

◆ C4IW_EVENT_SOCKET

#define C4IW_EVENT_SOCKET   0x0001

Definition at line 602 of file iw_cxgbe.h.

◆ C4IW_EVENT_TERM

#define C4IW_EVENT_TERM   0x0004

Definition at line 604 of file iw_cxgbe.h.

◆ C4IW_EVENT_TIMEOUT

#define C4IW_EVENT_TIMEOUT   0x0002

Definition at line 603 of file iw_cxgbe.h.

◆ c4iw_get_ep

#define c4iw_get_ep (   ep)
Value:
{ \
CTR4(KTR_IW_CXGBE, "get_ep (%s:%u) ep %p, refcnt %d", \
__func__, __LINE__, ep, atomic_read(&(ep)->kref.refcount)); \
kref_get(&((ep)->kref)); \
}
#define KTR_IW_CXGBE
Definition: iw_cxgbe.h:68

Definition at line 688 of file iw_cxgbe.h.

◆ C4IW_ID_TABLE_F_EMPTY

#define C4IW_ID_TABLE_F_EMPTY   2 /* Table is initially empty */

Definition at line 91 of file iw_cxgbe.h.

◆ C4IW_ID_TABLE_F_RANDOM

#define C4IW_ID_TABLE_F_RANDOM   1 /* Pseudo-randomize the id's returned */

Definition at line 90 of file iw_cxgbe.h.

◆ C4IW_MAX_PAGE_SIZE

#define C4IW_MAX_PAGE_SIZE   0x8000000

Definition at line 92 of file iw_cxgbe.h.

◆ C4IW_NODE_DESC

#define C4IW_NODE_DESC   "iw_cxgbe Chelsio Communications"

Definition at line 663 of file iw_cxgbe.h.

◆ c4iw_put_ep

#define c4iw_put_ep (   ep)
Value:
{ \
CTR4(KTR_IW_CXGBE, "put_ep (%s:%u) ep %p, refcnt %d", \
__func__, __LINE__, ep, atomic_read(&(ep)->kref.refcount)); \
WARN_ON(atomic_read(&(ep)->kref.refcount) < 1); \
kref_put(&((ep)->kref), _c4iw_free_ep); \
}
void _c4iw_free_ep(struct kref *kref)

Definition at line 681 of file iw_cxgbe.h.

◆ C4IW_WR_TO

#define C4IW_WR_TO   (60*HZ)

Definition at line 190 of file iw_cxgbe.h.

◆ DRV_NAME

#define DRV_NAME   "iw_cxgbe"

Definition at line 66 of file iw_cxgbe.h.

◆ KTR_IW_CXGBE

#define KTR_IW_CXGBE   KTR_SPARE3

Definition at line 68 of file iw_cxgbe.h.

◆ MOD

#define MOD   DRV_NAME ":"

Definition at line 67 of file iw_cxgbe.h.

◆ MPA_CRC

#define MPA_CRC   0x40

Definition at line 671 of file iw_cxgbe.h.

◆ MPA_ENHANCED_RDMA_CONN

#define MPA_ENHANCED_RDMA_CONN   0x10

Definition at line 669 of file iw_cxgbe.h.

◆ MPA_FLAGS_MASK

#define MPA_FLAGS_MASK   0xE0

Definition at line 673 of file iw_cxgbe.h.

◆ MPA_KEY_REP

#define MPA_KEY_REP   "MPA ID Rep Frame"

Definition at line 666 of file iw_cxgbe.h.

◆ MPA_KEY_REQ

#define MPA_KEY_REQ   "MPA ID Req Frame"

Definition at line 665 of file iw_cxgbe.h.

◆ MPA_MARKERS

#define MPA_MARKERS   0x80

Definition at line 672 of file iw_cxgbe.h.

◆ MPA_MAX_PRIVATE_DATA

#define MPA_MAX_PRIVATE_DATA   256

Definition at line 668 of file iw_cxgbe.h.

◆ MPA_REJECT

#define MPA_REJECT   0x20

Definition at line 670 of file iw_cxgbe.h.

◆ MPA_V2_IRD_ORD_MASK

#define MPA_V2_IRD_ORD_MASK   0x3FFF

Definition at line 679 of file iw_cxgbe.h.

◆ MPA_V2_PEER2PEER_MODEL

#define MPA_V2_PEER2PEER_MODEL   0x8000

Definition at line 675 of file iw_cxgbe.h.

◆ MPA_V2_RDMA_READ_RTR

#define MPA_V2_RDMA_READ_RTR   0x4000

Definition at line 678 of file iw_cxgbe.h.

◆ MPA_V2_RDMA_WRITE_RTR

#define MPA_V2_RDMA_WRITE_RTR   0x8000

Definition at line 677 of file iw_cxgbe.h.

◆ MPA_V2_ZERO_LEN_FPDU_RTR

#define MPA_V2_ZERO_LEN_FPDU_RTR   0x4000

Definition at line 676 of file iw_cxgbe.h.

◆ PBL_OFF

#define PBL_OFF (   rdev_p,
 
)    ((a) - (rdev_p)->adap->vres.pbl.start)

Definition at line 87 of file iw_cxgbe.h.

◆ PDBG

#define PDBG (   fmt,
  args... 
)
Value:
do { \
if (c4iw_debug) \
printf(MOD fmt, ## args); \
} while (0)
#define MOD
Definition: iw_cxgbe.h:67
int c4iw_debug

Definition at line 74 of file iw_cxgbe.h.

◆ RQT_OFF

#define RQT_OFF (   rdev_p,
 
)    ((a) - (rdev_p)->adap->vres.rq.start)

Definition at line 88 of file iw_cxgbe.h.

◆ TERM_MAX_LENGTH

#define TERM_MAX_LENGTH   (sizeof(struct terminate_message) + 2 + 18 + 28)

Definition at line 716 of file iw_cxgbe.h.

Typedef Documentation

◆ c4iw_handler_func

typedef int(* c4iw_handler_func) (struct c4iw_dev *dev, struct mbuf *m)

Definition at line 903 of file iw_cxgbe.h.

Enumeration Type Documentation

◆ c4iw_ddp_ecodes

Enumerator
DDPT_INV_STAG 
DDPT_BASE_BOUNDS 
DDPT_STAG_NOT_ASSOC 
DDPT_TO_WRAP 
DDPT_INV_VERS 
DDPU_INV_QN 
DDPU_INV_MSN_NOBUF 
DDPU_INV_MSN_RANGE 
DDPU_INV_MO 
DDPU_MSG_TOOBIG 
DDPU_INV_VERS 

Definition at line 745 of file iw_cxgbe.h.

◆ c4iw_ep_flags

Enumerator
PEER_ABORT_IN_PROGRESS 
ABORT_REQ_IN_PROGRESS 
RELEASE_RESOURCES 
CLOSE_SENT 
TIMEOUT 
QP_REFERENCED 
STOP_MPA_TIMER 

Definition at line 782 of file iw_cxgbe.h.

◆ c4iw_ep_history

Enumerator
ACT_OPEN_REQ 
ACT_OFLD_CONN 
ACT_OPEN_RPL 
ACT_ESTAB 
PASS_ACCEPT_REQ 
PASS_ESTAB 
ABORT_UPCALL 
ESTAB_UPCALL 
CLOSE_UPCALL 
ULP_ACCEPT 
ULP_REJECT 
TIMEDOUT 
PEER_ABORT 
PEER_CLOSE 
CONNREQ_UPCALL 
ABORT_CONN 
DISCONN_UPCALL 
EP_DISC_CLOSE 
EP_DISC_ABORT 
CONN_RPL_UPCALL 
ACT_RETRY_NOMEM 
ACT_RETRY_INUSE 
CLOSE_CON_RPL 
EP_DISC_FAIL 
QP_REFED 
QP_DEREFED 
CM_ID_REFED 
CM_ID_DEREFED 

Definition at line 792 of file iw_cxgbe.h.

◆ c4iw_ep_state

Enumerator
IDLE 
LISTEN 
CONNECTING 
MPA_REQ_WAIT 
MPA_REQ_SENT 
MPA_REQ_RCVD 
MPA_REP_SENT 
FPDU_MODE 
ABORTING 
CLOSING 
MORIBUND 
DEAD 

Definition at line 767 of file iw_cxgbe.h.

◆ c4iw_layers_types

Enumerator
LAYER_RDMAP 
LAYER_DDP 
LAYER_MPA 
RDMAP_LOCAL_CATA 
RDMAP_REMOTE_PROT 
RDMAP_REMOTE_OP 
DDP_LOCAL_CATA 
DDP_TAGGED_ERR 
DDP_UNTAGGED_ERR 
DDP_LLP 

Definition at line 718 of file iw_cxgbe.h.

◆ c4iw_mmid_state

Enumerator
C4IW_STAG_STATE_VALID 
C4IW_STAG_STATE_INVALID 

Definition at line 658 of file iw_cxgbe.h.

◆ c4iw_mpa_ecodes

Enumerator
MPA_CRC_ERR 
MPA_MARKER_ERR 
MPA_LOCAL_CATA 
MPA_INSUFF_IRD 
MPA_NOMATCH_RTR 

Definition at line 759 of file iw_cxgbe.h.

◆ c4iw_qp_attr_mask

Enumerator
C4IW_QP_ATTR_NEXT_STATE 
C4IW_QP_ATTR_SQ_DB 
C4IW_QP_ATTR_RQ_DB 
C4IW_QP_ATTR_ENABLE_RDMA_READ 
C4IW_QP_ATTR_ENABLE_RDMA_WRITE 
C4IW_QP_ATTR_ENABLE_RDMA_BIND 
C4IW_QP_ATTR_MAX_ORD 
C4IW_QP_ATTR_MAX_IRD 
C4IW_QP_ATTR_LLP_STREAM_HANDLE 
C4IW_QP_ATTR_STREAM_MSG_BUFFER 
C4IW_QP_ATTR_MPA_ATTR 
C4IW_QP_ATTR_QP_CONTEXT_ACTIVATE 
C4IW_QP_ATTR_VALID_MODIFY 

Definition at line 560 of file iw_cxgbe.h.

◆ c4iw_qp_state

Enumerator
C4IW_QP_STATE_IDLE 
C4IW_QP_STATE_RTS 
C4IW_QP_STATE_ERROR 
C4IW_QP_STATE_TERMINATE 
C4IW_QP_STATE_CLOSING 
C4IW_QP_STATE_TOT 

Definition at line 589 of file iw_cxgbe.h.

◆ c4iw_rdev_flags

Enumerator
T4_FATAL_ERROR 
T4_STATUS_PAGE_DISABLED 

Definition at line 120 of file iw_cxgbe.h.

◆ c4iw_rdma_ecodes

Enumerator
RDMAP_INV_STAG 
RDMAP_BASE_BOUNDS 
RDMAP_ACC_VIOL 
RDMAP_STAG_NOT_ASSOC 
RDMAP_TO_WRAP 
RDMAP_INV_VERS 
RDMAP_INV_OPCODE 
RDMAP_STREAM_CATA 
RDMAP_GLOBAL_CATA 
RDMAP_CANT_INV_STAG 
RDMAP_UNSPECIFIED 

Definition at line 731 of file iw_cxgbe.h.

Function Documentation

◆ __c4iw_ep_disconnect()

int __c4iw_ep_disconnect ( struct c4iw_ep ep,
int  abrupt,
gfp_t  gfp 
)

◆ _c4iw_free_ep()

void _c4iw_free_ep ( struct kref *  kref)

◆ _insert_handle()

static int _insert_handle ( struct c4iw_dev rhp,
struct idr *  idr,
void *  handle,
u32  id,
int  lock 
)
inlinestatic

Definition at line 306 of file iw_cxgbe.h.

References c4iw_dev::lock, and c4iw_mr::rhp.

Referenced by insert_handle(), and insert_handle_nolock().

Here is the caller graph for this function:

◆ _remove_handle()

static void _remove_handle ( struct c4iw_dev rhp,
struct idr *  idr,
u32  id,
int  lock 
)
inlinestatic

Definition at line 338 of file iw_cxgbe.h.

References c4iw_dev::lock, and c4iw_mr::rhp.

Referenced by remove_handle(), and remove_handle_nolock().

Here is the caller graph for this function:

◆ c4iw_accept_cr()

int c4iw_accept_cr ( struct iw_cm_id *  cm_id,
struct iw_cm_conn_param *  conn_param 
)

◆ c4iw_alloc_mr()

struct ib_mr * c4iw_alloc_mr ( struct ib_pd *  pd,
enum ib_mr_type  mr_type,
u32  max_num_sg,
struct ib_udata *  udata 
)

◆ c4iw_alloc_mw()

struct ib_mw * c4iw_alloc_mw ( struct ib_pd *  pd,
enum ib_mw_type  type,
struct ib_udata *  udata 
)

◆ c4iw_arm_cq()

int c4iw_arm_cq ( struct ib_cq *  ibcq,
enum ib_cq_notify_flags  flags 
)

◆ c4iw_cm_init()

int __init c4iw_cm_init ( void  )

◆ c4iw_cm_term()

void __exit c4iw_cm_term ( void  )

◆ c4iw_connect()

int c4iw_connect ( struct iw_cm_id *  cm_id,
struct iw_cm_conn_param *  conn_param 
)

◆ c4iw_convert_state()

static int c4iw_convert_state ( enum ib_qp_state  ib_state)
inlinestatic

◆ c4iw_count_rcqes()

void c4iw_count_rcqes ( struct t4_cq cq,
struct t4_wq wq,
int *  count 
)

◆ c4iw_create_cq()

int c4iw_create_cq ( struct ib_cq *  ibcq,
const struct ib_cq_init_attr *  attr,
struct ib_udata *  udata 
)

◆ c4iw_create_listen()

int c4iw_create_listen ( struct iw_cm_id *  cm_id,
int  backlog 
)

◆ c4iw_create_qp()

struct ib_qp * c4iw_create_qp ( struct ib_pd *  pd,
struct ib_qp_init_attr *  attrs,
struct ib_udata *  udata 
)

◆ c4iw_dealloc_mw()

int c4iw_dealloc_mw ( struct ib_mw *  mw)

◆ c4iw_dereg_mr()

int c4iw_dereg_mr ( struct ib_mr *  ib_mr,
struct ib_udata *  udata 
)

◆ c4iw_destroy_cq()

void c4iw_destroy_cq ( struct ib_cq *  ib_cq,
struct ib_udata *  udata 
)

◆ c4iw_destroy_ctrl_qp()

int c4iw_destroy_ctrl_qp ( struct c4iw_rdev rdev)

◆ c4iw_destroy_listen()

int c4iw_destroy_listen ( struct iw_cm_id *  cm_id)

◆ c4iw_destroy_qp()

int c4iw_destroy_qp ( struct ib_qp *  ib_qp,
struct ib_udata *  udata 
)

◆ c4iw_destroy_resource()

void c4iw_destroy_resource ( struct c4iw_resource rscp)

◆ c4iw_ep_disconnect()

int c4iw_ep_disconnect ( struct c4iw_ep ep,
int  abrupt,
gfp_t  gfp 
)

◆ c4iw_ep_redirect()

int c4iw_ep_redirect ( void *  ctx,
struct dst_entry *  old,
struct dst_entry *  new,
struct l2t_entry l2t 
)

◆ c4iw_ev_dispatch()

void c4iw_ev_dispatch ( struct c4iw_dev dev,
struct t4_cqe err_cqe 
)

◆ c4iw_ev_handler()

int c4iw_ev_handler ( struct sge_iq ,
const struct rsp_ctrl  
)

◆ c4iw_fatal_error()

static int c4iw_fatal_error ( struct c4iw_rdev rdev)
inlinestatic

Definition at line 172 of file iw_cxgbe.h.

References c4iw_rdev::flags, and T4_FATAL_ERROR.

Referenced by c4iw_wait_for_reply().

Here is the caller graph for this function:

◆ c4iw_flush_hw_cq()

void c4iw_flush_hw_cq ( struct c4iw_cq cq)

◆ c4iw_flush_rq()

int c4iw_flush_rq ( struct t4_wq wq,
struct t4_cq cq,
int  count 
)

◆ c4iw_flush_sq()

int c4iw_flush_sq ( struct c4iw_qp qhp)

◆ c4iw_get_cqid()

u32 c4iw_get_cqid ( struct c4iw_rdev rdev,
struct c4iw_dev_ucontext uctx 
)

◆ c4iw_get_dma_mr()

struct ib_mr * c4iw_get_dma_mr ( struct ib_pd *  pd,
int  acc 
)

◆ c4iw_get_qp()

struct ib_qp * c4iw_get_qp ( struct ib_device *  dev,
int  qpn 
)

◆ c4iw_get_qpid()

u32 c4iw_get_qpid ( struct c4iw_rdev rdev,
struct c4iw_dev_ucontext uctx 
)

◆ c4iw_get_resource()

u32 c4iw_get_resource ( struct c4iw_id_table id_table)

◆ c4iw_ib_modify_qp()

int c4iw_ib_modify_qp ( struct ib_qp *  ibqp,
struct ib_qp_attr *  attr,
int  attr_mask,
struct ib_udata *  udata 
)

◆ c4iw_ib_query_qp()

int c4iw_ib_query_qp ( struct ib_qp *  ibqp,
struct ib_qp_attr *  attr,
int  attr_mask,
struct ib_qp_init_attr *  init_attr 
)

◆ c4iw_ib_to_tpt_access()

static u32 c4iw_ib_to_tpt_access ( int  a)
inlinestatic

◆ c4iw_ib_to_tpt_bind_access()

static u32 c4iw_ib_to_tpt_bind_access ( int  acc)
inlinestatic

Definition at line 652 of file iw_cxgbe.h.

References FW_RI_MEM_ACCESS_REM_READ, and FW_RI_MEM_ACCESS_REM_WRITE.

◆ c4iw_id_alloc()

u32 c4iw_id_alloc ( struct c4iw_id_table alloc)

◆ c4iw_id_free()

void c4iw_id_free ( struct c4iw_id_table alloc,
u32  obj 
)

◆ c4iw_id_table_alloc()

int c4iw_id_table_alloc ( struct c4iw_id_table alloc,
u32  start,
u32  num,
u32  reserved,
u32  flags 
)

◆ c4iw_id_table_free()

void c4iw_id_table_free ( struct c4iw_id_table alloc)

◆ c4iw_init_ctrl_qp()

int c4iw_init_ctrl_qp ( struct c4iw_rdev rdev)

◆ c4iw_init_dev_ucontext()

void c4iw_init_dev_ucontext ( struct c4iw_rdev rdev,
struct c4iw_dev_ucontext uctx 
)

◆ c4iw_init_resource()

int c4iw_init_resource ( struct c4iw_rdev rdev,
u32  nr_tpt,
u32  nr_pdid 
)

◆ c4iw_init_wr_wait()

static void c4iw_init_wr_wait ( struct c4iw_wr_wait wr_waitp)
inlinestatic

Definition at line 197 of file iw_cxgbe.h.

References c4iw_wr_wait::completion, and c4iw_wr_wait::ret.

◆ c4iw_invalidate_mr()

void c4iw_invalidate_mr ( struct c4iw_dev rhp,
u32  rkey 
)

◆ c4iw_map_mr_sg()

int c4iw_map_mr_sg ( struct ib_mr *  ibmr,
struct scatterlist *  sg,
int  sg_nents,
unsigned int *  sg_offset 
)

◆ c4iw_modify_qp()

int c4iw_modify_qp ( struct c4iw_dev rhp,
struct c4iw_qp qhp,
enum c4iw_qp_attr_mask  mask,
struct c4iw_qp_attributes attrs,
int  internal 
)

◆ c4iw_num_stags()

static int c4iw_num_stags ( struct c4iw_rdev rdev)
inlinestatic

Definition at line 177 of file iw_cxgbe.h.

References c4iw_rdev::adap, t4_range::size, t4_virt_res::stag, and adapter::vres.

◆ c4iw_ofld_send()

int c4iw_ofld_send ( struct c4iw_rdev rdev,
struct mbuf *  m 
)

◆ c4iw_pblpool_alloc()

u32 c4iw_pblpool_alloc ( struct c4iw_rdev rdev,
int  size 
)

◆ c4iw_pblpool_create()

int c4iw_pblpool_create ( struct c4iw_rdev rdev)

◆ c4iw_pblpool_destroy()

void c4iw_pblpool_destroy ( struct c4iw_rdev rdev)

◆ c4iw_pblpool_free()

void c4iw_pblpool_free ( struct c4iw_rdev rdev,
u32  addr,
int  size 
)

◆ c4iw_poll_cq()

int c4iw_poll_cq ( struct ib_cq *  ibcq,
int  num_entries,
struct ib_wc *  wc 
)

◆ c4iw_post_receive()

int c4iw_post_receive ( struct ib_qp *  ibqp,
const struct ib_recv_wr *  wr,
const struct ib_recv_wr **  bad_wr 
)

◆ c4iw_post_send()

int c4iw_post_send ( struct ib_qp *  ibqp,
const struct ib_send_wr *  wr,
const struct ib_send_wr **  bad_wr 
)

◆ c4iw_post_terminate()

int c4iw_post_terminate ( struct c4iw_qp qhp,
struct t4_cqe err_cqe 
)

◆ c4iw_put_cqid()

void c4iw_put_cqid ( struct c4iw_rdev rdev,
u32  qid,
struct c4iw_dev_ucontext uctx 
)

◆ c4iw_put_qpid()

void c4iw_put_qpid ( struct c4iw_rdev rdev,
u32  qid,
struct c4iw_dev_ucontext uctx 
)

◆ c4iw_put_resource()

void c4iw_put_resource ( struct c4iw_id_table id_table,
u32  entry 
)

◆ c4iw_qp_add_ref()

void c4iw_qp_add_ref ( struct ib_qp *  qp)

◆ c4iw_qp_rem_ref()

void c4iw_qp_rem_ref ( struct ib_qp *  qp)

◆ c4iw_reg_user_mr()

struct ib_mr * c4iw_reg_user_mr ( struct ib_pd *  pd,
u64  start,
u64  length,
u64  virt,
int  acc,
struct ib_udata *  udata 
)

◆ c4iw_register_device()

int c4iw_register_device ( struct c4iw_dev dev)

◆ c4iw_reject_cr()

int c4iw_reject_cr ( struct iw_cm_id *  cm_id,
const void *  pdata,
u8  pdata_len 
)

◆ c4iw_release_dev_ucontext()

void c4iw_release_dev_ucontext ( struct c4iw_rdev rdev,
struct c4iw_dev_ucontext uctx 
)

◆ c4iw_resize_cq()

int c4iw_resize_cq ( struct ib_cq *  cq,
int  cqe,
struct ib_udata *  udata 
)

◆ c4iw_rqes_posted()

u16 c4iw_rqes_posted ( struct c4iw_qp qhp)

◆ c4iw_rqtpool_alloc()

u32 c4iw_rqtpool_alloc ( struct c4iw_rdev rdev,
int  size 
)

◆ c4iw_rqtpool_create()

int c4iw_rqtpool_create ( struct c4iw_rdev rdev)

◆ c4iw_rqtpool_destroy()

void c4iw_rqtpool_destroy ( struct c4iw_rdev rdev)

◆ c4iw_rqtpool_free()

void c4iw_rqtpool_free ( struct c4iw_rdev rdev,
u32  addr,
int  size 
)

◆ c4iw_unregister_device()

void c4iw_unregister_device ( struct c4iw_dev dev)

◆ c4iw_wait_for_reply()

static int c4iw_wait_for_reply ( struct c4iw_rdev rdev,
struct c4iw_wr_wait wr_waitp,
u32  hwtid,
u32  qpid,
struct socket *  so,
const char *  func 
)
inlinestatic

Definition at line 210 of file iw_cxgbe.h.

References c4iw_rdev::adap, c4iw_fatal_error(), C4IW_WR_TO, c4iw_wr_wait::completion, adapter::dev, KTR_IW_CXGBE, and c4iw_wr_wait::ret.

Here is the call graph for this function:

◆ c4iw_wake_up()

static void c4iw_wake_up ( struct c4iw_wr_wait wr_waitp,
int  ret 
)
inlinestatic

Definition at line 203 of file iw_cxgbe.h.

References c4iw_wr_wait::completion, and c4iw_wr_wait::ret.

◆ compute_wscale()

static int compute_wscale ( int  win)
inlinestatic

Definition at line 888 of file iw_cxgbe.h.

◆ cplhdr()

static void * cplhdr ( struct mbuf *  m)
inlinestatic

Definition at line 82 of file iw_cxgbe.h.

◆ cur_max_read_depth()

static int cur_max_read_depth ( struct c4iw_dev dev)
inlinestatic

◆ get_chp()

static struct c4iw_cq * get_chp ( struct c4iw_dev rhp,
u32  cqid 
)
inlinestatic

Definition at line 291 of file iw_cxgbe.h.

References c4iw_dev::cqidr, and c4iw_cq::rhp.

◆ get_mhp()

static struct c4iw_mr * get_mhp ( struct c4iw_dev rhp,
u32  mmid 
)
inlinestatic

Definition at line 301 of file iw_cxgbe.h.

References c4iw_dev::mmidr, and c4iw_mr::rhp.

◆ get_qhp()

static struct c4iw_qp * get_qhp ( struct c4iw_dev rhp,
u32  qpid 
)
inlinestatic

Definition at line 296 of file iw_cxgbe.h.

References c4iw_dev::qpidr, and c4iw_qp::rhp.

◆ insert_handle()

static int insert_handle ( struct c4iw_dev rhp,
struct idr *  idr,
void *  handle,
u32  id 
)
inlinestatic

Definition at line 326 of file iw_cxgbe.h.

References _insert_handle(), and c4iw_mr::rhp.

Here is the call graph for this function:

◆ insert_handle_nolock()

static int insert_handle_nolock ( struct c4iw_dev rhp,
struct idr *  idr,
void *  handle,
u32  id 
)
inlinestatic

Definition at line 332 of file iw_cxgbe.h.

References _insert_handle(), and c4iw_mr::rhp.

Here is the call graph for this function:

◆ insert_mmap()

static void insert_mmap ( struct c4iw_ucontext ucontext,
struct c4iw_mm_entry mm 
)
inlinestatic

◆ rdev_to_c4iw_dev()

static struct c4iw_dev * rdev_to_c4iw_dev ( struct c4iw_rdev rdev)
inlinestatic

Definition at line 286 of file iw_cxgbe.h.

References container_of, and c4iw_dev::rdev.

◆ remove_handle()

static void remove_handle ( struct c4iw_dev rhp,
struct idr *  idr,
u32  id 
)
inlinestatic

Definition at line 348 of file iw_cxgbe.h.

References _remove_handle(), and c4iw_mr::rhp.

Here is the call graph for this function:

◆ remove_handle_nolock()

static void remove_handle_nolock ( struct c4iw_dev rhp,
struct idr *  idr,
u32  id 
)
inlinestatic

Definition at line 353 of file iw_cxgbe.h.

References _remove_handle(), and c4iw_mr::rhp.

Here is the call graph for this function:

◆ remove_mmap()

static struct c4iw_mm_entry * remove_mmap ( struct c4iw_ucontext ucontext,
u32  key,
unsigned  len 
)
inlinestatic

◆ t4_max_fr_depth()

static int t4_max_fr_depth ( struct c4iw_rdev rdev,
bool  use_dsgl 
)
inlinestatic

◆ to_c4iw_cq()

static struct c4iw_cq * to_c4iw_cq ( struct ib_cq *  ibcq)
inlinestatic

Definition at line 434 of file iw_cxgbe.h.

References container_of, and c4iw_cq::ibcq.

◆ to_c4iw_dev()

static struct c4iw_dev * to_c4iw_dev ( struct ib_device *  ibdev)
inlinestatic

Definition at line 281 of file iw_cxgbe.h.

References container_of, and c4iw_dev::ibdev.

◆ to_c4iw_mr()

static struct c4iw_mr * to_c4iw_mr ( struct ib_mr *  ibmr)
inlinestatic

Definition at line 407 of file iw_cxgbe.h.

References container_of, and c4iw_mr::ibmr.

◆ to_c4iw_mw()

static struct c4iw_mw * to_c4iw_mw ( struct ib_mw *  ibmw)
inlinestatic

Definition at line 419 of file iw_cxgbe.h.

References container_of, and c4iw_mw::ibmw.

◆ to_c4iw_pd()

static struct c4iw_pd * to_c4iw_pd ( struct ib_pd *  ibpd)
inlinestatic

Definition at line 372 of file iw_cxgbe.h.

References container_of, and c4iw_pd::ibpd.

◆ to_c4iw_qp()

static struct c4iw_qp * to_c4iw_qp ( struct ib_qp *  ibqp)
inlinestatic

Definition at line 502 of file iw_cxgbe.h.

References container_of, and c4iw_qp::ibqp.

◆ to_c4iw_ucontext()

static struct c4iw_ucontext * to_c4iw_ucontext ( struct ib_ucontext *  c)
inlinestatic

Definition at line 515 of file iw_cxgbe.h.

References container_of, and c4iw_ucontext::ibucontext.

◆ to_ep()

static struct c4iw_ep * to_ep ( struct iw_cm_id *  cm_id)
inlinestatic

Definition at line 878 of file iw_cxgbe.h.

◆ to_ib_qp_state()

static int to_ib_qp_state ( int  c4iw_qp_state)
inlinestatic

◆ to_listen_ep()

static struct c4iw_listen_ep * to_listen_ep ( struct iw_cm_id *  cm_id)
inlinestatic

Definition at line 883 of file iw_cxgbe.h.

Variable Documentation

◆ c4iw_debug

int c4iw_debug
extern

◆ c4iw_max_read_depth

int c4iw_max_read_depth
extern

Referenced by cur_max_read_depth().

◆ inline_threshold

int inline_threshold
extern

◆ use_dsgl

int use_dsgl
extern

Referenced by t4_max_fr_depth().