Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
iw_cxgb4.h File Reference
#include <linux/mutex.h>
#include <linux/list.h>
#include <linux/spinlock.h>
#include <linux/idr.h>
#include <linux/completion.h>
#include <linux/netdevice.h>
#include <linux/sched.h>
#include <linux/pci.h>
#include <linux/dma-mapping.h>
#include <linux/inet.h>
#include <linux/wait.h>
#include <linux/kref.h>
#include <linux/timer.h>
#include <linux/io.h>
#include <asm/byteorder.h>
#include <net/net_namespace.h>
#include <rdma/ib_verbs.h>
#include <rdma/iw_cm.h>
#include "cxgb4.h"
#include "cxgb4_uld.h"
#include "l2t.h"
#include "user.h"
#include "t4.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_rdev
 
struct  c4iw_wr_wait
 
struct  c4iw_dev
 
struct  c4iw_pd
 
struct  tpt_attributes
 
struct  c4iw_mr
 
struct  c4iw_mw
 
struct  c4iw_fr_page_list
 
struct  c4iw_cq
 
struct  c4iw_mpa_attributes
 
struct  c4iw_qp_attributes
 
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_cxgb4"
 
#define MOD   DRV_NAME ":"
 
#define PDBG(fmt, args...)
 
#define PBL_OFF(rdev_p, a)   ((a) - (rdev_p)->lldi.vr->pbl.start)
 
#define RQT_OFF(rdev_p, a)   ((a) - (rdev_p)->lldi.vr->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_WR_TO   (10*HZ)
 
#define C4IW_NODE_DESC   "cxgb4 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 sk_buff *skb)
 

Enumerations

enum  c4iw_rdev_flags { T4_FATAL_ERROR = (1<<0) }
 
enum  db_state { NORMAL = 0, FLOW_CONTROL = 1, RECOVERY = 2 }
 
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 }
 

Functions

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)
 
void _c4iw_free_ep (struct kref *kref)
 
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)
 
void c4iw_put_qpid (struct c4iw_rdev *rdev, u32 qpid, struct c4iw_dev_ucontext *uctx)
 
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)
 
int c4iw_ocqp_pool_create (struct c4iw_rdev *rdev)
 
void c4iw_pblpool_destroy (struct c4iw_rdev *rdev)
 
void c4iw_rqtpool_destroy (struct c4iw_rdev *rdev)
 
void c4iw_ocqp_pool_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, struct ib_send_wr *wr, struct ib_send_wr **bad_wr)
 
int c4iw_post_receive (struct ib_qp *ibqp, struct ib_recv_wr *wr, struct ib_recv_wr **bad_wr)
 
int c4iw_bind_mw (struct ib_qp *qp, struct ib_mw *mw, struct ib_mw_bind *mw_bind)
 
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)
 
void c4iw_free_fastreg_pbl (struct ib_fast_reg_page_list *page_list)
 
struct ib_fast_reg_page_listc4iw_alloc_fastreg_pbl (struct ib_device *device, int page_list_len)
 
struct ib_mrc4iw_alloc_fast_reg_mr (struct ib_pd *pd, int pbl_depth)
 
int c4iw_dealloc_mw (struct ib_mw *mw)
 
struct ib_mwc4iw_alloc_mw (struct ib_pd *pd)
 
struct ib_mrc4iw_reg_user_mr (struct ib_pd *pd, u64 start, u64 length, u64 virt, int acc, struct ib_udata *udata)
 
struct ib_mrc4iw_get_dma_mr (struct ib_pd *pd, int acc)
 
struct ib_mrc4iw_register_phys_mem (struct ib_pd *pd, struct ib_phys_buf *buffer_list, int num_phys_buf, int acc, u64 *iova_start)
 
int c4iw_reregister_phys_mem (struct ib_mr *mr, int mr_rereg_mask, struct ib_pd *pd, struct ib_phys_buf *buffer_list, int num_phys_buf, int acc, u64 *iova_start)
 
int c4iw_dereg_mr (struct ib_mr *ib_mr)
 
int c4iw_destroy_cq (struct ib_cq *ib_cq)
 
struct ib_cqc4iw_create_cq (struct ib_device *ibdev, int entries, int vector, struct ib_ucontext *ib_context, 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_qpc4iw_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_qpc4iw_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)
 
u32 c4iw_ocqp_pool_alloc (struct c4iw_rdev *rdev, int size)
 
void c4iw_ocqp_pool_free (struct c4iw_rdev *rdev, u32 addr, int size)
 
int c4iw_ofld_send (struct c4iw_rdev *rdev, struct sk_buff *skb)
 
void c4iw_flush_hw_cq (struct t4_cq *cq)
 
