Lines Matching refs:ucmd
235 int has_rq, struct mlx5_ib_qp *qp, struct mlx5_ib_create_qp *ucmd) in set_rq_size() argument
251 if (ucmd) { in set_rq_size()
252 qp->rq.wqe_cnt = ucmd->rq_wqe_count; in set_rq_size()
253 qp->rq.wqe_shift = ucmd->rq_wqe_shift; in set_rq_size()
423 struct mlx5_ib_create_qp *ucmd, in set_user_buf_size() argument
435 if (ucmd->sq_wqe_count && ((1 << ilog2(ucmd->sq_wqe_count)) != ucmd->sq_wqe_count)) { in set_user_buf_size()
437 ucmd->sq_wqe_count, ucmd->sq_wqe_count); in set_user_buf_size()
441 qp->sq.wqe_cnt = ucmd->sq_wqe_count; in set_user_buf_size()
700 struct mlx5_ib_create_wq *ucmd) in create_user_rq() argument
709 if (!ucmd->buf_addr) in create_user_rq()
713 rwq->umem = ib_umem_get(pd->uobject->context, ucmd->buf_addr, in create_user_rq()
721 mlx5_ib_cont_pages(rwq->umem, ucmd->buf_addr, 0, &npages, &page_shift, in create_user_rq()
723 err = mlx5_ib_get_buf_offset(ucmd->buf_addr, page_shift, in create_user_rq()
733 rwq->wq_sig = !!(ucmd->flags & MLX5_WQ_FLAG_SIGNATURE); in create_user_rq()
736 (unsigned long long)ucmd->buf_addr, rwq->buf_size, in create_user_rq()
739 err = mlx5_ib_db_map_user(context, ucmd->db_addr, &rwq->db); in create_user_rq()
768 struct mlx5_ib_create_qp ucmd; in create_user_qp() local
782 err = ib_copy_from_udata(&ucmd, udata, sizeof(ucmd)); in create_user_qp()
789 uar_flags = ucmd.flags & (MLX5_QP_FLAG_UAR_PAGE_INDEX | in create_user_qp()
793 uar_index = ucmd.bfreg_index; in create_user_qp()
798 ucmd.bfreg_index, true); in create_user_qp()
823 err = set_user_buf_size(dev, qp, &ucmd, base, attr); in create_user_qp()
827 if (ucmd.buf_addr && ubuffer->buf_size) { in create_user_qp()
828 ubuffer->buf_addr = ucmd.buf_addr; in create_user_qp()
866 err = mlx5_ib_db_map_user(context, ucmd.db_addr, &qp->db); in create_user_qp()
1379 struct mlx5_ib_create_qp_rss ucmd = {}; in create_rss_raw_qp_tir() local
1392 required_cmd_sz = offsetof(typeof(ucmd), reserved1) + sizeof(ucmd.reserved1); in create_rss_raw_qp_tir()
1398 if (udata->inlen > sizeof(ucmd) && in create_rss_raw_qp_tir()
1399 !ib_is_udata_cleared(udata, sizeof(ucmd), in create_rss_raw_qp_tir()
1400 udata->inlen - sizeof(ucmd))) { in create_rss_raw_qp_tir()
1405 if (ib_copy_from_udata(&ucmd, udata, min(sizeof(ucmd), udata->inlen))) { in create_rss_raw_qp_tir()
1410 if (ucmd.comp_mask) { in create_rss_raw_qp_tir()
1415 if (memchr_inv(ucmd.reserved, 0, sizeof(ucmd.reserved)) || ucmd.reserved1) { in create_rss_raw_qp_tir()
1440 switch (ucmd.rx_hash_function) { in create_rss_raw_qp_tir()
1446 if (len != ucmd.rx_key_len) { in create_rss_raw_qp_tir()
1452 memcpy(rss_key, ucmd.rx_hash_key, len); in create_rss_raw_qp_tir()
1460 if (!ucmd.rx_hash_fields_mask) { in create_rss_raw_qp_tir()
1468 if (((ucmd.rx_hash_fields_mask & MLX5_RX_HASH_SRC_IPV4) || in create_rss_raw_qp_tir()
1469 (ucmd.rx_hash_fields_mask & MLX5_RX_HASH_DST_IPV4)) && in create_rss_raw_qp_tir()
1470 ((ucmd.rx_hash_fields_mask & MLX5_RX_HASH_SRC_IPV6) || in create_rss_raw_qp_tir()
1471 (ucmd.rx_hash_fields_mask & MLX5_RX_HASH_DST_IPV6))) { in create_rss_raw_qp_tir()
1477 if ((ucmd.rx_hash_fields_mask & MLX5_RX_HASH_SRC_IPV4) || in create_rss_raw_qp_tir()
1478 (ucmd.rx_hash_fields_mask & MLX5_RX_HASH_DST_IPV4)) in create_rss_raw_qp_tir()
1481 else if ((ucmd.rx_hash_fields_mask & MLX5_RX_HASH_SRC_IPV6) || in create_rss_raw_qp_tir()
1482 (ucmd.rx_hash_fields_mask & MLX5_RX_HASH_DST_IPV6)) in create_rss_raw_qp_tir()
1486 if (((ucmd.rx_hash_fields_mask & MLX5_RX_HASH_SRC_PORT_TCP) || in create_rss_raw_qp_tir()
1487 (ucmd.rx_hash_fields_mask & MLX5_RX_HASH_DST_PORT_TCP)) && in create_rss_raw_qp_tir()
1488 ((ucmd.rx_hash_fields_mask & MLX5_RX_HASH_SRC_PORT_UDP) || in create_rss_raw_qp_tir()
1489 (ucmd.rx_hash_fields_mask & MLX5_RX_HASH_DST_PORT_UDP))) { in create_rss_raw_qp_tir()
1495 if ((ucmd.rx_hash_fields_mask & MLX5_RX_HASH_SRC_PORT_TCP) || in create_rss_raw_qp_tir()
1496 (ucmd.rx_hash_fields_mask & MLX5_RX_HASH_DST_PORT_TCP)) in create_rss_raw_qp_tir()
1499 else if ((ucmd.rx_hash_fields_mask & MLX5_RX_HASH_SRC_PORT_UDP) || in create_rss_raw_qp_tir()
1500 (ucmd.rx_hash_fields_mask & MLX5_RX_HASH_DST_PORT_UDP)) in create_rss_raw_qp_tir()
1504 if ((ucmd.rx_hash_fields_mask & MLX5_RX_HASH_SRC_IPV4) || in create_rss_raw_qp_tir()
1505 (ucmd.rx_hash_fields_mask & MLX5_RX_HASH_SRC_IPV6)) in create_rss_raw_qp_tir()
1508 if ((ucmd.rx_hash_fields_mask & MLX5_RX_HASH_DST_IPV4) || in create_rss_raw_qp_tir()
1509 (ucmd.rx_hash_fields_mask & MLX5_RX_HASH_DST_IPV6)) in create_rss_raw_qp_tir()
1512 if ((ucmd.rx_hash_fields_mask & MLX5_RX_HASH_SRC_PORT_TCP) || in create_rss_raw_qp_tir()
1513 (ucmd.rx_hash_fields_mask & MLX5_RX_HASH_SRC_PORT_UDP)) in create_rss_raw_qp_tir()
1516 if ((ucmd.rx_hash_fields_mask & MLX5_RX_HASH_DST_PORT_TCP) || in create_rss_raw_qp_tir()
1517 (ucmd.rx_hash_fields_mask & MLX5_RX_HASH_DST_PORT_UDP)) in create_rss_raw_qp_tir()
1598 struct mlx5_ib_create_qp ucmd; in create_qp_common() local
1672 if (ib_copy_from_udata(&ucmd, udata, sizeof(ucmd))) { in create_qp_common()
1678 &ucmd, udata->inlen, &uidx); in create_qp_common()
1682 qp->wq_sig = !!(ucmd.flags & MLX5_QP_FLAG_SIGNATURE); in create_qp_common()
1683 qp->scat_cqe = !!(ucmd.flags & MLX5_QP_FLAG_SCATTER_CQE); in create_qp_common()
1690 qp, (pd && pd->uobject) ? &ucmd : NULL); in create_qp_common()
1700 mlx5_ib_dbg(dev, "requested sq_wqe_count (%d)\n", ucmd.sq_wqe_count); in create_qp_common()
1701 if (ucmd.rq_wqe_shift != qp->rq.wqe_shift || in create_qp_common()
1702 ucmd.rq_wqe_count != qp->rq.wqe_cnt) { in create_qp_common()
1706 if (ucmd.sq_wqe_count > max_wqes) { in create_qp_common()
1708 ucmd.sq_wqe_count, max_wqes); in create_qp_common()
1842 qp->raw_packet_qp.sq.ubuffer.buf_addr = ucmd.sq_buf_addr; in create_qp_common()
4735 struct mlx5_ib_create_wq *ucmd, in set_user_rq_size() argument
4742 if (!ucmd->rq_wqe_count) in set_user_rq_size()
4745 rwq->wqe_count = ucmd->rq_wqe_count; in set_user_rq_size()
4746 rwq->wqe_shift = ucmd->rq_wqe_shift; in set_user_rq_size()
4759 struct mlx5_ib_create_wq ucmd = {}; in prepare_user_rq() local
4763 required_cmd_sz = offsetof(typeof(ucmd), reserved) + sizeof(ucmd.reserved); in prepare_user_rq()
4769 if (udata->inlen > sizeof(ucmd) && in prepare_user_rq()
4770 !ib_is_udata_cleared(udata, sizeof(ucmd), in prepare_user_rq()
4771 udata->inlen - sizeof(ucmd))) { in prepare_user_rq()
4776 if (ib_copy_from_udata(&ucmd, udata, min(sizeof(ucmd), udata->inlen))) { in prepare_user_rq()
4781 if (ucmd.comp_mask) { in prepare_user_rq()
4786 if (ucmd.reserved) { in prepare_user_rq()
4791 err = set_user_rq_size(dev, init_attr, &ucmd, rwq); in prepare_user_rq()
4797 err = create_user_rq(dev, pd, rwq, &ucmd); in prepare_user_rq()
4804 rwq->user_index = ucmd.user_index; in prepare_user_rq()
4971 struct mlx5_ib_modify_wq ucmd = {}; in mlx5_ib_modify_wq() local
4980 required_cmd_sz = offsetof(typeof(ucmd), reserved) + sizeof(ucmd.reserved); in mlx5_ib_modify_wq()
4984 if (udata->inlen > sizeof(ucmd) && in mlx5_ib_modify_wq()
4985 !ib_is_udata_cleared(udata, sizeof(ucmd), in mlx5_ib_modify_wq()
4986 udata->inlen - sizeof(ucmd))) in mlx5_ib_modify_wq()
4989 if (ib_copy_from_udata(&ucmd, udata, min(sizeof(ucmd), udata->inlen))) in mlx5_ib_modify_wq()
4992 if (ucmd.comp_mask || ucmd.reserved) in mlx5_ib_modify_wq()