FreeBSD kernel CXGBE device code
|
#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"
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) |
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_dev * | to_c4iw_dev (struct ib_device *ibdev) |
static struct c4iw_dev * | rdev_to_c4iw_dev (struct c4iw_rdev *rdev) |
static struct c4iw_cq * | get_chp (struct c4iw_dev *rhp, u32 cqid) |
static struct c4iw_qp * | get_qhp (struct c4iw_dev *rhp, u32 qpid) |
static struct c4iw_mr * | get_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_pd * | to_c4iw_pd (struct ib_pd *ibpd) |
static struct c4iw_mr * | to_c4iw_mr (struct ib_mr *ibmr) |
static struct c4iw_mw * | to_c4iw_mw (struct ib_mw *ibmw) |
static struct c4iw_cq * | to_c4iw_cq (struct ib_cq *ibcq) |
static struct c4iw_qp * | to_c4iw_qp (struct ib_qp *ibqp) |
static struct c4iw_ucontext * | to_c4iw_ucontext (struct ib_ucontext *c) |
static struct c4iw_mm_entry * | remove_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_ep * | to_ep (struct iw_cm_id *cm_id) |
static struct c4iw_listen_ep * | to_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 |
#define C4IW_DRAIN_OPCODE FW_RI_SGE_EC_CR_RETURN |
Definition at line 642 of file iw_cxgbe.h.
#define C4IW_EVENT_SOCKET 0x0001 |
Definition at line 602 of file iw_cxgbe.h.
#define C4IW_EVENT_TERM 0x0004 |
Definition at line 604 of file iw_cxgbe.h.
#define C4IW_EVENT_TIMEOUT 0x0002 |
Definition at line 603 of file iw_cxgbe.h.
#define c4iw_get_ep | ( | ep | ) |
Definition at line 688 of file iw_cxgbe.h.
#define C4IW_ID_TABLE_F_EMPTY 2 /* Table is initially empty */ |
Definition at line 91 of file iw_cxgbe.h.
#define C4IW_ID_TABLE_F_RANDOM 1 /* Pseudo-randomize the id's returned */ |
Definition at line 90 of file iw_cxgbe.h.
#define C4IW_MAX_PAGE_SIZE 0x8000000 |
Definition at line 92 of file iw_cxgbe.h.
#define C4IW_NODE_DESC "iw_cxgbe Chelsio Communications" |
Definition at line 663 of file iw_cxgbe.h.
#define c4iw_put_ep | ( | ep | ) |
Definition at line 681 of file iw_cxgbe.h.
#define C4IW_WR_TO (60*HZ) |
Definition at line 190 of file iw_cxgbe.h.
#define DRV_NAME "iw_cxgbe" |
Definition at line 66 of file iw_cxgbe.h.
#define KTR_IW_CXGBE KTR_SPARE3 |
Definition at line 68 of file iw_cxgbe.h.
#define MOD DRV_NAME ":" |
Definition at line 67 of file iw_cxgbe.h.
#define MPA_CRC 0x40 |
Definition at line 671 of file iw_cxgbe.h.
#define MPA_ENHANCED_RDMA_CONN 0x10 |
Definition at line 669 of file iw_cxgbe.h.
#define MPA_FLAGS_MASK 0xE0 |
Definition at line 673 of file iw_cxgbe.h.
#define MPA_KEY_REP "MPA ID Rep Frame" |
Definition at line 666 of file iw_cxgbe.h.
#define MPA_KEY_REQ "MPA ID Req Frame" |
Definition at line 665 of file iw_cxgbe.h.
#define MPA_MARKERS 0x80 |
Definition at line 672 of file iw_cxgbe.h.
#define MPA_MAX_PRIVATE_DATA 256 |
Definition at line 668 of file iw_cxgbe.h.
#define MPA_REJECT 0x20 |
Definition at line 670 of file iw_cxgbe.h.
#define MPA_V2_IRD_ORD_MASK 0x3FFF |
Definition at line 679 of file iw_cxgbe.h.
#define MPA_V2_PEER2PEER_MODEL 0x8000 |
Definition at line 675 of file iw_cxgbe.h.
#define MPA_V2_RDMA_READ_RTR 0x4000 |
Definition at line 678 of file iw_cxgbe.h.
#define MPA_V2_RDMA_WRITE_RTR 0x8000 |
Definition at line 677 of file iw_cxgbe.h.
#define MPA_V2_ZERO_LEN_FPDU_RTR 0x4000 |
Definition at line 676 of file iw_cxgbe.h.
#define PBL_OFF | ( | rdev_p, | |
a | |||
) | ((a) - (rdev_p)->adap->vres.pbl.start) |
Definition at line 87 of file iw_cxgbe.h.
#define PDBG | ( | fmt, | |
args... | |||
) |
Definition at line 74 of file iw_cxgbe.h.
#define RQT_OFF | ( | rdev_p, | |
a | |||
) | ((a) - (rdev_p)->adap->vres.rq.start) |
Definition at line 88 of file iw_cxgbe.h.
#define TERM_MAX_LENGTH (sizeof(struct terminate_message) + 2 + 18 + 28) |
Definition at line 716 of file iw_cxgbe.h.
typedef int(* c4iw_handler_func) (struct c4iw_dev *dev, struct mbuf *m) |
Definition at line 903 of file iw_cxgbe.h.
enum 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.
enum 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.
enum c4iw_ep_history |
Definition at line 792 of file iw_cxgbe.h.
enum 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.
enum 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.
enum c4iw_mmid_state |
Enumerator | |
---|---|
C4IW_STAG_STATE_VALID | |
C4IW_STAG_STATE_INVALID |
Definition at line 658 of file iw_cxgbe.h.
enum 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.
enum c4iw_qp_attr_mask |
Definition at line 560 of file iw_cxgbe.h.
enum 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.
enum c4iw_rdev_flags |
Enumerator | |
---|---|
T4_FATAL_ERROR | |
T4_STATUS_PAGE_DISABLED |
Definition at line 120 of file iw_cxgbe.h.
enum 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.
int __c4iw_ep_disconnect | ( | struct c4iw_ep * | ep, |
int | abrupt, | ||
gfp_t | gfp | ||
) |
void _c4iw_free_ep | ( | struct kref * | kref | ) |
|
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().
|
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().
int c4iw_accept_cr | ( | struct iw_cm_id * | cm_id, |
struct iw_cm_conn_param * | conn_param | ||
) |
struct ib_mr * c4iw_alloc_mr | ( | struct ib_pd * | pd, |
enum ib_mr_type | mr_type, | ||
u32 | max_num_sg, | ||
struct ib_udata * | udata | ||
) |
struct ib_mw * c4iw_alloc_mw | ( | struct ib_pd * | pd, |
enum ib_mw_type | type, | ||
struct ib_udata * | udata | ||
) |
int c4iw_arm_cq | ( | struct ib_cq * | ibcq, |
enum ib_cq_notify_flags | flags | ||
) |
int __init c4iw_cm_init | ( | void | ) |
void __exit c4iw_cm_term | ( | void | ) |
int c4iw_connect | ( | struct iw_cm_id * | cm_id, |
struct iw_cm_conn_param * | conn_param | ||
) |
|
inlinestatic |
Definition at line 606 of file iw_cxgbe.h.
References C4IW_QP_STATE_CLOSING, C4IW_QP_STATE_ERROR, C4IW_QP_STATE_IDLE, C4IW_QP_STATE_RTS, and C4IW_QP_STATE_TERMINATE.
int c4iw_create_cq | ( | struct ib_cq * | ibcq, |
const struct ib_cq_init_attr * | attr, | ||
struct ib_udata * | udata | ||
) |
int c4iw_create_listen | ( | struct iw_cm_id * | cm_id, |
int | backlog | ||
) |
struct ib_qp * c4iw_create_qp | ( | struct ib_pd * | pd, |
struct ib_qp_init_attr * | attrs, | ||
struct ib_udata * | udata | ||
) |
int c4iw_dealloc_mw | ( | struct ib_mw * | mw | ) |
int c4iw_dereg_mr | ( | struct ib_mr * | ib_mr, |
struct ib_udata * | udata | ||
) |
void c4iw_destroy_cq | ( | struct ib_cq * | ib_cq, |
struct ib_udata * | udata | ||
) |
int c4iw_destroy_ctrl_qp | ( | struct c4iw_rdev * | rdev | ) |
int c4iw_destroy_listen | ( | struct iw_cm_id * | cm_id | ) |
int c4iw_destroy_qp | ( | struct ib_qp * | ib_qp, |
struct ib_udata * | udata | ||
) |
void c4iw_destroy_resource | ( | struct c4iw_resource * | rscp | ) |
int c4iw_ep_disconnect | ( | struct c4iw_ep * | ep, |
int | abrupt, | ||
gfp_t | gfp | ||
) |
int c4iw_ep_redirect | ( | void * | ctx, |
struct dst_entry * | old, | ||
struct dst_entry * | new, | ||
struct l2t_entry * | l2t | ||
) |
|
inlinestatic |
Definition at line 172 of file iw_cxgbe.h.
References c4iw_rdev::flags, and T4_FATAL_ERROR.
Referenced by c4iw_wait_for_reply().
void c4iw_flush_hw_cq | ( | struct c4iw_cq * | cq | ) |
int c4iw_flush_sq | ( | struct c4iw_qp * | qhp | ) |
u32 c4iw_get_cqid | ( | struct c4iw_rdev * | rdev, |
struct c4iw_dev_ucontext * | uctx | ||
) |
struct ib_mr * c4iw_get_dma_mr | ( | struct ib_pd * | pd, |
int | acc | ||
) |
struct ib_qp * c4iw_get_qp | ( | struct ib_device * | dev, |
int | qpn | ||
) |
u32 c4iw_get_qpid | ( | struct c4iw_rdev * | rdev, |
struct c4iw_dev_ucontext * | uctx | ||
) |
u32 c4iw_get_resource | ( | struct c4iw_id_table * | id_table | ) |
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 | ||
) |
|
inlinestatic |
Definition at line 644 of file iw_cxgbe.h.
References FW_RI_MEM_ACCESS_LOCAL_READ, FW_RI_MEM_ACCESS_LOCAL_WRITE, FW_RI_MEM_ACCESS_REM_READ, and FW_RI_MEM_ACCESS_REM_WRITE.
|
inlinestatic |
Definition at line 652 of file iw_cxgbe.h.
References FW_RI_MEM_ACCESS_REM_READ, and FW_RI_MEM_ACCESS_REM_WRITE.
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_init_ctrl_qp | ( | struct c4iw_rdev * | rdev | ) |
void c4iw_init_dev_ucontext | ( | struct c4iw_rdev * | rdev, |
struct c4iw_dev_ucontext * | uctx | ||
) |
|
inlinestatic |
Definition at line 197 of file iw_cxgbe.h.
References c4iw_wr_wait::completion, and c4iw_wr_wait::ret.
int c4iw_map_mr_sg | ( | struct ib_mr * | ibmr, |
struct scatterlist * | sg, | ||
int | sg_nents, | ||
unsigned int * | sg_offset | ||
) |
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 | ||
) |
|
inlinestatic |
Definition at line 177 of file iw_cxgbe.h.
References c4iw_rdev::adap, t4_range::size, t4_virt_res::stag, and adapter::vres.
int c4iw_ofld_send | ( | struct c4iw_rdev * | rdev, |
struct mbuf * | m | ||
) |
int c4iw_pblpool_create | ( | struct c4iw_rdev * | rdev | ) |
void c4iw_pblpool_destroy | ( | struct c4iw_rdev * | rdev | ) |
int c4iw_poll_cq | ( | struct ib_cq * | ibcq, |
int | num_entries, | ||
struct ib_wc * | wc | ||
) |
int c4iw_post_receive | ( | struct ib_qp * | ibqp, |
const struct ib_recv_wr * | wr, | ||
const struct ib_recv_wr ** | bad_wr | ||
) |
int c4iw_post_send | ( | struct ib_qp * | ibqp, |
const struct ib_send_wr * | wr, | ||
const struct ib_send_wr ** | bad_wr | ||
) |
void c4iw_put_cqid | ( | struct c4iw_rdev * | rdev, |
u32 | qid, | ||
struct c4iw_dev_ucontext * | uctx | ||
) |
void c4iw_put_qpid | ( | struct c4iw_rdev * | rdev, |
u32 | qid, | ||
struct c4iw_dev_ucontext * | uctx | ||
) |
void c4iw_put_resource | ( | struct c4iw_id_table * | id_table, |
u32 | entry | ||
) |
void c4iw_qp_add_ref | ( | struct ib_qp * | qp | ) |
void c4iw_qp_rem_ref | ( | struct ib_qp * | qp | ) |
struct ib_mr * c4iw_reg_user_mr | ( | struct ib_pd * | pd, |
u64 | start, | ||
u64 | length, | ||
u64 | virt, | ||
int | acc, | ||
struct ib_udata * | udata | ||
) |
int c4iw_register_device | ( | struct c4iw_dev * | dev | ) |
int c4iw_reject_cr | ( | struct iw_cm_id * | cm_id, |
const void * | pdata, | ||
u8 | pdata_len | ||
) |
void c4iw_release_dev_ucontext | ( | struct c4iw_rdev * | rdev, |
struct c4iw_dev_ucontext * | uctx | ||
) |
int c4iw_resize_cq | ( | struct ib_cq * | cq, |
int | cqe, | ||
struct ib_udata * | udata | ||
) |
int c4iw_rqtpool_create | ( | struct c4iw_rdev * | rdev | ) |
void c4iw_rqtpool_destroy | ( | struct c4iw_rdev * | rdev | ) |
void c4iw_unregister_device | ( | struct c4iw_dev * | dev | ) |
|
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.
|
inlinestatic |
Definition at line 203 of file iw_cxgbe.h.
References c4iw_wr_wait::completion, and c4iw_wr_wait::ret.
|
inlinestatic |
Definition at line 888 of file iw_cxgbe.h.
|
inlinestatic |
Definition at line 82 of file iw_cxgbe.h.
|
inlinestatic |
Definition at line 361 of file iw_cxgbe.h.
References c4iw_rdev::adap, c4iw_max_read_depth, adapter_params::max_ordird_qp, adapter::params, and c4iw_dev::rdev.
Definition at line 291 of file iw_cxgbe.h.
References c4iw_dev::cqidr, and c4iw_cq::rhp.
Definition at line 301 of file iw_cxgbe.h.
References c4iw_dev::mmidr, and c4iw_mr::rhp.
Definition at line 296 of file iw_cxgbe.h.
References c4iw_dev::qpidr, and c4iw_qp::rhp.
|
inlinestatic |
Definition at line 326 of file iw_cxgbe.h.
References _insert_handle(), and c4iw_mr::rhp.
|
inlinestatic |
Definition at line 332 of file iw_cxgbe.h.
References _insert_handle(), and c4iw_mr::rhp.
|
inlinestatic |
Definition at line 550 of file iw_cxgbe.h.
References c4iw_mm_entry::addr, c4iw_mm_entry::entry, c4iw_mm_entry::key, KTR_IW_CXGBE, c4iw_mm_entry::len, c4iw_ucontext::mmap_lock, and c4iw_ucontext::mmaps.
Definition at line 286 of file iw_cxgbe.h.
References container_of, and c4iw_dev::rdev.
Definition at line 348 of file iw_cxgbe.h.
References _remove_handle(), and c4iw_mr::rhp.
Definition at line 353 of file iw_cxgbe.h.
References _remove_handle(), and c4iw_mr::rhp.
|
inlinestatic |
Definition at line 527 of file iw_cxgbe.h.
References c4iw_mm_entry::addr, c4iw_mm_entry::entry, c4iw_mm_entry::key, KTR_IW_CXGBE, c4iw_mm_entry::len, c4iw_ucontext::mmap_lock, and c4iw_ucontext::mmaps.
Definition at line 182 of file iw_cxgbe.h.
References c4iw_rdev::adap, adapter_params::dev_512sgl_mr, adapter::params, T4_MAX_FR_DSGL_DEPTH, T4_MAX_FR_FW_DSGL_DEPTH, T4_MAX_FR_IMMD_DEPTH, adapter_params::ulptx_memwrite_dsgl, and use_dsgl.
|
inlinestatic |
Definition at line 434 of file iw_cxgbe.h.
References container_of, and c4iw_cq::ibcq.
|
inlinestatic |
Definition at line 281 of file iw_cxgbe.h.
References container_of, and c4iw_dev::ibdev.
|
inlinestatic |
Definition at line 407 of file iw_cxgbe.h.
References container_of, and c4iw_mr::ibmr.
|
inlinestatic |
Definition at line 419 of file iw_cxgbe.h.
References container_of, and c4iw_mw::ibmw.
|
inlinestatic |
Definition at line 372 of file iw_cxgbe.h.
References container_of, and c4iw_pd::ibpd.
|
inlinestatic |
Definition at line 502 of file iw_cxgbe.h.
References container_of, and c4iw_qp::ibqp.
|
inlinestatic |
Definition at line 515 of file iw_cxgbe.h.
References container_of, and c4iw_ucontext::ibucontext.
|
inlinestatic |
Definition at line 878 of file iw_cxgbe.h.
|
inlinestatic |
Definition at line 625 of file iw_cxgbe.h.
References C4IW_QP_STATE_CLOSING, C4IW_QP_STATE_ERROR, C4IW_QP_STATE_IDLE, C4IW_QP_STATE_RTS, and C4IW_QP_STATE_TERMINATE.
|
inlinestatic |
Definition at line 883 of file iw_cxgbe.h.
|
extern |
|
extern |
Referenced by cur_max_read_depth().
|
extern |
|
extern |
Referenced by t4_max_fr_depth().