void c4iw_count_rcqes (struct t4_cq *cq, struct t4_wq *wq, int *count)
 
void c4iw_count_scqes (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_flush_rq (struct t4_wq *wq, struct t4_cq *cq, int count)
 
int c4iw_flush_sq (struct t4_wq *wq, struct t4_cq *cq, int count)
 
int c4iw_ev_handler (struct c4iw_dev *rnicp, u32 qid)
 
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_ev_dispatch (struct c4iw_dev *dev, struct t4_cqe *err_cqe)
 

Variables

int c4iw_debug
 
struct cxgb4_client t4c_client
 
c4iw_handler_func c4iw_handlers [NUM_CPL_CMDS]
 
int c4iw_max_read_depth
 
int db_fc_threshold
 

Macro Definition Documentation

#define c4iw_get_ep (   ep)
Value:
{ \
PDBG("get_ep (via %s:%u) ep %p, refcnt %d\n", __func__, __LINE__, \
ep, atomic_read(&((ep)->kref.refcount))); \
kref_get(&((ep)->kref)); \
}

Definition at line 615 of file iw_cxgb4.h.

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

Definition at line 82 of file iw_cxgb4.h.

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

Definition at line 81 of file iw_cxgb4.h.

#define C4IW_NODE_DESC   "cxgb4 Chelsio Communications"

Definition at line 590 of file iw_cxgb4.h.

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

Definition at line 608 of file iw_cxgb4.h.

#define C4IW_WR_TO   (10*HZ)

Definition at line 162 of file iw_cxgb4.h.

#define DRV_NAME   "iw_cxgb4"

Definition at line 61 of file iw_cxgb4.h.

#define MOD   DRV_NAME ":"

Definition at line 62 of file iw_cxgb4.h.

#define MPA_CRC   0x40

Definition at line 598 of file iw_cxgb4.h.

#define MPA_ENHANCED_RDMA_CONN   0x10

Definition at line 596 of file iw_cxgb4.h.

#define MPA_FLAGS_MASK   0xE0

Definition at line 600 of file iw_cxgb4.h.

#define MPA_KEY_REP   "MPA ID Rep Frame"

Definition at line 593 of file iw_cxgb4.h.

#define MPA_KEY_REQ   "MPA ID Req Frame"

Definition at line 592 of file iw_cxgb4.h.

#define MPA_MARKERS   0x80

Definition at line 599 of file iw_cxgb4.h.

#define MPA_MAX_PRIVATE_DATA   256

Definition at line 595 of file iw_cxgb4.h.

#define MPA_REJECT   0x20

Definition at line 597 of file iw_cxgb4.h.

#define MPA_V2_IRD_ORD_MASK   0x3FFF

Definition at line 606 of file iw_cxgb4.h.

#define MPA_V2_PEER2PEER_MODEL   0x8000

Definition at line 602 of file iw_cxgb4.h.

#define MPA_V2_RDMA_READ_RTR   0x4000

Definition at line 605 of file iw_cxgb4.h.

#define MPA_V2_RDMA_WRITE_RTR   0x8000

Definition at line 604 of file iw_cxgb4.h.

#define MPA_V2_ZERO_LEN_FPDU_RTR   0x4000

Definition at line 603 of file iw_cxgb4.h.

#define PBL_OFF (   rdev_p,
  a 
)    ((a) - (rdev_p)->lldi.vr->pbl.start)

Definition at line 73 of file iw_cxgb4.h.

#define PDBG (   fmt,
  args... 
)
Value:
do { \
if (c4iw_debug) \
printk(MOD fmt, ## args); \
} while (0)

Definition at line 65 of file iw_cxgb4.h.

#define RQT_OFF (   rdev_p,
  a 
)    ((a) - (rdev_p)->lldi.vr->rq.start)

Definition at line 74 of file iw_cxgb4.h.

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

Definition at line 642 of file iw_cxgb4.h.

Typedef Documentation

typedef int(* c4iw_handler_func)(struct c4iw_dev *dev, struct sk_buff *skb)

Definition at line 790 of file iw_cxgb4.h.

Enumeration Type Documentation

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 671 of file iw_cxgb4.h.

Enumerator:
PEER_ABORT_IN_PROGRESS 
ABORT_REQ_IN_PROGRESS 
RELEASE_RESOURCES 
CLOSE_SENT 

Definition at line 708 of file iw_cxgb4.h.

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 693 of file iw_cxgb4.h.

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 644 of file iw_cxgb4.h.

Enumerator:
C4IW_STAG_STATE_VALID 
C4IW_STAG_STATE_INVALID 

Definition at line 585 of file iw_cxgb4.h.

