#include <linux/pci.h>
#include <rdma/ib_umem.h>
#include <rdma/uverbs_ioctl.h>
#include "hns_roce_device.h"
#include "hns_roce_cmd.h"
#include "hns_roce_hem.h"
void hns_roce_srq_event(struct hns_roce_dev *hr_dev, u32 srqn, int event_type)
{ … }
static void hns_roce_ib_srq_event(struct hns_roce_srq *srq,
enum hns_roce_event event_type)
{ … }
static int alloc_srqn(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq)
{ … }
static void free_srqn(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq)
{ … }
static int hns_roce_create_srqc(struct hns_roce_dev *hr_dev,
struct hns_roce_srq *srq)
{ … }
static int alloc_srqc(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq)
{ … }
static void free_srqc(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq)
{ … }
static int alloc_srq_idx(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq,
struct ib_udata *udata, unsigned long addr)
{ … }
static void free_srq_idx(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq)
{ … }
static int alloc_srq_wqe_buf(struct hns_roce_dev *hr_dev,
struct hns_roce_srq *srq,
struct ib_udata *udata, unsigned long addr)
{ … }
static void free_srq_wqe_buf(struct hns_roce_dev *hr_dev,
struct hns_roce_srq *srq)
{ … }
static int alloc_srq_wrid(struct hns_roce_srq *srq)
{ … }
static void free_srq_wrid(struct hns_roce_srq *srq)
{ … }
static u32 proc_srq_sge(struct hns_roce_dev *dev, struct hns_roce_srq *hr_srq,
bool user)
{ … }
static int set_srq_basic_param(struct hns_roce_srq *srq,
struct ib_srq_init_attr *init_attr,
struct ib_udata *udata)
{ … }
static void set_srq_ext_param(struct hns_roce_srq *srq,
struct ib_srq_init_attr *init_attr)
{ … }
static int set_srq_param(struct hns_roce_srq *srq,
struct ib_srq_init_attr *init_attr,
struct ib_udata *udata)
{ … }
static int alloc_srq_buf(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq,
struct ib_udata *udata)
{ … }
static void free_srq_buf(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq)
{ … }
static int get_srq_ucmd(struct hns_roce_srq *srq, struct ib_udata *udata,
struct hns_roce_ib_create_srq *ucmd)
{ … }
static void free_srq_db(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq,
struct ib_udata *udata)
{ … }
static int alloc_srq_db(struct hns_roce_dev *hr_dev, struct hns_roce_srq *srq,
struct ib_udata *udata,
struct hns_roce_ib_create_srq_resp *resp)
{ … }
int hns_roce_create_srq(struct ib_srq *ib_srq,
struct ib_srq_init_attr *init_attr,
struct ib_udata *udata)
{ … }
int hns_roce_destroy_srq(struct ib_srq *ibsrq, struct ib_udata *udata)
{ … }
void hns_roce_init_srq_table(struct hns_roce_dev *hr_dev)
{ … }