// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause /* * Copyright(c) 2016 Intel Corporation. */ #include <linux/err.h> #include <linux/slab.h> #include <linux/vmalloc.h> #include <rdma/uverbs_ioctl.h> #include "srq.h" #include "vt.h" #include "qp.h" /** * rvt_driver_srq_init - init srq resources on a per driver basis * @rdi: rvt dev structure * * Do any initialization needed when a driver registers with rdmavt. */ void rvt_driver_srq_init(struct rvt_dev_info *rdi) { … } /** * rvt_create_srq - create a shared receive queue * @ibsrq: the protection domain of the SRQ to create * @srq_init_attr: the attributes of the SRQ * @udata: data from libibverbs when creating a user SRQ * * Return: 0 on success */ int rvt_create_srq(struct ib_srq *ibsrq, struct ib_srq_init_attr *srq_init_attr, struct ib_udata *udata) { … } /** * rvt_modify_srq - modify a shared receive queue * @ibsrq: the SRQ to modify * @attr: the new attributes of the SRQ * @attr_mask: indicates which attributes to modify * @udata: user data for libibverbs.so * * Return: 0 on success */ int rvt_modify_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr, enum ib_srq_attr_mask attr_mask, struct ib_udata *udata) { … } /** * rvt_query_srq - query srq data * @ibsrq: srq to query * @attr: return info in attr * * Return: always 0 */ int rvt_query_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr) { … } /** * rvt_destroy_srq - destory an srq * @ibsrq: srq object to destroy * @udata: user data for libibverbs.so */ int rvt_destroy_srq(struct ib_srq *ibsrq, struct ib_udata *udata) { … }