Enumerator:
MPA_CRC_ERR 
MPA_MARKER_ERR 
MPA_LOCAL_CATA 
MPA_INSUFF_IRD 
MPA_NOMATCH_RTR 

Definition at line 685 of file iw_cxgb4.h.

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 497 of file iw_cxgb4.h.

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 526 of file iw_cxgb4.h.

Enumerator:
T4_FATAL_ERROR 

Definition at line 110 of file iw_cxgb4.h.

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 657 of file iw_cxgb4.h.

enum db_state
Enumerator:
NORMAL 
FLOW_CONTROL 
RECOVERY 

Definition at line 208 of file iw_cxgb4.h.

Function Documentation

void _c4iw_free_ep ( struct kref kref)

Definition at line 259 of file cm.c.

int c4iw_accept_cr ( struct iw_cm_id cm_id,
struct iw_cm_conn_param conn_param 
)

Definition at line 2155 of file cm.c.

struct ib_mr* c4iw_alloc_fast_reg_mr ( struct ib_pd pd,
int  pbl_depth 
)
read

Definition at line 703 of file mem.c.

struct ib_fast_reg_page_list* c4iw_alloc_fastreg_pbl ( struct ib_device device,
int  page_list_len 
)
read

Definition at line 754 of file mem.c.

struct ib_mw* c4iw_alloc_mw ( struct ib_pd pd)
read

Definition at line 653 of file mem.c.

int c4iw_arm_cq ( struct ib_cq ibcq,
enum ib_cq_notify_flags  flags 
)

Definition at line 884 of file cq.c.

int c4iw_bind_mw ( struct ib_qp qp,
struct ib_mw mw,
struct ib_mw_bind mw_bind 
)

Definition at line 780 of file qp.c.

int __init c4iw_cm_init ( void  )

Definition at line 2730 of file cm.c.

void __exit c4iw_cm_term ( void  )

Definition at line 2742 of file cm.c.

int c4iw_connect ( struct iw_cm_id cm_id,
struct iw_cm_conn_param conn_param 
)

Definition at line 2250 of file cm.c.

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

Definition at line 303 of file cq.c.

void c4iw_count_scqes ( struct t4_cq cq,
struct t4_wq wq,
int count 
)

Definition at line 284 of file cq.c.

struct ib_cq* c4iw_create_cq ( struct ib_device ibdev,
int  entries,
int  vector,
struct ib_ucontext ib_context,
struct ib_udata udata 
)
read

Definition at line 750 of file cq.c.

int c4iw_create_listen ( struct iw_cm_id cm_id,
int  backlog 
)

Definition at line 2349 of file cm.c.

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

Definition at line 1472 of file qp.c.

int c4iw_dealloc_mw ( struct ib_mw mw)

Definition at line 687 of file mem.c.

int c4iw_dereg_mr ( struct ib_mr ib_mr)

Definition at line 785 of file mem.c.

int c4iw_destroy_cq ( struct ib_cq ib_cq)

Definition at line 730 of file cq.c.

int c4iw_destroy_ctrl_qp ( struct c4iw_rdev rdev)
int c4iw_destroy_listen ( struct iw_cm_id cm_id)

Definition at line 2407 of file cm.c.

int c4iw_destroy_qp ( struct ib_qp ib_qp)

Definition at line 1424 of file qp.c.

void c4iw_destroy_resource ( struct c4iw_resource rscp)

Definition at line 237 of file resource.c.

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

Definition at line 2429 of file cm.c.

int c4iw_ep_redirect ( void ctx,
struct dst_entry old,
struct dst_entry new,
struct l2t_entry l2t 
)
void c4iw_ev_dispatch ( struct c4iw_dev dev,
struct t4_cqe err_cqe 
)

Definition at line 81 of file ev.c.

int c4iw_ev_handler ( struct c4iw_dev rnicp,
u32  qid 
)

Definition at line 186 of file ev.c.

void c4iw_flush_hw_cq ( struct t4_cq cq)

Definition at line 249 of file cq.c.

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

Definition at line 194 of file cq.c.

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

Definition at line 228 of file cq.c.

void c4iw_free_fastreg_pbl ( struct ib_fast_reg_page_list page_list)

Definition at line 777 of file mem.c.

u32 c4iw_get_cqid ( struct c4iw_rdev rdev,
struct c4iw_dev_ucontext uctx 
)

Definition at line 97 of file resource.c.

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

Definition at line 505 of file mem.c.

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

Definition at line 1723 of file qp.c.

u32 c4iw_get_qpid ( struct c4iw_rdev rdev,
struct c4iw_dev_ucontext uctx 
)

Definition at line 167 of file resource.c.

