ionic_ibdev
struct ionic_ibdev *dev = eq->dev;
int ionic_create_rdma_admin(struct ionic_ibdev *dev)
void ionic_destroy_rdma_admin(struct ionic_ibdev *dev)
struct ionic_ibdev *dev =
container_of(ws, struct ionic_ibdev, admin_dwork.work);
struct ionic_ibdev *dev = aq->dev;
void ionic_admin_post(struct ionic_ibdev *dev, struct ionic_admin_wr *wr)
int ionic_admin_wait(struct ionic_ibdev *dev, struct ionic_admin_wr *wr,
static int ionic_rdma_devcmd(struct ionic_ibdev *dev,
int ionic_rdma_reset_devcmd(struct ionic_ibdev *dev)
static int ionic_rdma_queue_devcmd(struct ionic_ibdev *dev,
static struct ionic_vcq *ionic_create_rdma_admincq(struct ionic_ibdev *dev,
static struct ionic_aq *__ionic_create_rdma_adminq(struct ionic_ibdev *dev,
static void __ionic_destroy_rdma_adminq(struct ionic_ibdev *dev,
static struct ionic_aq *ionic_create_rdma_adminq(struct ionic_ibdev *dev,
static void ionic_admin_reset_dwork(struct ionic_ibdev *dev)
static void ionic_flush_qs(struct ionic_ibdev *dev)
static void ionic_kill_ibdev(struct ionic_ibdev *dev, bool fatal_path)
void ionic_kill_rdma_admin(struct ionic_ibdev *dev, bool fatal_path)
struct ionic_ibdev *dev =
container_of(ws, struct ionic_ibdev, reset_work);
static void ionic_cq_event(struct ionic_ibdev *dev, u32 cqid, u8 code)
static bool ionic_admin_next_cqe(struct ionic_ibdev *dev, struct ionic_cq *cq,
static void ionic_qp_event(struct ionic_ibdev *dev, u32 qpid, u8 code)
struct ionic_ibdev *dev = eq->dev;
struct ionic_ibdev *dev = aq->dev;
static struct ionic_eq *ionic_create_eq(struct ionic_ibdev *dev, int eqid)
struct ionic_ibdev *dev = to_ionic_ibdev(ibmr->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibpd->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibmr->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibmr->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibmw->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibmw->device);
static int ionic_create_cq_cmd(struct ionic_ibdev *dev,
static int ionic_destroy_cq_cmd(struct ionic_ibdev *dev, u32 cqid)
struct ionic_ibdev *dev = to_ionic_ibdev(ibcq->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibcq->device);
static int ionic_create_qp_cmd(struct ionic_ibdev *dev,
static int ionic_modify_qp_cmd(struct ionic_ibdev *dev,
static int ionic_query_qp_cmd(struct ionic_ibdev *dev,
static int ionic_destroy_qp_cmd(struct ionic_ibdev *dev, u32 qpid)
static bool ionic_expdb_wqe_size_supported(struct ionic_ibdev *dev,
static void ionic_qp_sq_init_cmb(struct ionic_ibdev *dev,
void ionic_destroy_cq_common(struct ionic_ibdev *dev, struct ionic_cq *cq)
static void ionic_qp_sq_destroy_cmb(struct ionic_ibdev *dev,
static int ionic_qp_sq_init(struct ionic_ibdev *dev, struct ionic_ctx *ctx,
static void ionic_qp_sq_destroy(struct ionic_ibdev *dev,
static void ionic_qp_rq_init_cmb(struct ionic_ibdev *dev,
static void ionic_qp_rq_destroy_cmb(struct ionic_ibdev *dev,
static int ionic_qp_rq_init(struct ionic_ibdev *dev, struct ionic_ctx *ctx,
static int ionic_get_pdid(struct ionic_ibdev *dev, u32 *pdid)
static void ionic_qp_rq_destroy(struct ionic_ibdev *dev,
static int ionic_get_ahid(struct ionic_ibdev *dev, u32 *ahid)
struct ionic_ibdev *dev = to_ionic_ibdev(ibqp->device);
static int ionic_get_mrid(struct ionic_ibdev *dev, u32 *mrid)
static int ionic_get_gsi_qpid(struct ionic_ibdev *dev, u32 *qpid)
static void ionic_notify_qp_cqs(struct ionic_ibdev *dev, struct ionic_qp *qp)
void ionic_flush_qp(struct ionic_ibdev *dev, struct ionic_qp *qp)
static void ionic_reset_qp(struct ionic_ibdev *dev, struct ionic_qp *qp)
static int ionic_get_qpid(struct ionic_ibdev *dev, u32 *qpid,
struct ionic_ibdev *dev = to_ionic_ibdev(ibqp->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibqp->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibqp->device);
static int ionic_get_dbid(struct ionic_ibdev *dev, u32 *dbid, phys_addr_t *addr)
static void ionic_put_pdid(struct ionic_ibdev *dev, u32 pdid)
static void ionic_put_ahid(struct ionic_ibdev *dev, u32 ahid)
static void ionic_put_mrid(struct ionic_ibdev *dev, u32 mrid)
static void ionic_put_qpid(struct ionic_ibdev *dev, u32 qpid)
static void ionic_put_dbid(struct ionic_ibdev *dev, u32 dbid)
static u32 ionic_get_eqid(struct ionic_ibdev *dev, u32 comp_vector, u8 udma_idx)
struct ionic_ibdev *dev = to_ionic_ibdev(ibctx->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibctx->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibctx->device);
static int ionic_get_cqid(struct ionic_ibdev *dev, u32 *cqid, u8 udma_idx)
struct ionic_ibdev *dev = to_ionic_ibdev(ibpd->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibpd->device);
static int ionic_build_hdr(struct ionic_ibdev *dev,
static void ionic_set_ah_attr(struct ionic_ibdev *dev,
static int ionic_create_ah_cmd(struct ionic_ibdev *dev,
static void ionic_put_cqid(struct ionic_ibdev *dev, u32 cqid)
static int ionic_destroy_ah_cmd(struct ionic_ibdev *dev, u32 ahid, u32 flags)
struct ionic_ibdev *dev = to_ionic_ibdev(ibah->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibah->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibah->device);
static int ionic_create_mr_cmd(struct ionic_ibdev *dev,
static int ionic_destroy_mr_cmd(struct ionic_ibdev *dev, u32 mrid)
struct ionic_ibdev *dev = to_ionic_ibdev(vcq->ibcq.device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibpd->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibpd->device);
struct ionic_ibdev *dev = to_ionic_ibdev(qp->ibqp.device);
struct ionic_ibdev *dev = to_ionic_ibdev(qp->ibqp.device);
struct ionic_ibdev *dev = to_ionic_ibdev(qp->ibqp.device);
struct ionic_ibdev *dev = to_ionic_ibdev(qp->ibqp.device);
struct ionic_ibdev *dev = to_ionic_ibdev(qp->ibqp.device);
static int ionic_post_send_common(struct ionic_ibdev *dev,
static int ionic_post_recv_common(struct ionic_ibdev *dev,
static int ionic_poll_recv(struct ionic_ibdev *dev, struct ionic_cq *cq,
struct ionic_ibdev *dev = to_ionic_ibdev(ibqp->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibqp->device);
static bool ionic_next_cqe(struct ionic_ibdev *dev, struct ionic_cq *cq,
static int ionic_poll_send(struct ionic_ibdev *dev, struct ionic_cq *cq,
static int ionic_poll_send_many(struct ionic_ibdev *dev, struct ionic_cq *cq,
static void ionic_reserve_sync_cq(struct ionic_ibdev *dev, struct ionic_cq *cq)
static void ionic_reserve_cq(struct ionic_ibdev *dev, struct ionic_cq *cq,
static int ionic_poll_vcq_cq(struct ionic_ibdev *dev,
struct ionic_ibdev *dev = to_ionic_ibdev(ibcq->device);
static int ionic_req_notify_vcq_cq(struct ionic_ibdev *dev, struct ionic_cq *cq,
struct ionic_ibdev *dev = to_ionic_ibdev(ibcq->device);
struct ionic_ibdev *dev = to_ionic_ibdev(qp->ibqp.device);
struct ionic_ibdev *dev = to_ionic_ibdev(qp->ibqp.device);
struct ionic_ibdev *dev = to_ionic_ibdev(qp->ibqp.device);
static int ionic_init_hw_stats(struct ionic_ibdev *dev)
struct ionic_ibdev *dev = to_ionic_ibdev(ibdev);
struct ionic_ibdev *dev = to_ionic_ibdev(ibdev);
struct ionic_ibdev *dev = to_ionic_ibdev(counter->device);
struct ionic_ibdev *dev = to_ionic_ibdev(counter->device);
struct ionic_ibdev *dev = to_ionic_ibdev(counter->device);
struct ionic_ibdev *dev = to_ionic_ibdev(ibdev);
static int ionic_alloc_counters(struct ionic_ibdev *dev)
void ionic_stats_init(struct ionic_ibdev *dev)
void ionic_stats_cleanup(struct ionic_ibdev *dev)
static int ionic_hw_stats_cmd(struct ionic_ibdev *dev,
struct ionic_ibdev *dev = to_ionic_ibdev(ibdev);
struct ionic_ibdev *dev = to_ionic_ibdev(ibdev);
struct ionic_ibdev *dev =
rdma_device_to_drv_device(device, struct ionic_ibdev, ibdev);
struct ionic_ibdev *dev =
rdma_device_to_drv_device(device, struct ionic_ibdev, ibdev);
struct ionic_ibdev *dev = to_ionic_ibdev(ibdev);
static void ionic_init_resids(struct ionic_ibdev *dev)
static void ionic_destroy_resids(struct ionic_ibdev *dev)
static void ionic_destroy_ibdev(struct ionic_ibdev *dev)
static struct ionic_ibdev *ionic_create_ibdev(struct ionic_aux_dev *ionic_adev)
struct ionic_ibdev *dev;
dev = ib_alloc_device(ionic_ibdev, ibdev);
struct ionic_ibdev *dev;
struct ionic_ibdev *dev = auxiliary_get_drvdata(adev);
struct ionic_ibdev *dev;
struct ionic_ibdev *dev;
static inline struct ionic_ibdev *to_ionic_ibdev(struct ib_device *ibdev)
return container_of(ibdev, struct ionic_ibdev, ibdev);
static inline u32 ionic_ctx_dbid(struct ionic_ibdev *dev,
static inline u32 ionic_obj_dbid(struct ionic_ibdev *dev,
void ionic_admin_post(struct ionic_ibdev *dev, struct ionic_admin_wr *wr);
int ionic_admin_wait(struct ionic_ibdev *dev, struct ionic_admin_wr *wr,
int ionic_rdma_reset_devcmd(struct ionic_ibdev *dev);
int ionic_create_rdma_admin(struct ionic_ibdev *dev);
void ionic_destroy_rdma_admin(struct ionic_ibdev *dev);
void ionic_kill_rdma_admin(struct ionic_ibdev *dev, bool fatal_path);
void ionic_destroy_cq_common(struct ionic_ibdev *dev, struct ionic_cq *cq);
void ionic_flush_qp(struct ionic_ibdev *dev, struct ionic_qp *qp);
void ionic_stats_init(struct ionic_ibdev *dev);
void ionic_stats_cleanup(struct ionic_ibdev *dev);
int ionic_pgtbl_init(struct ionic_ibdev *dev,
void ionic_pgtbl_unbuf(struct ionic_ibdev *dev, struct ionic_tbl_buf *buf);
int ionic_pgtbl_init(struct ionic_ibdev *dev,
static int ionic_tbl_buf_alloc(struct ionic_ibdev *dev,
void ionic_pgtbl_unbuf(struct ionic_ibdev *dev, struct ionic_tbl_buf *buf)