/kernel/linux/linux-6.6/drivers/iommu/iommufd/ |
H A D | ioas.c | 37 int iommufd_ioas_alloc_ioctl(struct iommufd_ucmd *ucmd) in iommufd_ioas_alloc_ioctl() argument 39 struct iommu_ioas_alloc *cmd = ucmd->cmd; in iommufd_ioas_alloc_ioctl() 46 ioas = iommufd_ioas_alloc(ucmd->ictx); in iommufd_ioas_alloc_ioctl() 51 rc = iommufd_ucmd_respond(ucmd, sizeof(*cmd)); in iommufd_ioas_alloc_ioctl() 54 iommufd_object_finalize(ucmd->ictx, &ioas->obj); in iommufd_ioas_alloc_ioctl() 58 iommufd_object_abort_and_destroy(ucmd->ictx, &ioas->obj); in iommufd_ioas_alloc_ioctl() 62 int iommufd_ioas_iova_ranges(struct iommufd_ucmd *ucmd) in iommufd_ioas_iova_ranges() argument 65 struct iommu_ioas_iova_ranges *cmd = ucmd->cmd; in iommufd_ioas_iova_ranges() 74 ioas = iommufd_get_ioas(ucmd->ictx, cmd->ioas_id); in iommufd_ioas_iova_ranges() 101 rc = iommufd_ucmd_respond(ucmd, sizeo in iommufd_ioas_iova_ranges() 142 iommufd_ioas_allow_iovas(struct iommufd_ucmd *ucmd) iommufd_ioas_allow_iovas() argument 200 iommufd_ioas_map(struct iommufd_ucmd *ucmd) iommufd_ioas_map() argument 235 iommufd_ioas_copy(struct iommufd_ucmd *ucmd) iommufd_ioas_copy() argument 288 iommufd_ioas_unmap(struct iommufd_ucmd *ucmd) iommufd_ioas_unmap() argument 375 iommufd_ioas_option(struct iommufd_ucmd *ucmd) iommufd_ioas_option() argument [all...] |
H A D | iommufd_private.h | 102 /* Copy the response in ucmd->cmd back to userspace. */ 103 static inline int iommufd_ucmd_respond(struct iommufd_ucmd *ucmd, in iommufd_ucmd_respond() argument 106 if (copy_to_user(ucmd->ubuffer, ucmd->cmd, in iommufd_ucmd_respond() 107 min_t(size_t, ucmd->user_size, cmd_len))) in iommufd_ucmd_respond() 213 int iommufd_ioas_alloc_ioctl(struct iommufd_ucmd *ucmd); 215 int iommufd_ioas_iova_ranges(struct iommufd_ucmd *ucmd); 216 int iommufd_ioas_allow_iovas(struct iommufd_ucmd *ucmd); 217 int iommufd_ioas_map(struct iommufd_ucmd *ucmd); 218 int iommufd_ioas_copy(struct iommufd_ucmd *ucmd); 291 iommufd_get_device(struct iommufd_ucmd *ucmd, u32 id) iommufd_get_device() argument 330 iommufd_test_syz_conv_iova_id(struct iommufd_ucmd *ucmd, unsigned int ioas_id, u64 *iova, u32 *flags) iommufd_test_syz_conv_iova_id() argument [all...] |
H A D | selftest.c | 72 void iommufd_test_syz_conv_iova_id(struct iommufd_ucmd *ucmd, in iommufd_test_syz_conv_iova_id() argument 81 ioas = iommufd_get_ioas(ucmd->ictx, ioas_id); in iommufd_test_syz_conv_iova_id() 325 get_md_pagetable(struct iommufd_ucmd *ucmd, u32 mockpt_id, in get_md_pagetable() argument 331 obj = iommufd_get_object(ucmd->ictx, mockpt_id, in get_md_pagetable() 404 static int iommufd_test_mock_domain(struct iommufd_ucmd *ucmd, in iommufd_test_mock_domain() argument 413 sobj = iommufd_object_alloc(ucmd->ictx, sobj, IOMMUFD_OBJ_SELFTEST); in iommufd_test_mock_domain() 417 sobj->idev.ictx = ucmd->ictx; in iommufd_test_mock_domain() 426 idev = iommufd_device_bind(ucmd->ictx, &sobj->idev.mock_dev->dev, in iommufd_test_mock_domain() 442 rc = iommufd_ucmd_respond(ucmd, sizeof(*cmd)); in iommufd_test_mock_domain() 445 iommufd_object_finalize(ucmd in iommufd_test_mock_domain() 460 iommufd_test_mock_domain_replace(struct iommufd_ucmd *ucmd, unsigned int device_id, u32 pt_id, struct iommu_test_cmd *cmd) iommufd_test_mock_domain_replace() argument 496 iommufd_test_add_reserved(struct iommufd_ucmd *ucmd, unsigned int mockpt_id, unsigned long start, size_t length) iommufd_test_add_reserved() argument 514 iommufd_test_md_check_pa(struct iommufd_ucmd *ucmd, unsigned int mockpt_id, unsigned long iova, size_t length, void __user *uptr) iommufd_test_md_check_pa() argument 569 iommufd_test_md_check_refs(struct iommufd_ucmd *ucmd, void __user *uptr, size_t length, unsigned int refs) iommufd_test_md_check_refs() argument 657 iommufd_test_access_item_destroy(struct iommufd_ucmd *ucmd, unsigned int access_id, unsigned int item_id) iommufd_test_access_item_destroy() argument 734 iommufd_test_create_access(struct iommufd_ucmd *ucmd, unsigned int ioas_id, unsigned int flags) iommufd_test_create_access() argument 788 iommufd_test_access_replace_ioas(struct iommufd_ucmd *ucmd, unsigned int access_id, unsigned int ioas_id) iommufd_test_access_replace_ioas() argument 826 iommufd_test_access_pages(struct iommufd_ucmd *ucmd, unsigned int access_id, unsigned long iova, size_t length, void __user *uptr, u32 flags) iommufd_test_access_pages() argument 921 iommufd_test_access_rw(struct iommufd_ucmd *ucmd, unsigned int access_id, unsigned long iova, size_t length, void __user *ubuf, unsigned int flags) iommufd_test_access_rw() argument 993 iommufd_test(struct iommufd_ucmd *ucmd) iommufd_test() argument [all...] |
H A D | main.c | 207 static int iommufd_destroy(struct iommufd_ucmd *ucmd) in iommufd_destroy() argument 209 struct iommu_destroy *cmd = ucmd->cmd; in iommufd_destroy() 212 obj = iommufd_object_remove(ucmd->ictx, cmd->id, false); in iommufd_destroy() 280 static int iommufd_option(struct iommufd_ucmd *ucmd) in iommufd_option() argument 282 struct iommu_option *cmd = ucmd->cmd; in iommufd_option() 290 rc = iommufd_option_rlimit_mode(cmd, ucmd->ictx); in iommufd_option() 293 rc = iommufd_ioas_option(ucmd); in iommufd_option() 300 if (copy_to_user(&((struct iommu_option __user *)ucmd->ubuffer)->val64, in iommufd_option() 327 int (*execute)(struct iommufd_ucmd *ucmd); 371 struct iommufd_ucmd ucmd in iommufd_fops_ioctl() local [all...] |
H A D | hw_pagetable.c | 136 int iommufd_hwpt_alloc(struct iommufd_ucmd *ucmd) in iommufd_hwpt_alloc() argument 138 struct iommu_hwpt_alloc *cmd = ucmd->cmd; in iommufd_hwpt_alloc() 147 idev = iommufd_get_device(ucmd, cmd->dev_id); in iommufd_hwpt_alloc() 151 ioas = iommufd_get_ioas(ucmd->ictx, cmd->pt_id); in iommufd_hwpt_alloc() 158 hwpt = iommufd_hw_pagetable_alloc(ucmd->ictx, ioas, idev, false); in iommufd_hwpt_alloc() 165 rc = iommufd_ucmd_respond(ucmd, sizeof(*cmd)); in iommufd_hwpt_alloc() 168 iommufd_object_finalize(ucmd->ictx, &hwpt->obj); in iommufd_hwpt_alloc() 172 iommufd_object_abort_and_destroy(ucmd->ictx, &hwpt->obj); in iommufd_hwpt_alloc()
|
H A D | vfio_compat.c | 123 int iommufd_vfio_ioas(struct iommufd_ucmd *ucmd) in iommufd_vfio_ioas() argument 125 struct iommu_vfio_ioas *cmd = ucmd->cmd; in iommufd_vfio_ioas() 132 ioas = get_compat_ioas(ucmd->ictx); in iommufd_vfio_ioas() 137 return iommufd_ucmd_respond(ucmd, sizeof(*cmd)); in iommufd_vfio_ioas() 140 ioas = iommufd_get_ioas(ucmd->ictx, cmd->ioas_id); in iommufd_vfio_ioas() 143 xa_lock(&ucmd->ictx->objects); in iommufd_vfio_ioas() 144 ucmd->ictx->vfio_ioas = ioas; in iommufd_vfio_ioas() 145 xa_unlock(&ucmd->ictx->objects); in iommufd_vfio_ioas() 150 xa_lock(&ucmd->ictx->objects); in iommufd_vfio_ioas() 151 ucmd in iommufd_vfio_ioas() [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/hw/mana/ |
H A D | qp.c | 104 struct mana_ib_create_qp_rss ucmd = {}; in mana_ib_create_qp_rss() local 121 if (!udata || udata->inlen < sizeof(ucmd)) in mana_ib_create_qp_rss() 124 ret = ib_copy_from_udata(&ucmd, udata, min(sizeof(ucmd), udata->inlen)); in mana_ib_create_qp_rss() 154 if (ucmd.rx_hash_function != MANA_IB_RX_HASH_FUNC_TOEPLITZ) { in mana_ib_create_qp_rss() 157 ucmd.rx_hash_function); in mana_ib_create_qp_rss() 162 port = ucmd.port; in mana_ib_create_qp_rss() 172 ucmd.rx_hash_function, port); in mana_ib_create_qp_rss() 227 ucmd.rx_hash_key_len, in mana_ib_create_qp_rss() 228 ucmd in mana_ib_create_qp_rss() 271 struct mana_ib_create_qp ucmd = {}; mana_ib_create_qp_raw() local [all...] |
H A D | wq.c | 14 struct mana_ib_create_wq ucmd = {}; in mana_ib_create_wq() local 19 if (udata->inlen < sizeof(ucmd)) in mana_ib_create_wq() 22 err = ib_copy_from_udata(&ucmd, udata, min(sizeof(ucmd), udata->inlen)); in mana_ib_create_wq() 33 ibdev_dbg(&mdev->ib_dev, "ucmd wq_buf_addr 0x%llx\n", ucmd.wq_buf_addr); in mana_ib_create_wq() 35 umem = ib_umem_get(pd->device, ucmd.wq_buf_addr, ucmd.wq_buf_size, in mana_ib_create_wq() 46 wq->wq_buf_size = ucmd.wq_buf_size; in mana_ib_create_wq()
|
H A D | cq.c | 13 struct mana_ib_create_cq ucmd = {}; in mana_ib_create_cq() local 19 if (udata->inlen < sizeof(ucmd)) in mana_ib_create_cq() 22 err = ib_copy_from_udata(&ucmd, udata, min(sizeof(ucmd), udata->inlen)); in mana_ib_create_cq() 35 cq->umem = ib_umem_get(ibdev, ucmd.buf_addr, cq->cqe * COMP_ENTRY_SIZE, in mana_ib_create_cq()
|
/kernel/linux/linux-5.10/drivers/infiniband/hw/mthca/ |
H A D | mthca_provider.c | 403 struct mthca_create_srq ucmd; in mthca_create_srq() local 413 if (ib_copy_from_udata(&ucmd, udata, sizeof(ucmd))) in mthca_create_srq() 417 context->db_tab, ucmd.db_index, in mthca_create_srq() 418 ucmd.db_page); in mthca_create_srq() 423 srq->mr.ibmr.lkey = ucmd.lkey; in mthca_create_srq() 424 srq->db_index = ucmd.db_index; in mthca_create_srq() 432 context->db_tab, ucmd.db_index); in mthca_create_srq() 468 struct mthca_create_qp ucmd; in mthca_create_qp() local 485 if (ib_copy_from_udata(&ucmd, udat in mthca_create_qp() 607 struct mthca_create_cq ucmd; mthca_create_cq() local 726 struct mthca_resize_cq ucmd; mthca_resize_cq() local 860 struct mthca_reg_mr ucmd; mthca_reg_user_mr() local [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/hw/mthca/ |
H A D | mthca_provider.c | 395 struct mthca_create_srq ucmd; in mthca_create_srq() local 405 if (ib_copy_from_udata(&ucmd, udata, sizeof(ucmd))) in mthca_create_srq() 409 context->db_tab, ucmd.db_index, in mthca_create_srq() 410 ucmd.db_page); in mthca_create_srq() 415 srq->mr.ibmr.lkey = ucmd.lkey; in mthca_create_srq() 416 srq->db_index = ucmd.db_index; in mthca_create_srq() 424 context->db_tab, ucmd.db_index); in mthca_create_srq() 460 struct mthca_create_qp ucmd; in mthca_create_qp() local 474 if (ib_copy_from_udata(&ucmd, udat in mthca_create_qp() 581 struct mthca_create_cq ucmd; mthca_create_cq() local 700 struct mthca_resize_cq ucmd; mthca_resize_cq() local 834 struct mthca_reg_mr ucmd; mthca_reg_user_mr() local [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/hw/hns/ |
H A D | hns_roce_cq.c | 300 struct hns_roce_ib_create_cq *ucmd) in get_cq_ucmd() 305 ret = ib_copy_from_udata(ucmd, udata, min(udata->inlen, sizeof(*ucmd))); in get_cq_ucmd() 315 struct hns_roce_ib_create_cq *ucmd) in set_cq_param() 331 struct hns_roce_ib_create_cq *ucmd) in set_cqe_size() 340 if (udata->inlen >= offsetofend(typeof(*ucmd), cqe_size)) { in set_cqe_size() 341 if (ucmd->cqe_size != HNS_ROCE_V2_CQE_SIZE && in set_cqe_size() 342 ucmd->cqe_size != HNS_ROCE_V3_CQE_SIZE) { in set_cqe_size() 344 "invalid cqe size %u.\n", ucmd->cqe_size); in set_cqe_size() 348 hr_cq->cqe_size = ucmd in set_cqe_size() 299 get_cq_ucmd(struct hns_roce_cq *hr_cq, struct ib_udata *udata, struct hns_roce_ib_create_cq *ucmd) get_cq_ucmd() argument 314 set_cq_param(struct hns_roce_cq *hr_cq, u32 cq_entries, int vector, struct hns_roce_ib_create_cq *ucmd) set_cq_param() argument 330 set_cqe_size(struct hns_roce_cq *hr_cq, struct ib_udata *udata, struct hns_roce_ib_create_cq *ucmd) set_cqe_size() argument 363 struct hns_roce_ib_create_cq ucmd = {}; hns_roce_create_cq() local [all...] |
/kernel/linux/linux-5.10/drivers/infiniband/hw/mlx5/ |
H A D | srq.c | 49 struct mlx5_ib_create_srq ucmd = {}; in create_srq_user() local 60 ucmdlen = min(udata->inlen, sizeof(ucmd)); in create_srq_user() 62 if (ib_copy_from_udata(&ucmd, udata, ucmdlen)) { in create_srq_user() 67 if (ucmd.reserved0 || ucmd.reserved1) in create_srq_user() 70 if (udata->inlen > sizeof(ucmd) && in create_srq_user() 71 !ib_is_udata_cleared(udata, sizeof(ucmd), in create_srq_user() 72 udata->inlen - sizeof(ucmd))) in create_srq_user() 76 err = get_srq_user_index(ucontext, &ucmd, udata->inlen, &uidx); in create_srq_user() 81 srq->wq_sig = !!(ucmd in create_srq_user() [all...] |
H A D | qp.c | 352 int has_rq, struct mlx5_ib_qp *qp, struct mlx5_ib_create_qp *ucmd) in set_rq_size() 370 if (ucmd) { in set_rq_size() 371 qp->rq.wqe_cnt = ucmd->rq_wqe_count; in set_rq_size() 372 if (ucmd->rq_wqe_shift > BITS_PER_BYTE * sizeof(ucmd->rq_wqe_shift)) in set_rq_size() 374 qp->rq.wqe_shift = ucmd->rq_wqe_shift; in set_rq_size() 556 struct mlx5_ib_create_qp *ucmd, in set_user_buf_size() 568 if (ucmd->sq_wqe_count && !is_power_of_2(ucmd->sq_wqe_count)) { in set_user_buf_size() 570 ucmd in set_user_buf_size() 351 set_rq_size(struct mlx5_ib_dev *dev, struct ib_qp_cap *cap, int has_rq, struct mlx5_ib_qp *qp, struct mlx5_ib_create_qp *ucmd) set_rq_size() argument 554 set_user_buf_size(struct mlx5_ib_dev *dev, struct mlx5_ib_qp *qp, struct mlx5_ib_create_qp *ucmd, struct mlx5_ib_qp_base *base, struct ib_qp_init_attr *attr) set_user_buf_size() argument 830 create_user_rq(struct mlx5_ib_dev *dev, struct ib_pd *pd, struct ib_udata *udata, struct mlx5_ib_rwq *rwq, struct mlx5_ib_create_wq *ucmd) create_user_rq() argument 890 _create_user_qp(struct mlx5_ib_dev *dev, struct ib_pd *pd, struct mlx5_ib_qp *qp, struct ib_udata *udata, struct ib_qp_init_attr *attr, u32 **in, struct mlx5_ib_create_qp_resp *resp, int *inlen, struct mlx5_ib_qp_base *base, struct mlx5_ib_create_qp *ucmd) _create_user_qp() argument 1558 void *ucmd; global() member 1570 struct mlx5_ib_create_qp_rss *ucmd = params->ucmd; create_rss_raw_qp_tir() local 1922 struct mlx5_ib_create_qp *ucmd = params->ucmd; create_user_qp() local 2407 struct mlx5_ib_create_qp *ucmd = params->ucmd; create_dct() local 2546 process_vendor_flags(struct mlx5_ib_dev *dev, struct mlx5_ib_qp *qp, void *ucmd, struct ib_qp_init_attr *attr) process_vendor_flags() argument 2716 size_t ucmd = sizeof(struct mlx5_ib_create_qp); process_udata_size() local 2839 struct mlx5_ib_create_qp *ucmd = params->ucmd; get_qp_uidx() local 3771 __mlx5_ib_modify_qp(struct ib_qp *ibqp, const struct ib_qp_attr *attr, int attr_mask, enum ib_qp_state cur_state, enum ib_qp_state new_state, const struct mlx5_ib_modify_qp *ucmd, struct mlx5_ib_modify_qp_resp *resp, struct ib_udata *udata) __mlx5_ib_modify_qp() argument 4159 mlx5_ib_modify_dct(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct mlx5_ib_modify_qp *ucmd, struct ib_udata *udata) mlx5_ib_modify_dct() argument 4328 struct mlx5_ib_modify_qp ucmd = {}; mlx5_ib_modify_qp() local 4976 set_user_rq_size(struct mlx5_ib_dev *dev, struct ib_wq_init_attr *wq_init_attr, struct mlx5_ib_create_wq *ucmd, struct mlx5_ib_rwq *rwq) set_user_rq_size() argument 5017 struct mlx5_ib_create_wq ucmd = {}; prepare_user_rq() local 5255 struct mlx5_ib_modify_wq ucmd = {}; mlx5_ib_modify_wq() local [all...] |
H A D | cq.c | 709 struct mlx5_ib_create_cq ucmd = {}; in create_cq_user() local 720 ucmdlen = min(udata->inlen, sizeof(ucmd)); in create_cq_user() 724 if (ib_copy_from_udata(&ucmd, udata, ucmdlen)) in create_cq_user() 727 if ((ucmd.flags & ~(MLX5_IB_CREATE_CQ_FLAGS_CQE_128B_PAD | in create_cq_user() 731 if ((ucmd.cqe_size != 64 && ucmd.cqe_size != 128) || in create_cq_user() 732 ucmd.reserved0 || ucmd.reserved1) in create_cq_user() 735 *cqe_size = ucmd.cqe_size; in create_cq_user() 738 ib_umem_get(&dev->ib_dev, ucmd in create_cq_user() 1131 struct mlx5_ib_resize_cq ucmd; resize_user() local [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/hw/mlx5/ |
H A D | qp.c | 434 int has_rq, struct mlx5_ib_qp *qp, struct mlx5_ib_create_qp *ucmd) in set_rq_size() 452 if (ucmd) { in set_rq_size() 453 qp->rq.wqe_cnt = ucmd->rq_wqe_count; in set_rq_size() 454 if (ucmd->rq_wqe_shift > BITS_PER_BYTE * sizeof(ucmd->rq_wqe_shift)) in set_rq_size() 456 qp->rq.wqe_shift = ucmd->rq_wqe_shift; in set_rq_size() 638 struct mlx5_ib_create_qp *ucmd, in set_user_buf_size() 650 if (ucmd->sq_wqe_count && !is_power_of_2(ucmd->sq_wqe_count)) { in set_user_buf_size() 652 ucmd in set_user_buf_size() 433 set_rq_size(struct mlx5_ib_dev *dev, struct ib_qp_cap *cap, int has_rq, struct mlx5_ib_qp *qp, struct mlx5_ib_create_qp *ucmd) set_rq_size() argument 636 set_user_buf_size(struct mlx5_ib_dev *dev, struct mlx5_ib_qp *qp, struct mlx5_ib_create_qp *ucmd, struct mlx5_ib_qp_base *base, struct ib_qp_init_attr *attr) set_user_buf_size() argument 880 create_user_rq(struct mlx5_ib_dev *dev, struct ib_pd *pd, struct ib_udata *udata, struct mlx5_ib_rwq *rwq, struct mlx5_ib_create_wq *ucmd) create_user_rq() argument 941 _create_user_qp(struct mlx5_ib_dev *dev, struct ib_pd *pd, struct mlx5_ib_qp *qp, struct ib_udata *udata, struct ib_qp_init_attr *attr, u32 **in, struct mlx5_ib_create_qp_resp *resp, int *inlen, struct mlx5_ib_qp_base *base, struct mlx5_ib_create_qp *ucmd) _create_user_qp() argument 1708 void *ucmd; global() member 1720 struct mlx5_ib_create_qp_rss *ucmd = params->ucmd; create_rss_raw_qp_tir() local 2073 struct mlx5_ib_create_qp *ucmd = params->ucmd; create_dci() local 2234 struct mlx5_ib_create_qp *ucmd = params->ucmd; create_user_qp() local 2734 struct mlx5_ib_create_qp *ucmd = params->ucmd; create_dct() local 2872 process_vendor_flags(struct mlx5_ib_dev *dev, struct mlx5_ib_qp *qp, void *ucmd, struct ib_qp_init_attr *attr) process_vendor_flags() argument 3046 size_t ucmd = sizeof(struct mlx5_ib_create_qp); process_udata_size() local 3177 struct mlx5_ib_create_qp *ucmd = params->ucmd; get_qp_uidx() local 4102 __mlx5_ib_modify_qp(struct ib_qp *ibqp, const struct ib_qp_attr *attr, int attr_mask, enum ib_qp_state cur_state, enum ib_qp_state new_state, const struct mlx5_ib_modify_qp *ucmd, struct mlx5_ib_modify_qp_resp *resp, struct ib_udata *udata) __mlx5_ib_modify_qp() argument 4491 mlx5_ib_modify_dct(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct mlx5_ib_modify_qp *ucmd, struct ib_udata *udata) mlx5_ib_modify_dct() argument 4660 struct mlx5_ib_modify_qp ucmd = {}; mlx5_ib_modify_qp() local 5309 set_user_rq_size(struct mlx5_ib_dev *dev, struct ib_wq_init_attr *wq_init_attr, struct mlx5_ib_create_wq *ucmd, struct mlx5_ib_rwq *rwq) set_user_rq_size() argument 5350 struct mlx5_ib_create_wq ucmd = {}; prepare_user_rq() local 5588 struct mlx5_ib_modify_wq ucmd = {}; mlx5_ib_modify_wq() local [all...] |
H A D | srq.c | 48 struct mlx5_ib_create_srq ucmd = {}; in create_srq_user() local 55 ucmdlen = min(udata->inlen, sizeof(ucmd)); in create_srq_user() 57 if (ib_copy_from_udata(&ucmd, udata, ucmdlen)) { in create_srq_user() 62 if (ucmd.reserved0 || ucmd.reserved1) in create_srq_user() 65 if (udata->inlen > sizeof(ucmd) && in create_srq_user() 66 !ib_is_udata_cleared(udata, sizeof(ucmd), in create_srq_user() 67 udata->inlen - sizeof(ucmd))) in create_srq_user() 71 err = get_srq_user_index(ucontext, &ucmd, udata->inlen, &uidx); in create_srq_user() 76 srq->wq_sig = !!(ucmd in create_srq_user() [all...] |
H A D | cq.c | 719 struct mlx5_ib_create_cq ucmd = {}; in create_cq_user() local 730 ucmdlen = min(udata->inlen, sizeof(ucmd)); in create_cq_user() 734 if (ib_copy_from_udata(&ucmd, udata, ucmdlen)) in create_cq_user() 737 if ((ucmd.flags & ~(MLX5_IB_CREATE_CQ_FLAGS_CQE_128B_PAD | in create_cq_user() 742 if ((ucmd.cqe_size != 64 && ucmd.cqe_size != 128) || in create_cq_user() 743 ucmd.reserved0 || ucmd.reserved1) in create_cq_user() 746 *cqe_size = ucmd.cqe_size; in create_cq_user() 749 ib_umem_get(&dev->ib_dev, ucmd in create_cq_user() 1156 struct mlx5_ib_resize_cq ucmd; resize_user() local [all...] |
/kernel/linux/linux-5.10/drivers/infiniband/hw/hns/ |
H A D | hns_roce_qp.c | 444 struct hns_roce_ib_create_qp *ucmd) in check_sq_size_with_integrity() 450 if (ucmd->log_sq_stride > max_sq_stride || in check_sq_size_with_integrity() 451 ucmd->log_sq_stride < HNS_ROCE_IB_MIN_SQ_STRIDE) { in check_sq_size_with_integrity() 467 struct hns_roce_ib_create_qp *ucmd) in set_user_sq_size() 473 if (check_shl_overflow(1, ucmd->log_sq_bb_count, &cnt) || in set_user_sq_size() 477 ret = check_sq_size_with_integrity(hr_dev, cap, ucmd); in set_user_sq_size() 488 hr_qp->sq.wqe_shift = ucmd->log_sq_stride; in set_user_sq_size() 694 struct hns_roce_ib_create_qp *ucmd) in user_qp_has_sdb() 699 udata->inlen >= offsetofend(typeof(*ucmd), sdb_addr)); in user_qp_has_sdb() 722 struct hns_roce_ib_create_qp *ucmd, in alloc_qp_db() 442 check_sq_size_with_integrity(struct hns_roce_dev *hr_dev, struct ib_qp_cap *cap, struct hns_roce_ib_create_qp *ucmd) check_sq_size_with_integrity() argument 465 set_user_sq_size(struct hns_roce_dev *hr_dev, struct ib_qp_cap *cap, struct hns_roce_qp *hr_qp, struct hns_roce_ib_create_qp *ucmd) set_user_sq_size() argument 690 user_qp_has_sdb(struct hns_roce_dev *hr_dev, struct ib_qp_init_attr *init_attr, struct ib_udata *udata, struct hns_roce_ib_create_qp_resp *resp, struct hns_roce_ib_create_qp *ucmd) user_qp_has_sdb() argument 719 alloc_qp_db(struct hns_roce_dev *hr_dev, struct hns_roce_qp *hr_qp, struct ib_qp_init_attr *init_attr, struct ib_udata *udata, struct hns_roce_ib_create_qp *ucmd, struct hns_roce_ib_create_qp_resp *resp) alloc_qp_db() argument 837 set_qp_param(struct hns_roce_dev *hr_dev, struct hns_roce_qp *hr_qp, struct ib_qp_init_attr *init_attr, struct ib_udata *udata, struct hns_roce_ib_create_qp *ucmd) set_qp_param() argument 909 struct hns_roce_ib_create_qp ucmd = {}; hns_roce_create_qp_common() local [all...] |
H A D | hns_roce_cq.c | 228 struct hns_roce_ib_create_cq *ucmd) in set_cqe_size() 233 if (udata->inlen >= offsetofend(typeof(*ucmd), cqe_size)) in set_cqe_size() 234 hr_cq->cqe_size = ucmd->cqe_size; in set_cqe_size() 249 struct hns_roce_ib_create_cq ucmd = {}; in hns_roce_create_cq() local 276 ret = ib_copy_from_udata(&ucmd, udata, in hns_roce_create_cq() 277 min(udata->inlen, sizeof(ucmd))); in hns_roce_create_cq() 285 set_cqe_size(hr_cq, udata, &ucmd); in hns_roce_create_cq() 287 ret = alloc_cq_buf(hr_dev, hr_cq, udata, ucmd.buf_addr); in hns_roce_create_cq() 293 ret = alloc_cq_db(hr_dev, hr_cq, udata, ucmd.db_addr, &resp); in hns_roce_create_cq() 227 set_cqe_size(struct hns_roce_cq *hr_cq, struct ib_udata *udata, struct hns_roce_ib_create_cq *ucmd) set_cqe_size() argument
|
/kernel/linux/linux-5.10/drivers/dma-buf/ |
H A D | dma-heap.c | 114 static long dma_heap_ioctl(struct file *file, unsigned int ucmd, in dma_heap_ioctl() argument 121 int nr = _IOC_NR(ucmd); in dma_heap_ioctl() 133 out_size = _IOC_SIZE(ucmd); in dma_heap_ioctl() 135 if ((ucmd & kcmd & IOC_IN) == 0) in dma_heap_ioctl() 137 if ((ucmd & kcmd & IOC_OUT) == 0) in dma_heap_ioctl()
|
/kernel/linux/linux-5.10/drivers/infiniband/hw/mlx4/ |
H A D | qp.c | 413 struct mlx4_ib_create_qp *ucmd) in set_user_sq_size() 418 if (check_shl_overflow(1, ucmd->log_sq_bb_count, &cnt) || in set_user_sq_size() 421 if (ucmd->log_sq_stride > in set_user_sq_size() 423 ucmd->log_sq_stride < MLX4_IB_MIN_SQ_STRIDE) in set_user_sq_size() 426 qp->sq.wqe_cnt = 1 << ucmd->log_sq_bb_count; in set_user_sq_size() 427 qp->sq.wqe_shift = ucmd->log_sq_stride; in set_user_sq_size() 519 struct mlx4_ib_create_qp_rss *ucmd) in set_qp_rss() 524 if ((ucmd->rx_hash_function == MLX4_IB_RX_HASH_FUNC_TOEPLITZ) && in set_qp_rss() 526 memcpy(rss_ctx->rss_key, ucmd->rx_hash_key, in set_qp_rss() 533 if (ucmd in set_qp_rss() 411 set_user_sq_size(struct mlx4_ib_dev *dev, struct mlx4_ib_qp *qp, struct mlx4_ib_create_qp *ucmd) set_user_sq_size() argument 517 set_qp_rss(struct mlx4_ib_dev *dev, struct mlx4_ib_rss *rss_ctx, struct ib_qp_init_attr *init_attr, struct mlx4_ib_create_qp_rss *ucmd) set_qp_rss() argument 619 create_qp_rss(struct mlx4_ib_dev *dev, struct ib_qp_init_attr *init_attr, struct mlx4_ib_create_qp_rss *ucmd, struct mlx4_ib_qp *qp) create_qp_rss() argument 679 struct mlx4_ib_create_qp_rss ucmd = {}; _mlx4_ib_create_qp_rss() local 1032 struct mlx4_ib_create_qp ucmd; create_qp_common() local 4091 struct mlx4_ib_create_wq ucmd; mlx4_ib_create_wq() local 4229 struct mlx4_ib_modify_wq ucmd = {}; mlx4_ib_modify_wq() local [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/hw/mlx4/ |
H A D | qp.c | 448 struct mlx4_ib_create_qp *ucmd) in set_user_sq_size() 453 if (check_shl_overflow(1, ucmd->log_sq_bb_count, &cnt) || in set_user_sq_size() 456 if (ucmd->log_sq_stride > in set_user_sq_size() 458 ucmd->log_sq_stride < MLX4_IB_MIN_SQ_STRIDE) in set_user_sq_size() 461 qp->sq.wqe_cnt = 1 << ucmd->log_sq_bb_count; in set_user_sq_size() 462 qp->sq.wqe_shift = ucmd->log_sq_stride; in set_user_sq_size() 554 struct mlx4_ib_create_qp_rss *ucmd) in set_qp_rss() 559 if ((ucmd->rx_hash_function == MLX4_IB_RX_HASH_FUNC_TOEPLITZ) && in set_qp_rss() 561 memcpy(rss_ctx->rss_key, ucmd->rx_hash_key, in set_qp_rss() 568 if (ucmd in set_qp_rss() 446 set_user_sq_size(struct mlx4_ib_dev *dev, struct mlx4_ib_qp *qp, struct mlx4_ib_create_qp *ucmd) set_user_sq_size() argument 552 set_qp_rss(struct mlx4_ib_dev *dev, struct mlx4_ib_rss *rss_ctx, struct ib_qp_init_attr *init_attr, struct mlx4_ib_create_qp_rss *ucmd) set_qp_rss() argument 654 create_qp_rss(struct mlx4_ib_dev *dev, struct ib_qp_init_attr *init_attr, struct mlx4_ib_create_qp_rss *ucmd, struct mlx4_ib_qp *qp) create_qp_rss() argument 714 struct mlx4_ib_create_qp_rss ucmd = {}; _mlx4_ib_create_qp_rss() local 1067 struct mlx4_ib_create_qp ucmd; create_qp_common() local 4126 struct mlx4_ib_create_wq ucmd; mlx4_ib_create_wq() local 4264 struct mlx4_ib_modify_wq ucmd = {}; mlx4_ib_modify_wq() local [all...] |
/kernel/linux/linux-5.10/drivers/infiniband/hw/vmw_pvrdma/ |
H A D | pvrdma_srq.c | 109 struct pvrdma_create_srq ucmd; in pvrdma_create_srq() local 144 if (ib_copy_from_udata(&ucmd, udata, sizeof(ucmd))) { in pvrdma_create_srq() 149 srq->umem = ib_umem_get(ibsrq->device, ucmd.buf_addr, ucmd.buf_size, 0); in pvrdma_create_srq()
|
/kernel/linux/linux-6.6/drivers/dma-buf/ |
H A D | dma-heap.c | 126 static long dma_heap_ioctl(struct file *file, unsigned int ucmd, in dma_heap_ioctl() argument 133 int nr = _IOC_NR(ucmd); in dma_heap_ioctl() 145 out_size = _IOC_SIZE(ucmd); in dma_heap_ioctl() 147 if ((ucmd & kcmd & IOC_IN) == 0) in dma_heap_ioctl() 149 if ((ucmd & kcmd & IOC_OUT) == 0) in dma_heap_ioctl()
|