u32 c4iw_get_resource ( struct c4iw_id_table id_table)

Definition at line 82 of file resource.c.

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

Definition at line 1675 of file qp.c.

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

Definition at line 1729 of file qp.c.

u32 c4iw_id_alloc ( struct c4iw_id_table alloc)

Definition at line 44 of file id_table.c.

void c4iw_id_free ( struct c4iw_id_table alloc,
u32  obj 
)

Definition at line 71 of file id_table.c.

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

Definition at line 83 of file id_table.c.

void c4iw_id_table_free ( struct c4iw_id_table alloc)

Definition at line 109 of file id_table.c.

int c4iw_init_ctrl_qp ( struct c4iw_rdev rdev)
void c4iw_init_dev_ucontext ( struct c4iw_rdev rdev,
struct c4iw_dev_ucontext uctx 
)

Definition at line 378 of file device.c.

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

Definition at line 56 of file resource.c.

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 
)

Definition at line 1183 of file qp.c.

u32 c4iw_ocqp_pool_alloc ( struct c4iw_rdev rdev,
int  size 
)

Definition at line 390 of file resource.c.

int c4iw_ocqp_pool_create ( struct c4iw_rdev rdev)

Definition at line 413 of file resource.c.

void c4iw_ocqp_pool_destroy ( struct c4iw_rdev rdev)

Definition at line 446 of file resource.c.

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

Definition at line 404 of file resource.c.

int c4iw_ofld_send ( struct c4iw_rdev rdev,
struct sk_buff skb 
)

Definition at line 179 of file cm.c.

u32 c4iw_pblpool_alloc ( struct c4iw_rdev rdev,
int  size 
)

Definition at line 250 of file resource.c.

int c4iw_pblpool_create ( struct c4iw_rdev rdev)

Definition at line 274 of file resource.c.

void c4iw_pblpool_destroy ( struct c4iw_rdev rdev)

Definition at line 309 of file resource.c.

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

Definition at line 265 of file resource.c.

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

Definition at line 709 of file cq.c.

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

Definition at line 718 of file qp.c.

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

Definition at line 604 of file qp.c.

int c4iw_post_terminate ( struct c4iw_qp qhp,
struct t4_cqe err_cqe 
)
void c4iw_put_cqid ( struct c4iw_rdev rdev,
u32  qid,
struct c4iw_dev_ucontext uctx 
)

Definition at line 152 of file resource.c.

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

Definition at line 222 of file resource.c.

void c4iw_put_resource ( struct c4iw_id_table id_table,
u32  entry 
)

Definition at line 91 of file resource.c.

void c4iw_qp_add_ref ( struct ib_qp qp)

Definition at line 591 of file qp.c.

void c4iw_qp_rem_ref ( struct ib_qp qp)

Definition at line 597 of file qp.c.

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

Definition at line 549 of file mem.c.

int c4iw_register_device ( struct c4iw_dev dev)

Definition at line 417 of file provider.c.

struct ib_mr* c4iw_register_phys_mem ( struct ib_pd pd,
struct ib_phys_buf buffer_list,
int  num_phys_buf,
int  acc,
u64 iova_start 
)
read

Definition at line 427 of file mem.c.

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

Definition at line 2134 of file cm.c.

void c4iw_release_dev_ucontext ( struct c4iw_rdev rdev,
struct c4iw_dev_ucontext uctx 
)

Definition at line 350 of file device.c.

int c4iw_reregister_phys_mem ( struct ib_mr mr,
int  mr_rereg_mask,
struct ib_pd pd,
struct ib_phys_buf buffer_list,
int  num_phys_buf,
int  acc,
u64 iova_start 
)

Definition at line 362 of file mem.c.

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

Definition at line 879 of file cq.c.

u16 c4iw_rqes_posted ( struct c4iw_qp qhp)
u32 c4iw_rqtpool_alloc ( struct c4iw_rdev rdev,
int  size 
)

Definition at line 320 of file resource.c.

int c4iw_rqtpool_create ( struct c4iw_rdev rdev)

Definition at line 347 of file resource.c.

void c4iw_rqtpool_destroy ( struct c4iw_rdev rdev)

Definition at line 380 of file resource.c.

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

Definition at line 338 of file resource.c.

void c4iw_unregister_device ( struct c4iw_dev dev)

Definition at line 526 of file provider.c.

Variable Documentation

int c4iw_debug

Definition at line 85 of file cm.c.

Definition at line 2711 of file cm.c.

int c4iw_max_read_depth

Definition at line 68 of file cm.c.

int db_fc_threshold

Definition at line 45 of file qp.c.

struct cxgb4_client t4c_client