52 lines
2.3 KiB
C
52 lines
2.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (C) 2021 - 2023, Shanghai Yunsilicon Technology Co., Ltd.
|
|
* All rights reserved.
|
|
*/
|
|
|
|
#ifndef XSC_IB_COMPAT_H
|
|
#define XSC_IB_COMPAT_H
|
|
|
|
/*
|
|
* adaptive to different ib_core versions
|
|
*/
|
|
|
|
struct xsc_ib_ucontext;
|
|
|
|
int xsc_ib_create_ah(struct ib_ah *ibah, struct rdma_ah_init_attr *ah_attr,
|
|
struct ib_udata *udata);
|
|
int xsc_ib_destroy_ah(struct ib_ah *ibah, u32 destroy_flags);
|
|
#define xsc_ib_create_ah_def() int xsc_ib_create_ah(\
|
|
struct ib_ah *ibah, struct rdma_ah_init_attr *init_attr, struct ib_udata *udata)
|
|
#define xsc_ib_destroy_ah_def() int xsc_ib_destroy_ah(struct ib_ah *ah, u32 flags)
|
|
|
|
int xsc_ib_destroy_qp(struct ib_qp *qp, struct ib_udata *udata);
|
|
int xsc_ib_create_cq(struct ib_cq *ibcq,
|
|
const struct ib_cq_init_attr *attr,
|
|
struct ib_udata *udata);
|
|
int xsc_ib_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata);
|
|
|
|
// from main.c static functions
|
|
int xsc_ib_alloc_ucontext(struct ib_ucontext *uctx, struct ib_udata *udata);
|
|
void xsc_ib_dealloc_ucontext(struct ib_ucontext *ibcontext);
|
|
int xsc_ib_alloc_pd(struct ib_pd *ibpd, struct ib_udata *udata);
|
|
int xsc_ib_dealloc_pd(struct ib_pd *pd, struct ib_udata *udata);
|
|
int xsc_ib_destroy_cq(struct ib_cq *cq, struct ib_udata *udata);
|
|
struct ib_mr *xsc_ib_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type, u32 max_num_sg);
|
|
#define xsc_ib_alloc_mr_def() struct ib_mr *xsc_ib_alloc_mr(\
|
|
struct ib_pd *pd, enum ib_mr_type mr_type, u32 max_num_sg)
|
|
|
|
#define xsc_ib_destroy_qp_def() int xsc_ib_destroy_qp(struct ib_qp *qp, struct ib_udata *udata)
|
|
#define xsc_ib_create_cq_def() int xsc_ib_create_cq(struct ib_cq *ibcq,\
|
|
const struct ib_cq_init_attr *attr, struct ib_udata *udata)
|
|
#define xsc_ib_destroy_cq_def() int xsc_ib_destroy_cq(struct ib_cq *cq, struct ib_udata *udata)
|
|
#define xsc_ib_dereg_mr_def() int xsc_ib_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata)
|
|
#define xsc_ib_alloc_ucontext_def() int xsc_ib_alloc_ucontext(\
|
|
struct ib_ucontext *uctx, struct ib_udata *udata)
|
|
#define xsc_ib_dealloc_ucontext_def() void xsc_ib_dealloc_ucontext(struct ib_ucontext *ibcontext)
|
|
#define xsc_ib_alloc_pd_def() int xsc_ib_alloc_pd(struct ib_pd *ibpd, struct ib_udata *udata)
|
|
#define xsc_ib_dealloc_pd_def() int xsc_ib_dealloc_pd(struct ib_pd *pd, struct ib_udata *udata)
|
|
#define RET_VALUE(x) (x)
|
|
|
|
#endif
|