RDMA: Move more uverbs_cmd_mask settings to the core
These functions all depend on the driver providing a specific op: - REREG_MR is rereg_user_mr(). bnxt_re set this without providing the op - ATTACH/DEATCH_MCAST is attach_mcast()/detach_mcast(). usnic set this without providing the op - OPEN_QP doesn't involve the driver but requires a XRCD. qedr provides xrcd but forgot to set it, usnic doesn't provide XRCD but set it anyhow. - OPEN/CLOSE_XRCD are the ops alloc_xrcd()/dealloc_xrcd() - CREATE_SRQ/DESTROY_SRQ are the ops create_srq()/destroy_srq() - QUERY/MODIFY_SRQ is op query_srq()/modify_srq(). hns sets this but sometimes supplies a NULL op. - RESIZE_CQ is op resize_cq(). bnxt_re sets this boes doesn't supply an op - ALLOC/DEALLOC_MW is alloc_mw()/dealloc_mw(). cxgb4 provided an (now deleted) implementation but no userspace All drivers were checked that no drivers provide the op without also setting uverbs_cmd_mask so this should have no functional change. Link: https://lore.kernel.org/r/4-v1-caa70ba3d1ab+1436e-ucmd_mask_jgg@nvidia.com Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
c074bb1e30
commit
44ce37bc8b
|
@ -284,6 +284,7 @@ static void ib_device_check_mandatory(struct ib_device *device)
|
|||
IB_MANDATORY_FUNC(poll_cq),
|
||||
IB_MANDATORY_FUNC(req_notify_cq),
|
||||
IB_MANDATORY_FUNC(get_dma_mr),
|
||||
IB_MANDATORY_FUNC(reg_user_mr),
|
||||
IB_MANDATORY_FUNC(dereg_mr),
|
||||
IB_MANDATORY_FUNC(get_port_immutable)
|
||||
};
|
||||
|
@ -601,20 +602,33 @@ struct ib_device *_ib_alloc_device(size_t size)
|
|||
INIT_WORK(&device->unregistration_work, ib_unregister_work);
|
||||
|
||||
device->uverbs_cmd_mask =
|
||||
BIT_ULL(IB_USER_VERBS_CMD_ALLOC_MW) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_ALLOC_PD) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_ATTACH_MCAST) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_CLOSE_XRCD) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_CREATE_CQ) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_CREATE_QP) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_CREATE_SRQ) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_DEALLOC_MW) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_DEALLOC_PD) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_DEREG_MR) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_DESTROY_CQ) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_DESTROY_QP) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_DESTROY_SRQ) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_DETACH_MCAST) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_GET_CONTEXT) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_MODIFY_QP) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_MODIFY_SRQ) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_OPEN_QP) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_OPEN_XRCD) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_QUERY_DEVICE) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_QUERY_PORT) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_QUERY_QP) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_REG_MR);
|
||||
BIT_ULL(IB_USER_VERBS_CMD_QUERY_SRQ) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_REG_MR) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_REREG_MR) |
|
||||
BIT_ULL(IB_USER_VERBS_CMD_RESIZE_CQ);
|
||||
|
||||
device->uverbs_ex_cmd_mask =
|
||||
BIT_ULL(IB_USER_VERBS_EX_CMD_CREATE_FLOW) |
|
||||
|
|
|
@ -3999,8 +3999,7 @@ const struct uapi_definition uverbs_def_write_intf[] = {
|
|||
DECLARE_UVERBS_WRITE(
|
||||
IB_USER_VERBS_CMD_CLOSE_XRCD,
|
||||
ib_uverbs_close_xrcd,
|
||||
UAPI_DEF_WRITE_I(struct ib_uverbs_close_xrcd),
|
||||
UAPI_DEF_METHOD_NEEDS_FN(dealloc_xrcd)),
|
||||
UAPI_DEF_WRITE_I(struct ib_uverbs_close_xrcd)),
|
||||
DECLARE_UVERBS_WRITE(IB_USER_VERBS_CMD_OPEN_QP,
|
||||
ib_uverbs_open_qp,
|
||||
UAPI_DEF_WRITE_UDATA_IO(
|
||||
|
@ -4010,8 +4009,9 @@ const struct uapi_definition uverbs_def_write_intf[] = {
|
|||
ib_uverbs_open_xrcd,
|
||||
UAPI_DEF_WRITE_UDATA_IO(
|
||||
struct ib_uverbs_open_xrcd,
|
||||
struct ib_uverbs_open_xrcd_resp),
|
||||
UAPI_DEF_METHOD_NEEDS_FN(alloc_xrcd))),
|
||||
struct ib_uverbs_open_xrcd_resp)),
|
||||
UAPI_DEF_OBJ_NEEDS_FN(alloc_xrcd),
|
||||
UAPI_DEF_OBJ_NEEDS_FN(dealloc_xrcd)),
|
||||
|
||||
{},
|
||||
};
|
||||
|
|
|
@ -703,12 +703,6 @@ static int bnxt_re_register_ib(struct bnxt_re_dev *rdev)
|
|||
|
||||
/* User space */
|
||||
ibdev->uverbs_cmd_mask |=
|
||||
(1ull << IB_USER_VERBS_CMD_REREG_MR) |
|
||||
(1ull << IB_USER_VERBS_CMD_RESIZE_CQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_CREATE_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_QUERY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_DESTROY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_CREATE_AH) |
|
||||
(1ull << IB_USER_VERBS_CMD_MODIFY_AH) |
|
||||
(1ull << IB_USER_VERBS_CMD_QUERY_AH) |
|
||||
|
|
|
@ -535,10 +535,7 @@ void c4iw_register_device(struct work_struct *work)
|
|||
(1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_POLL_CQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_POST_SEND) |
|
||||
(1ull << IB_USER_VERBS_CMD_POST_RECV) |
|
||||
(1ull << IB_USER_VERBS_CMD_CREATE_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_DESTROY_SRQ);
|
||||
(1ull << IB_USER_VERBS_CMD_POST_RECV);
|
||||
dev->ibdev.node_type = RDMA_NODE_RNIC;
|
||||
BUILD_BUG_ON(sizeof(C4IW_NODE_DESC) > IB_DEVICE_NODE_DESC_MAX);
|
||||
memcpy(dev->ibdev.node_desc, C4IW_NODE_DESC, sizeof(C4IW_NODE_DESC));
|
||||
|
|
|
@ -492,18 +492,12 @@ static int hns_roce_register_device(struct hns_roce_dev *hr_dev)
|
|||
ib_dev->local_dma_lkey = hr_dev->caps.reserved_lkey;
|
||||
ib_dev->num_comp_vectors = hr_dev->caps.num_comp_vectors;
|
||||
|
||||
if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_REREG_MR) {
|
||||
ib_dev->uverbs_cmd_mask |= (1ULL << IB_USER_VERBS_CMD_REREG_MR);
|
||||
if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_REREG_MR)
|
||||
ib_set_device_ops(ib_dev, &hns_roce_dev_mr_ops);
|
||||
}
|
||||
|
||||
/* MW */
|
||||
if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_MW) {
|
||||
ib_dev->uverbs_cmd_mask |=
|
||||
(1ULL << IB_USER_VERBS_CMD_ALLOC_MW) |
|
||||
(1ULL << IB_USER_VERBS_CMD_DEALLOC_MW);
|
||||
if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_MW)
|
||||
ib_set_device_ops(ib_dev, &hns_roce_dev_mw_ops);
|
||||
}
|
||||
|
||||
/* FRMR */
|
||||
if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_FRMR)
|
||||
|
@ -512,10 +506,6 @@ static int hns_roce_register_device(struct hns_roce_dev *hr_dev)
|
|||
/* SRQ */
|
||||
if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_SRQ) {
|
||||
ib_dev->uverbs_cmd_mask |=
|
||||
(1ULL << IB_USER_VERBS_CMD_CREATE_SRQ) |
|
||||
(1ULL << IB_USER_VERBS_CMD_MODIFY_SRQ) |
|
||||
(1ULL << IB_USER_VERBS_CMD_QUERY_SRQ) |
|
||||
(1ULL << IB_USER_VERBS_CMD_DESTROY_SRQ) |
|
||||
(1ULL << IB_USER_VERBS_CMD_POST_SRQ_RECV);
|
||||
ib_set_device_ops(ib_dev, &hns_roce_dev_srq_ops);
|
||||
ib_set_device_ops(ib_dev, hr_dev->hw->hns_roce_dev_srq_ops);
|
||||
|
|
|
@ -2658,16 +2658,7 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
|
|||
ibdev->ib_dev.dev.parent = &dev->persist->pdev->dev;
|
||||
|
||||
ibdev->ib_dev.uverbs_cmd_mask |=
|
||||
(1ull << IB_USER_VERBS_CMD_REREG_MR) |
|
||||
(1ull << IB_USER_VERBS_CMD_RESIZE_CQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) |
|
||||
(1ull << IB_USER_VERBS_CMD_DETACH_MCAST) |
|
||||
(1ull << IB_USER_VERBS_CMD_CREATE_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_QUERY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_DESTROY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_CREATE_XSRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_OPEN_QP);
|
||||
(1ull << IB_USER_VERBS_CMD_CREATE_XSRQ);
|
||||
|
||||
ib_set_device_ops(&ibdev->ib_dev, &mlx4_ib_dev_ops);
|
||||
ibdev->ib_dev.uverbs_ex_cmd_mask |=
|
||||
|
@ -2682,17 +2673,10 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
|
|||
ib_set_device_ops(&ibdev->ib_dev, &mlx4_ib_dev_wq_ops);
|
||||
|
||||
if (dev->caps.flags & MLX4_DEV_CAP_FLAG_MEM_WINDOW ||
|
||||
dev->caps.bmme_flags & MLX4_BMME_FLAG_TYPE_2_WIN) {
|
||||
ibdev->ib_dev.uverbs_cmd_mask |=
|
||||
(1ull << IB_USER_VERBS_CMD_ALLOC_MW) |
|
||||
(1ull << IB_USER_VERBS_CMD_DEALLOC_MW);
|
||||
dev->caps.bmme_flags & MLX4_BMME_FLAG_TYPE_2_WIN)
|
||||
ib_set_device_ops(&ibdev->ib_dev, &mlx4_ib_dev_mw_ops);
|
||||
}
|
||||
|
||||
if (dev->caps.flags & MLX4_DEV_CAP_FLAG_XRC) {
|
||||
ibdev->ib_dev.uverbs_cmd_mask |=
|
||||
(1ull << IB_USER_VERBS_CMD_OPEN_XRCD) |
|
||||
(1ull << IB_USER_VERBS_CMD_CLOSE_XRCD);
|
||||
ib_set_device_ops(&ibdev->ib_dev, &mlx4_ib_dev_xrc_ops);
|
||||
}
|
||||
|
||||
|
|
|
@ -4142,16 +4142,7 @@ static int mlx5_ib_stage_caps_init(struct mlx5_ib_dev *dev)
|
|||
dev->ib_dev.uverbs_cmd_mask |=
|
||||
(1ull << IB_USER_VERBS_CMD_CREATE_AH) |
|
||||
(1ull << IB_USER_VERBS_CMD_DESTROY_AH) |
|
||||
(1ull << IB_USER_VERBS_CMD_REREG_MR) |
|
||||
(1ull << IB_USER_VERBS_CMD_RESIZE_CQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) |
|
||||
(1ull << IB_USER_VERBS_CMD_DETACH_MCAST) |
|
||||
(1ull << IB_USER_VERBS_CMD_CREATE_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_QUERY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_DESTROY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_CREATE_XSRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_OPEN_QP);
|
||||
(1ull << IB_USER_VERBS_CMD_CREATE_XSRQ);
|
||||
dev->ib_dev.uverbs_ex_cmd_mask |=
|
||||
(1ull << IB_USER_VERBS_EX_CMD_CREATE_CQ) |
|
||||
(1ull << IB_USER_VERBS_EX_CMD_CREATE_QP) |
|
||||
|
@ -4167,19 +4158,11 @@ static int mlx5_ib_stage_caps_init(struct mlx5_ib_dev *dev)
|
|||
|
||||
dev->umr_fence = mlx5_get_umr_fence(MLX5_CAP_GEN(mdev, umr_fence));
|
||||
|
||||
if (MLX5_CAP_GEN(mdev, imaicl)) {
|
||||
dev->ib_dev.uverbs_cmd_mask |=
|
||||
(1ull << IB_USER_VERBS_CMD_ALLOC_MW) |
|
||||
(1ull << IB_USER_VERBS_CMD_DEALLOC_MW);
|
||||
if (MLX5_CAP_GEN(mdev, imaicl))
|
||||
ib_set_device_ops(&dev->ib_dev, &mlx5_ib_dev_mw_ops);
|
||||
}
|
||||
|
||||
if (MLX5_CAP_GEN(mdev, xrc)) {
|
||||
dev->ib_dev.uverbs_cmd_mask |=
|
||||
(1ull << IB_USER_VERBS_CMD_OPEN_XRCD) |
|
||||
(1ull << IB_USER_VERBS_CMD_CLOSE_XRCD);
|
||||
if (MLX5_CAP_GEN(mdev, xrc))
|
||||
ib_set_device_ops(&dev->ib_dev, &mlx5_ib_dev_xrc_ops);
|
||||
}
|
||||
|
||||
if (MLX5_CAP_DEV_MEM(mdev, memic) ||
|
||||
MLX5_CAP_GEN_64(dev->mdev, general_obj_types) &
|
||||
|
|
|
@ -1158,22 +1158,12 @@ int mthca_register_device(struct mthca_dev *dev)
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
dev->ib_dev.uverbs_cmd_mask |=
|
||||
(1ull << IB_USER_VERBS_CMD_RESIZE_CQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) |
|
||||
(1ull << IB_USER_VERBS_CMD_DETACH_MCAST);
|
||||
dev->ib_dev.node_type = RDMA_NODE_IB_CA;
|
||||
dev->ib_dev.phys_port_cnt = dev->limits.num_ports;
|
||||
dev->ib_dev.num_comp_vectors = 1;
|
||||
dev->ib_dev.dev.parent = &dev->pdev->dev;
|
||||
|
||||
if (dev->mthca_flags & MTHCA_FLAG_SRQ) {
|
||||
dev->ib_dev.uverbs_cmd_mask |=
|
||||
(1ull << IB_USER_VERBS_CMD_CREATE_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_QUERY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_DESTROY_SRQ);
|
||||
|
||||
if (mthca_is_memfree(dev))
|
||||
ib_set_device_ops(&dev->ib_dev,
|
||||
&mthca_dev_arbel_srq_ops);
|
||||
|
|
|
@ -205,7 +205,6 @@ static int ocrdma_register_device(struct ocrdma_dev *dev)
|
|||
memcpy(dev->ibdev.node_desc, OCRDMA_NODE_DESC,
|
||||
sizeof(OCRDMA_NODE_DESC));
|
||||
dev->ibdev.uverbs_cmd_mask |=
|
||||
OCRDMA_UVERBS(RESIZE_CQ) |
|
||||
OCRDMA_UVERBS(REQ_NOTIFY_CQ) |
|
||||
OCRDMA_UVERBS(POLL_CQ) |
|
||||
OCRDMA_UVERBS(POST_SEND) |
|
||||
|
@ -228,10 +227,6 @@ static int ocrdma_register_device(struct ocrdma_dev *dev)
|
|||
|
||||
if (ocrdma_get_asic_type(dev) == OCRDMA_ASIC_GEN_SKH_R) {
|
||||
dev->ibdev.uverbs_cmd_mask |=
|
||||
OCRDMA_UVERBS(CREATE_SRQ) |
|
||||
OCRDMA_UVERBS(MODIFY_SRQ) |
|
||||
OCRDMA_UVERBS(QUERY_SRQ) |
|
||||
OCRDMA_UVERBS(DESTROY_SRQ) |
|
||||
OCRDMA_UVERBS(POST_SRQ_RECV);
|
||||
|
||||
ib_set_device_ops(&dev->ibdev, &ocrdma_dev_srq_ops);
|
||||
|
|
|
@ -189,8 +189,7 @@ static void qedr_roce_register_device(struct qedr_dev *dev)
|
|||
|
||||
ib_set_device_ops(&dev->ibdev, &qedr_roce_dev_ops);
|
||||
|
||||
dev->ibdev.uverbs_cmd_mask |= QEDR_UVERBS(OPEN_XRCD) |
|
||||
QEDR_UVERBS(CLOSE_XRCD) |
|
||||
dev->ibdev.uverbs_cmd_mask |=
|
||||
QEDR_UVERBS(CREATE_XSRQ);
|
||||
}
|
||||
|
||||
|
@ -250,12 +249,7 @@ static int qedr_register_device(struct qedr_dev *dev)
|
|||
memcpy(dev->ibdev.node_desc, QEDR_NODE_DESC, sizeof(QEDR_NODE_DESC));
|
||||
|
||||
dev->ibdev.uverbs_cmd_mask |=
|
||||
QEDR_UVERBS(RESIZE_CQ) |
|
||||
QEDR_UVERBS(REQ_NOTIFY_CQ) |
|
||||
QEDR_UVERBS(CREATE_SRQ) |
|
||||
QEDR_UVERBS(DESTROY_SRQ) |
|
||||
QEDR_UVERBS(QUERY_SRQ) |
|
||||
QEDR_UVERBS(MODIFY_SRQ) |
|
||||
QEDR_UVERBS(POST_SRQ_RECV) |
|
||||
QEDR_UVERBS(POLL_CQ) |
|
||||
QEDR_UVERBS(POST_SEND) |
|
||||
|
|
|
@ -398,11 +398,6 @@ static void *usnic_ib_device_add(struct pci_dev *dev)
|
|||
us_ibdev->ib_dev.num_comp_vectors = USNIC_IB_NUM_COMP_VECTORS;
|
||||
us_ibdev->ib_dev.dev.parent = &dev->dev;
|
||||
|
||||
us_ibdev->ib_dev.uverbs_cmd_mask |=
|
||||
(1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) |
|
||||
(1ull << IB_USER_VERBS_CMD_DETACH_MCAST) |
|
||||
(1ull << IB_USER_VERBS_CMD_OPEN_QP);
|
||||
|
||||
ib_set_device_ops(&us_ibdev->ib_dev, &usnic_dev_ops);
|
||||
|
||||
rdma_set_device_sysfs_group(&us_ibdev->ib_dev, &usnic_attr_group);
|
||||
|
|
|
@ -236,10 +236,6 @@ static int pvrdma_register_device(struct pvrdma_dev *dev)
|
|||
/* Check if SRQ is supported by backend */
|
||||
if (dev->dsr->caps.max_srq) {
|
||||
dev->ib_dev.uverbs_cmd_mask |=
|
||||
(1ull << IB_USER_VERBS_CMD_CREATE_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_QUERY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_DESTROY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_POST_SRQ_RECV);
|
||||
|
||||
ib_set_device_ops(&dev->ib_dev, &pvrdma_dev_srq_ops);
|
||||
|
|
|
@ -598,17 +598,10 @@ int rvt_register_device(struct rvt_dev_info *rdi)
|
|||
(1ull << IB_USER_VERBS_CMD_MODIFY_AH) |
|
||||
(1ull << IB_USER_VERBS_CMD_QUERY_AH) |
|
||||
(1ull << IB_USER_VERBS_CMD_DESTROY_AH) |
|
||||
(1ull << IB_USER_VERBS_CMD_RESIZE_CQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_POLL_CQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_POST_SEND) |
|
||||
(1ull << IB_USER_VERBS_CMD_POST_RECV) |
|
||||
(1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) |
|
||||
(1ull << IB_USER_VERBS_CMD_DETACH_MCAST) |
|
||||
(1ull << IB_USER_VERBS_CMD_CREATE_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_QUERY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_DESTROY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_POST_SRQ_RECV);
|
||||
rdi->ibdev.node_type = RDMA_NODE_IB_CA;
|
||||
if (!rdi->ibdev.num_comp_vectors)
|
||||
|
|
|
@ -1133,14 +1133,9 @@ int rxe_register_device(struct rxe_dev *rxe, const char *ibdev_name)
|
|||
dma_set_coherent_mask(&dev->dev, dma_get_required_mask(&dev->dev));
|
||||
|
||||
dev->uverbs_cmd_mask |=
|
||||
BIT_ULL(IB_USER_VERBS_CMD_CREATE_SRQ)
|
||||
| BIT_ULL(IB_USER_VERBS_CMD_MODIFY_SRQ)
|
||||
| BIT_ULL(IB_USER_VERBS_CMD_QUERY_SRQ)
|
||||
| BIT_ULL(IB_USER_VERBS_CMD_DESTROY_SRQ)
|
||||
| BIT_ULL(IB_USER_VERBS_CMD_POST_SRQ_RECV)
|
||||
BIT_ULL(IB_USER_VERBS_CMD_POST_SRQ_RECV)
|
||||
| BIT_ULL(IB_USER_VERBS_CMD_POST_SEND)
|
||||
| BIT_ULL(IB_USER_VERBS_CMD_POST_RECV)
|
||||
| BIT_ULL(IB_USER_VERBS_CMD_RESIZE_CQ)
|
||||
| BIT_ULL(IB_USER_VERBS_CMD_POLL_CQ)
|
||||
| BIT_ULL(IB_USER_VERBS_CMD_PEEK_CQ)
|
||||
| BIT_ULL(IB_USER_VERBS_CMD_REQ_NOTIFY_CQ)
|
||||
|
@ -1148,8 +1143,6 @@ int rxe_register_device(struct rxe_dev *rxe, const char *ibdev_name)
|
|||
| BIT_ULL(IB_USER_VERBS_CMD_MODIFY_AH)
|
||||
| BIT_ULL(IB_USER_VERBS_CMD_QUERY_AH)
|
||||
| BIT_ULL(IB_USER_VERBS_CMD_DESTROY_AH)
|
||||
| BIT_ULL(IB_USER_VERBS_CMD_ATTACH_MCAST)
|
||||
| BIT_ULL(IB_USER_VERBS_CMD_DETACH_MCAST)
|
||||
;
|
||||
|
||||
ib_set_device_ops(dev, &rxe_dev_ops);
|
||||
|
|
|
@ -351,11 +351,7 @@ static struct siw_device *siw_device_create(struct net_device *netdev)
|
|||
(1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_POST_SEND) |
|
||||
(1ull << IB_USER_VERBS_CMD_POST_RECV) |
|
||||
(1ull << IB_USER_VERBS_CMD_CREATE_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_POST_SRQ_RECV) |
|
||||
(1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_QUERY_SRQ) |
|
||||
(1ull << IB_USER_VERBS_CMD_DESTROY_SRQ);
|
||||
(1ull << IB_USER_VERBS_CMD_POST_SRQ_RECV);
|
||||
|
||||
base_dev->node_type = RDMA_NODE_RNIC;
|
||||
memcpy(base_dev->node_desc, SIW_NODE_DESC_COMMON,
|
||||
|
|
Loading…
Reference in New Issue