xref: /OK3568_Linux_fs/kernel/include/rdma/mr_pool.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Copyright (c) 2016 HGST, a Western Digital Company.
4*4882a593Smuzhiyun  */
5*4882a593Smuzhiyun #ifndef _RDMA_MR_POOL_H
6*4882a593Smuzhiyun #define _RDMA_MR_POOL_H 1
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #include <rdma/ib_verbs.h>
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun struct ib_mr *ib_mr_pool_get(struct ib_qp *qp, struct list_head *list);
11*4882a593Smuzhiyun void ib_mr_pool_put(struct ib_qp *qp, struct list_head *list, struct ib_mr *mr);
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun int ib_mr_pool_init(struct ib_qp *qp, struct list_head *list, int nr,
14*4882a593Smuzhiyun 		enum ib_mr_type type, u32 max_num_sg, u32 max_num_meta_sg);
15*4882a593Smuzhiyun void ib_mr_pool_destroy(struct ib_qp *qp, struct list_head *list);
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun #endif /* _RDMA_MR_POOL_H */
18