forked from luck/tmp_suning_uos_patched
RDMA: Remove the udata parameter from alloc_mr callback
Allocating an MR flow can only be initiated by kernel users, and not from userspace so a udata parameter is redundant. Link: https://lore.kernel.org/r/20200706120343.10816-4-galpress@amazon.com Signed-off-by: Gal Pressman <galpress@amazon.com> Reviewed-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
b64b74b1d5
commit
42a3b15396
|
@ -2131,7 +2131,7 @@ struct ib_mr *ib_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
mr = pd->device->ops.alloc_mr(pd, mr_type, max_num_sg, NULL);
|
mr = pd->device->ops.alloc_mr(pd, mr_type, max_num_sg);
|
||||||
if (IS_ERR(mr))
|
if (IS_ERR(mr))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
|
|
@ -3569,7 +3569,7 @@ int bnxt_re_map_mr_sg(struct ib_mr *ib_mr, struct scatterlist *sg, int sg_nents,
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ib_mr *bnxt_re_alloc_mr(struct ib_pd *ib_pd, enum ib_mr_type type,
|
struct ib_mr *bnxt_re_alloc_mr(struct ib_pd *ib_pd, enum ib_mr_type type,
|
||||||
u32 max_num_sg, struct ib_udata *udata)
|
u32 max_num_sg)
|
||||||
{
|
{
|
||||||
struct bnxt_re_pd *pd = container_of(ib_pd, struct bnxt_re_pd, ib_pd);
|
struct bnxt_re_pd *pd = container_of(ib_pd, struct bnxt_re_pd, ib_pd);
|
||||||
struct bnxt_re_dev *rdev = pd->rdev;
|
struct bnxt_re_dev *rdev = pd->rdev;
|
||||||
|
|
|
@ -201,7 +201,7 @@ struct ib_mr *bnxt_re_get_dma_mr(struct ib_pd *pd, int mr_access_flags);
|
||||||
int bnxt_re_map_mr_sg(struct ib_mr *ib_mr, struct scatterlist *sg, int sg_nents,
|
int bnxt_re_map_mr_sg(struct ib_mr *ib_mr, struct scatterlist *sg, int sg_nents,
|
||||||
unsigned int *sg_offset);
|
unsigned int *sg_offset);
|
||||||
struct ib_mr *bnxt_re_alloc_mr(struct ib_pd *ib_pd, enum ib_mr_type mr_type,
|
struct ib_mr *bnxt_re_alloc_mr(struct ib_pd *ib_pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata);
|
u32 max_num_sg);
|
||||||
int bnxt_re_dereg_mr(struct ib_mr *mr, struct ib_udata *udata);
|
int bnxt_re_dereg_mr(struct ib_mr *mr, struct ib_udata *udata);
|
||||||
struct ib_mw *bnxt_re_alloc_mw(struct ib_pd *ib_pd, enum ib_mw_type type,
|
struct ib_mw *bnxt_re_alloc_mw(struct ib_pd *ib_pd, enum ib_mw_type type,
|
||||||
struct ib_udata *udata);
|
struct ib_udata *udata);
|
||||||
|
|
|
@ -980,7 +980,7 @@ int c4iw_reject_cr(struct iw_cm_id *cm_id, const void *pdata, u8 pdata_len);
|
||||||
void c4iw_qp_add_ref(struct ib_qp *qp);
|
void c4iw_qp_add_ref(struct ib_qp *qp);
|
||||||
void c4iw_qp_rem_ref(struct ib_qp *qp);
|
void c4iw_qp_rem_ref(struct ib_qp *qp);
|
||||||
struct ib_mr *c4iw_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *c4iw_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata);
|
u32 max_num_sg);
|
||||||
int c4iw_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents,
|
int c4iw_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents,
|
||||||
unsigned int *sg_offset);
|
unsigned int *sg_offset);
|
||||||
int c4iw_dealloc_mw(struct ib_mw *mw);
|
int c4iw_dealloc_mw(struct ib_mw *mw);
|
||||||
|
|
|
@ -691,7 +691,7 @@ int c4iw_dealloc_mw(struct ib_mw *mw)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ib_mr *c4iw_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *c4iw_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata)
|
u32 max_num_sg)
|
||||||
{
|
{
|
||||||
struct c4iw_dev *rhp;
|
struct c4iw_dev *rhp;
|
||||||
struct c4iw_pd *php;
|
struct c4iw_pd *php;
|
||||||
|
|
|
@ -1191,7 +1191,7 @@ int hns_roce_rereg_user_mr(struct ib_mr *mr, int flags, u64 start, u64 length,
|
||||||
u64 virt_addr, int mr_access_flags, struct ib_pd *pd,
|
u64 virt_addr, int mr_access_flags, struct ib_pd *pd,
|
||||||
struct ib_udata *udata);
|
struct ib_udata *udata);
|
||||||
struct ib_mr *hns_roce_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *hns_roce_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata);
|
u32 max_num_sg);
|
||||||
int hns_roce_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents,
|
int hns_roce_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents,
|
||||||
unsigned int *sg_offset);
|
unsigned int *sg_offset);
|
||||||
int hns_roce_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata);
|
int hns_roce_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata);
|
||||||
|
|
|
@ -414,7 +414,7 @@ int hns_roce_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ib_mr *hns_roce_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *hns_roce_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata)
|
u32 max_num_sg)
|
||||||
{
|
{
|
||||||
struct hns_roce_dev *hr_dev = to_hr_dev(pd->device);
|
struct hns_roce_dev *hr_dev = to_hr_dev(pd->device);
|
||||||
struct device *dev = hr_dev->dev;
|
struct device *dev = hr_dev->dev;
|
||||||
|
|
|
@ -1543,10 +1543,9 @@ static int i40iw_hw_alloc_stag(struct i40iw_device *iwdev, struct i40iw_mr *iwmr
|
||||||
* @pd: ibpd pointer
|
* @pd: ibpd pointer
|
||||||
* @mr_type: memory for stag registrion
|
* @mr_type: memory for stag registrion
|
||||||
* @max_num_sg: man number of pages
|
* @max_num_sg: man number of pages
|
||||||
* @udata: user data or NULL for kernel objects
|
|
||||||
*/
|
*/
|
||||||
static struct ib_mr *i40iw_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
static struct ib_mr *i40iw_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata)
|
u32 max_num_sg)
|
||||||
{
|
{
|
||||||
struct i40iw_pd *iwpd = to_iwpd(pd);
|
struct i40iw_pd *iwpd = to_iwpd(pd);
|
||||||
struct i40iw_device *iwdev = to_iwdev(pd->device);
|
struct i40iw_device *iwdev = to_iwdev(pd->device);
|
||||||
|
|
|
@ -729,7 +729,7 @@ struct ib_mw *mlx4_ib_alloc_mw(struct ib_pd *pd, enum ib_mw_type type,
|
||||||
struct ib_udata *udata);
|
struct ib_udata *udata);
|
||||||
int mlx4_ib_dealloc_mw(struct ib_mw *mw);
|
int mlx4_ib_dealloc_mw(struct ib_mw *mw);
|
||||||
struct ib_mr *mlx4_ib_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *mlx4_ib_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata);
|
u32 max_num_sg);
|
||||||
int mlx4_ib_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents,
|
int mlx4_ib_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents,
|
||||||
unsigned int *sg_offset);
|
unsigned int *sg_offset);
|
||||||
int mlx4_ib_modify_cq(struct ib_cq *cq, u16 cq_count, u16 cq_period);
|
int mlx4_ib_modify_cq(struct ib_cq *cq, u16 cq_count, u16 cq_period);
|
||||||
|
|
|
@ -655,7 +655,7 @@ int mlx4_ib_dealloc_mw(struct ib_mw *ibmw)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ib_mr *mlx4_ib_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *mlx4_ib_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata)
|
u32 max_num_sg)
|
||||||
{
|
{
|
||||||
struct mlx4_ib_dev *dev = to_mdev(pd->device);
|
struct mlx4_ib_dev *dev = to_mdev(pd->device);
|
||||||
struct mlx4_ib_mr *mr;
|
struct mlx4_ib_mr *mr;
|
||||||
|
|
|
@ -1210,7 +1210,7 @@ int mlx5_ib_rereg_user_mr(struct ib_mr *ib_mr, int flags, u64 start,
|
||||||
struct ib_pd *pd, struct ib_udata *udata);
|
struct ib_pd *pd, struct ib_udata *udata);
|
||||||
int mlx5_ib_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata);
|
int mlx5_ib_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata);
|
||||||
struct ib_mr *mlx5_ib_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *mlx5_ib_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata);
|
u32 max_num_sg);
|
||||||
struct ib_mr *mlx5_ib_alloc_mr_integrity(struct ib_pd *pd,
|
struct ib_mr *mlx5_ib_alloc_mr_integrity(struct ib_pd *pd,
|
||||||
u32 max_num_sg,
|
u32 max_num_sg,
|
||||||
u32 max_num_meta_sg);
|
u32 max_num_meta_sg);
|
||||||
|
|
|
@ -1961,7 +1961,7 @@ static struct ib_mr *__mlx5_ib_alloc_mr(struct ib_pd *pd,
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ib_mr *mlx5_ib_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *mlx5_ib_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata)
|
u32 max_num_sg)
|
||||||
{
|
{
|
||||||
return __mlx5_ib_alloc_mr(pd, mr_type, max_num_sg, 0);
|
return __mlx5_ib_alloc_mr(pd, mr_type, max_num_sg, 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2901,7 +2901,7 @@ int ocrdma_arm_cq(struct ib_cq *ibcq, enum ib_cq_notify_flags cq_flags)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ib_mr *ocrdma_alloc_mr(struct ib_pd *ibpd, enum ib_mr_type mr_type,
|
struct ib_mr *ocrdma_alloc_mr(struct ib_pd *ibpd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata)
|
u32 max_num_sg)
|
||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
struct ocrdma_mr *mr;
|
struct ocrdma_mr *mr;
|
||||||
|
|
|
@ -101,7 +101,7 @@ struct ib_mr *ocrdma_get_dma_mr(struct ib_pd *, int acc);
|
||||||
struct ib_mr *ocrdma_reg_user_mr(struct ib_pd *, u64 start, u64 length,
|
struct ib_mr *ocrdma_reg_user_mr(struct ib_pd *, u64 start, u64 length,
|
||||||
u64 virt, int acc, struct ib_udata *);
|
u64 virt, int acc, struct ib_udata *);
|
||||||
struct ib_mr *ocrdma_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *ocrdma_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata);
|
u32 max_num_sg);
|
||||||
int ocrdma_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents,
|
int ocrdma_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents,
|
||||||
unsigned int *sg_offset);
|
unsigned int *sg_offset);
|
||||||
|
|
||||||
|
|
|
@ -3003,7 +3003,7 @@ static struct qedr_mr *__qedr_alloc_mr(struct ib_pd *ibpd,
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ib_mr *qedr_alloc_mr(struct ib_pd *ibpd, enum ib_mr_type mr_type,
|
struct ib_mr *qedr_alloc_mr(struct ib_pd *ibpd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata)
|
u32 max_num_sg)
|
||||||
{
|
{
|
||||||
struct qedr_mr *mr;
|
struct qedr_mr *mr;
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,7 @@ int qedr_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg,
|
||||||
int sg_nents, unsigned int *sg_offset);
|
int sg_nents, unsigned int *sg_offset);
|
||||||
|
|
||||||
struct ib_mr *qedr_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *qedr_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata);
|
u32 max_num_sg);
|
||||||
int qedr_poll_cq(struct ib_cq *, int num_entries, struct ib_wc *wc);
|
int qedr_poll_cq(struct ib_cq *, int num_entries, struct ib_wc *wc);
|
||||||
int qedr_post_send(struct ib_qp *, const struct ib_send_wr *,
|
int qedr_post_send(struct ib_qp *, const struct ib_send_wr *,
|
||||||
const struct ib_send_wr **bad_wr);
|
const struct ib_send_wr **bad_wr);
|
||||||
|
|
|
@ -202,7 +202,7 @@ struct ib_mr *pvrdma_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
|
||||||
* @return: ib_mr pointer on success, otherwise returns an errno.
|
* @return: ib_mr pointer on success, otherwise returns an errno.
|
||||||
*/
|
*/
|
||||||
struct ib_mr *pvrdma_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *pvrdma_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata)
|
u32 max_num_sg)
|
||||||
{
|
{
|
||||||
struct pvrdma_dev *dev = to_vdev(pd->device);
|
struct pvrdma_dev *dev = to_vdev(pd->device);
|
||||||
struct pvrdma_user_mr *mr;
|
struct pvrdma_user_mr *mr;
|
||||||
|
|
|
@ -406,7 +406,7 @@ struct ib_mr *pvrdma_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
|
||||||
struct ib_udata *udata);
|
struct ib_udata *udata);
|
||||||
int pvrdma_dereg_mr(struct ib_mr *mr, struct ib_udata *udata);
|
int pvrdma_dereg_mr(struct ib_mr *mr, struct ib_udata *udata);
|
||||||
struct ib_mr *pvrdma_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *pvrdma_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata);
|
u32 max_num_sg);
|
||||||
int pvrdma_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg,
|
int pvrdma_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg,
|
||||||
int sg_nents, unsigned int *sg_offset);
|
int sg_nents, unsigned int *sg_offset);
|
||||||
int pvrdma_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr,
|
int pvrdma_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr,
|
||||||
|
|
|
@ -576,7 +576,7 @@ int rvt_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata)
|
||||||
* Return: the memory region on success, otherwise return an errno.
|
* Return: the memory region on success, otherwise return an errno.
|
||||||
*/
|
*/
|
||||||
struct ib_mr *rvt_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *rvt_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata)
|
u32 max_num_sg)
|
||||||
{
|
{
|
||||||
struct rvt_mr *mr;
|
struct rvt_mr *mr;
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ struct ib_mr *rvt_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
|
||||||
struct ib_udata *udata);
|
struct ib_udata *udata);
|
||||||
int rvt_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata);
|
int rvt_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata);
|
||||||
struct ib_mr *rvt_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *rvt_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata);
|
u32 max_num_sg);
|
||||||
int rvt_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg,
|
int rvt_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg,
|
||||||
int sg_nents, unsigned int *sg_offset);
|
int sg_nents, unsigned int *sg_offset);
|
||||||
|
|
||||||
|
|
|
@ -975,7 +975,7 @@ static int rxe_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata)
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ib_mr *rxe_alloc_mr(struct ib_pd *ibpd, enum ib_mr_type mr_type,
|
static struct ib_mr *rxe_alloc_mr(struct ib_pd *ibpd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata)
|
u32 max_num_sg)
|
||||||
{
|
{
|
||||||
struct rxe_dev *rxe = to_rdev(ibpd->device);
|
struct rxe_dev *rxe = to_rdev(ibpd->device);
|
||||||
struct rxe_pd *pd = to_rpd(ibpd);
|
struct rxe_pd *pd = to_rpd(ibpd);
|
||||||
|
|
|
@ -1373,7 +1373,7 @@ struct ib_mr *siw_reg_user_mr(struct ib_pd *pd, u64 start, u64 len,
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ib_mr *siw_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *siw_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_sge, struct ib_udata *udata)
|
u32 max_sge)
|
||||||
{
|
{
|
||||||
struct siw_device *sdev = to_siw_dev(pd->device);
|
struct siw_device *sdev = to_siw_dev(pd->device);
|
||||||
struct siw_mr *mr = NULL;
|
struct siw_mr *mr = NULL;
|
||||||
|
|
|
@ -69,7 +69,7 @@ int siw_req_notify_cq(struct ib_cq *base_cq, enum ib_cq_notify_flags flags);
|
||||||
struct ib_mr *siw_reg_user_mr(struct ib_pd *base_pd, u64 start, u64 len,
|
struct ib_mr *siw_reg_user_mr(struct ib_pd *base_pd, u64 start, u64 len,
|
||||||
u64 rnic_va, int rights, struct ib_udata *udata);
|
u64 rnic_va, int rights, struct ib_udata *udata);
|
||||||
struct ib_mr *siw_alloc_mr(struct ib_pd *base_pd, enum ib_mr_type mr_type,
|
struct ib_mr *siw_alloc_mr(struct ib_pd *base_pd, enum ib_mr_type mr_type,
|
||||||
u32 max_sge, struct ib_udata *udata);
|
u32 max_sge);
|
||||||
struct ib_mr *siw_get_dma_mr(struct ib_pd *base_pd, int rights);
|
struct ib_mr *siw_get_dma_mr(struct ib_pd *base_pd, int rights);
|
||||||
int siw_map_mr_sg(struct ib_mr *base_mr, struct scatterlist *sl, int num_sle,
|
int siw_map_mr_sg(struct ib_mr *base_mr, struct scatterlist *sl, int num_sle,
|
||||||
unsigned int *sg_off);
|
unsigned int *sg_off);
|
||||||
|
|
|
@ -2478,7 +2478,7 @@ struct ib_device_ops {
|
||||||
struct ib_pd *pd, struct ib_udata *udata);
|
struct ib_pd *pd, struct ib_udata *udata);
|
||||||
int (*dereg_mr)(struct ib_mr *mr, struct ib_udata *udata);
|
int (*dereg_mr)(struct ib_mr *mr, struct ib_udata *udata);
|
||||||
struct ib_mr *(*alloc_mr)(struct ib_pd *pd, enum ib_mr_type mr_type,
|
struct ib_mr *(*alloc_mr)(struct ib_pd *pd, enum ib_mr_type mr_type,
|
||||||
u32 max_num_sg, struct ib_udata *udata);
|
u32 max_num_sg);
|
||||||
struct ib_mr *(*alloc_mr_integrity)(struct ib_pd *pd,
|
struct ib_mr *(*alloc_mr_integrity)(struct ib_pd *pd,
|
||||||
u32 max_num_data_sg,
|
u32 max_num_data_sg,
|
||||||
u32 max_num_meta_sg);
|
u32 max_num_meta_sg);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user