rdma_counter
static struct rdma_counter *alloc_and_bind(struct ib_device *dev, u32 port,
struct rdma_counter *counter;
counter = rdma_zalloc_drv_obj(dev, rdma_counter);
static void rdma_counter_free(struct rdma_counter *counter)
static bool auto_mode_match(struct ib_qp *qp, struct rdma_counter *counter,
struct rdma_counter *counter = qp->counter;
static void counter_history_stat_update(struct rdma_counter *counter)
static struct rdma_counter *rdma_get_counter_auto_mode(struct ib_qp *qp,
struct rdma_counter *counter = NULL;
counter = container_of(res, struct rdma_counter, res);
struct rdma_counter *counter;
counter = container_of(kref, struct rdma_counter, kref);
struct rdma_counter *counter;
struct rdma_counter *counter = qp->counter;
int rdma_counter_query_stats(struct rdma_counter *counter)
struct rdma_counter *counter;
counter = container_of(res, struct rdma_counter, res);
static struct rdma_counter *rdma_get_counter_by_id(struct ib_device *dev,
struct rdma_counter *counter;
counter = container_of(res, struct rdma_counter, res);
struct rdma_counter *counter;
struct rdma_counter *counter;
static void auto_mode_init_counter(struct rdma_counter *counter,
static int __rdma_counter_bind_qp(struct rdma_counter *counter,
SET_OBJ_SIZE(dev_ops, rdma_counter);
struct rdma_counter *counter)
struct rdma_counter *counter =
container_of(res, struct rdma_counter, res);
struct rdma_counter *counter)
struct rdma_counter *counter)
return container_of(res, struct rdma_counter, res)->device;
struct rdma_counter *counter;
counter = container_of(res, struct rdma_counter, res);
ionic_counter_alloc_stats(struct rdma_counter *counter)
static int ionic_counter_dealloc(struct rdma_counter *counter)
static int ionic_counter_bind_qp(struct rdma_counter *counter,
static int ionic_counter_update_stats(struct rdma_counter *counter)
static void mlx5_ib_counter_init(struct rdma_counter *counter)
INIT_RDMA_OBJ_SIZE(rdma_counter, mlx5_rdma_counter, rdma_counter),
INIT_RDMA_OBJ_SIZE(rdma_counter, mlx5_rdma_counter, rdma_counter),
struct rdma_counter rdma_counter;
static struct mlx5_rdma_counter *to_mcounter(struct rdma_counter *counter)
return container_of(counter, struct mlx5_rdma_counter, rdma_counter);
static int do_per_qp_get_op_stat(struct rdma_counter *counter)
mlx5_ib_counter_alloc_stats(struct rdma_counter *counter)
static int mlx5_ib_counter_update_stats(struct rdma_counter *counter)
static int mlx5_ib_counter_dealloc(struct rdma_counter *counter)
static int mlx5_ib_counter_bind_qp(struct rdma_counter *counter,
struct rdma_counter *counter = qp->counter;
struct rdma_counter *counter)
int mlx5_ib_qp_set_counter(struct ib_qp *qp, struct rdma_counter *counter)
int mlx5_ib_qp_set_counter(struct ib_qp *qp, struct rdma_counter *counter);
struct rdma_counter *counter;
int (*counter_bind_qp)(struct rdma_counter *counter, struct ib_qp *qp,
int (*counter_dealloc)(struct rdma_counter *counter);
struct rdma_counter *counter);
int (*counter_update_stats)(struct rdma_counter *counter);
void (*counter_init)(struct rdma_counter *counter);
DECLARE_RDMA_OBJ_SIZE(rdma_counter);
int rdma_counter_query_stats(struct rdma_counter *counter);