Home
last modified time | relevance | path

Searched refs:mtt (Results 1 – 25 of 35) sorted by relevance

12

/linux-6.3-rc2/drivers/infiniband/hw/mthca/
A Dmthca_mr.c215 mtt = kmalloc(sizeof *mtt, GFP_KERNEL); in __mthca_alloc_mtt()
216 if (!mtt) in __mthca_alloc_mtt()
222 ++mtt->order; in __mthca_alloc_mtt()
226 kfree(mtt); in __mthca_alloc_mtt()
230 return mtt; in __mthca_alloc_mtt()
240 if (!mtt) in mthca_free_mtt()
243 mthca_buddy_free(mtt->buddy, mtt->first_seg, mtt->order); in mthca_free_mtt()
247 mtt->first_seg + (1 << mtt->order) - 1); in mthca_free_mtt()
249 kfree(mtt); in mthca_free_mtt()
461 if (!mr->mtt) in mthca_mr_alloc()
[all …]
A Dmthca_provider.c863 mr->mtt = mthca_alloc_mtt(dev, n); in mthca_reg_user_mr()
864 if (IS_ERR(mr->mtt)) { in mthca_reg_user_mr()
865 err = PTR_ERR(mr->mtt); in mthca_reg_user_mr()
887 err = mthca_write_mtt(dev, mr->mtt, n, pages, i); in mthca_reg_user_mr()
896 err = mthca_write_mtt(dev, mr->mtt, n, pages, i); in mthca_reg_user_mr()
911 mthca_free_mtt(dev, mr->mtt); in mthca_reg_user_mr()
A Dmthca_provider.h76 struct mthca_mtt *mtt; member
A Dmthca_dev.h467 void mthca_free_mtt(struct mthca_dev *dev, struct mthca_mtt *mtt);
468 int mthca_write_mtt(struct mthca_dev *dev, struct mthca_mtt *mtt,
/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlx4/
A Dmr.c200 mtt->order = -1; in mlx4_mtt_init()
207 ++mtt->order; in mlx4_mtt_init()
209 mtt->offset = mlx4_alloc_mtt_range(dev, mtt->order); in mlx4_mtt_init()
253 if (mtt->order < 0) in mlx4_mtt_cleanup()
256 mlx4_free_mtt_range(dev, mtt->offset, mtt->order); in mlx4_mtt_cleanup()
585 mr->mtt.order = -1; in mlx4_mr_rereg_mem_cleanup()
609 &mr->mtt)); in mlx4_mr_rereg_mem_write()
613 if (mr->mtt.order >= 0 && mr->mtt.page_shift == 0) { in mlx4_mr_rereg_mem_write()
658 &mr->mtt)); in mlx4_mr_enable()
661 if (mr->mtt.order >= 0 && mr->mtt.page_shift == 0) { in mlx4_mr_enable()
[all …]
A Dresource_tracker.c2814 mpt->mtt = mtt; in mlx4_SW2HW_MPT_wrapper()
2858 if (mpt->mtt) in mlx4_HW2SW_MPT_wrapper()
3022 qp->mtt = mtt; in mlx4_RST2INIT_QP_wrapper()
3128 eq->mtt = mtt; in mlx4_SW2HW_EQ_wrapper()
3171 *res = mtt; in get_containing_mtt()
3172 mtt->com.from_state = mtt->com.state; in get_containing_mtt()
3287 mtt.order = 0; in mlx4_WRITE_MTT_wrapper()
3460 cq->mtt = mtt; in mlx4_SW2HW_CQ_wrapper()
3556 cq->mtt = mtt; in handle_resize()
3633 mtt); in mlx4_SW2HW_SRQ_wrapper()
[all …]
A Dcq.c192 int entries, struct mlx4_mtt *mtt) in mlx4_cq_resize() argument
205 cq_context->log_page_size = mtt->page_shift - 12; in mlx4_cq_resize()
206 mtt_addr = mlx4_mtt_addr(dev, mtt); in mlx4_cq_resize()
343 struct mlx4_mtt *mtt, struct mlx4_uar *uar, u64 db_rec, in mlx4_cq_alloc() argument
385 cq_context->log_page_size = mtt->page_shift - MLX4_ICM_PAGE_SHIFT; in mlx4_cq_alloc()
387 mtt_addr = mlx4_mtt_addr(dev, mtt); in mlx4_cq_alloc()
A Dsrq.c163 struct mlx4_mtt *mtt, u64 db_rec, struct mlx4_srq *srq) in mlx4_srq_alloc() argument
193 srq_context->log_page_size = mtt->page_shift - MLX4_ICM_PAGE_SHIFT; in mlx4_srq_alloc()
195 mtt_addr = mlx4_mtt_addr(dev, mtt); in mlx4_srq_alloc()
A Dqp.c92 static int __mlx4_qp_modify(struct mlx4_dev *dev, struct mlx4_mtt *mtt, in __mlx4_qp_modify() argument
169 u64 mtt_addr = mlx4_mtt_addr(dev, mtt); in __mlx4_qp_modify()
172 context->log_page_size = mtt->page_shift - MLX4_ICM_PAGE_SHIFT; in __mlx4_qp_modify()
213 int mlx4_qp_modify(struct mlx4_dev *dev, struct mlx4_mtt *mtt, in mlx4_qp_modify() argument
219 return __mlx4_qp_modify(dev, mtt, cur_state, new_state, context, in mlx4_qp_modify()
919 int mlx4_qp_to_ready(struct mlx4_dev *dev, struct mlx4_mtt *mtt, in mlx4_qp_to_ready() argument
937 err = mlx4_qp_modify(dev, mtt, states[i], states[i + 1], in mlx4_qp_to_ready()
A Dalloc.c790 &wqres->mtt); in mlx4_alloc_hwq_res()
794 err = mlx4_buf_write_mtt(dev, &wqres->mtt, &wqres->buf); in mlx4_alloc_hwq_res()
801 mlx4_mtt_cleanup(dev, &wqres->mtt); in mlx4_alloc_hwq_res()
814 mlx4_mtt_cleanup(dev, &wqres->mtt); in mlx4_free_hwq_res()
A Den_cq.c139 err = mlx4_cq_alloc(mdev->dev, cq->size, &cq->wqres.mtt, in mlx4_en_activate_cq()
A Deq.c1028 err = mlx4_mtt_init(dev, npages, PAGE_SHIFT, &eq->mtt); in mlx4_create_eq()
1032 err = mlx4_write_mtt(dev, &eq->mtt, 0, npages, dma_list); in mlx4_create_eq()
1042 mtt_addr = mlx4_mtt_addr(dev, &eq->mtt); in mlx4_create_eq()
1065 mlx4_mtt_cleanup(dev, &eq->mtt); in mlx4_create_eq()
1105 mlx4_mtt_cleanup(dev, &eq->mtt); in mlx4_free_eq()
/linux-6.3-rc2/drivers/infiniband/hw/mlx4/
A Dsrq.c124 PAGE_SHIFT, &srq->mtt); in mlx4_ib_create_srq()
128 err = mlx4_ib_umem_write_mtt(dev, &srq->mtt, srq->umem); in mlx4_ib_create_srq()
164 &srq->mtt); in mlx4_ib_create_srq()
168 err = mlx4_buf_write_mtt(dev->dev, &srq->mtt, &srq->buf); in mlx4_ib_create_srq()
186 &srq->mtt, srq->db.dma, &srq->msrq); in mlx4_ib_create_srq()
210 mlx4_mtt_cleanup(dev->dev, &srq->mtt); in mlx4_ib_create_srq()
274 mlx4_mtt_cleanup(dev->dev, &msrq->mtt); in mlx4_ib_destroy_srq()
A Dcq.c113 &buf->mtt); in mlx4_ib_alloc_cq_buf()
124 mlx4_mtt_cleanup(dev->dev, &buf->mtt); in mlx4_ib_alloc_cq_buf()
153 err = mlx4_mtt_init(dev->dev, n, shift, &buf->mtt); in mlx4_ib_get_cq_umem()
158 err = mlx4_ib_umem_write_mtt(dev, &buf->mtt, *umem); in mlx4_ib_get_cq_umem()
165 mlx4_mtt_cleanup(dev->dev, &buf->mtt); in mlx4_ib_get_cq_umem()
277 mlx4_mtt_cleanup(dev->dev, &cq->buf.mtt); in mlx4_ib_create_cq()
383 struct mlx4_mtt mtt; in mlx4_ib_resize_cq() local
421 mtt = cq->buf.mtt; in mlx4_ib_resize_cq()
427 mlx4_mtt_cleanup(dev->dev, &mtt); in mlx4_ib_resize_cq()
461 mlx4_mtt_cleanup(dev->dev, &cq->resize_buf->buf.mtt); in mlx4_ib_resize_cq()
[all …]
A Dmr.c95 struct mlx4_mtt *mtt, in mlx4_ib_umem_write_mtt_block() argument
134 err = mlx4_write_mtt(dev->dev, mtt, *start_index, in mlx4_ib_umem_write_mtt_block()
182 int mlx4_ib_umem_write_mtt(struct mlx4_ib_dev *dev, struct mlx4_mtt *mtt, in mlx4_ib_umem_write_mtt() argument
200 mtt_shift = mtt->page_shift; in mlx4_ib_umem_write_mtt()
214 err = mlx4_ib_umem_write_mtt_block(dev, mtt, mtt_size, in mlx4_ib_umem_write_mtt()
232 err = mlx4_ib_umem_write_mtt_block(dev, mtt, mtt_size, in mlx4_ib_umem_write_mtt()
241 err = mlx4_write_mtt(dev->dev, mtt, start_index, npages, pages); in mlx4_ib_umem_write_mtt()
433 err = mlx4_ib_umem_write_mtt(dev, &mr->mmr.mtt, mr->umem); in mlx4_ib_reg_user_mr()
526 err = mlx4_ib_umem_write_mtt(dev, &mmr->mmr.mtt, mmr->umem); in mlx4_ib_rereg_user_mr()
A Dmlx4_ib.h106 struct mlx4_mtt mtt; member
341 struct mlx4_mtt mtt; member
384 struct mlx4_mtt mtt; member
753 int mlx4_ib_umem_write_mtt(struct mlx4_ib_dev *dev, struct mlx4_mtt *mtt,
A Dqp.c679 qp->mtt = (to_mqp( in create_qp_rss()
680 (struct ib_qp *)init_attr->rwq_ind_tbl->ind_tbl[0]))->mtt; in create_qp_rss()
924 err = mlx4_mtt_init(dev->dev, n, shift, &qp->mtt); in create_rq()
929 err = mlx4_ib_umem_write_mtt(dev, &qp->mtt, qp->umem); in create_rq()
980 mlx4_mtt_cleanup(dev->dev, &qp->mtt); in create_rq()
1107 err = mlx4_mtt_init(dev->dev, n, shift, &qp->mtt); in create_qp_common()
1112 err = mlx4_ib_umem_write_mtt(dev, &qp->mtt, qp->umem); in create_qp_common()
1162 &qp->mtt); in create_qp_common()
1166 err = mlx4_buf_write_mtt(dev->dev, &qp->mtt, &qp->buf); in create_qp_common()
1268 mlx4_mtt_cleanup(dev->dev, &qp->mtt); in create_qp_common()
[all …]
/linux-6.3-rc2/drivers/infiniband/hw/mlx5/
A Dumr.c616 struct mlx5_mtt *mtt; in mlx5r_umr_update_mr_pas() local
625 mtt = mlx5r_umr_create_xlt( in mlx5r_umr_update_mr_pas()
627 sizeof(*mtt), flags); in mlx5r_umr_update_mr_pas()
628 if (!mtt) in mlx5r_umr_update_mr_pas()
638 cur_mtt = mtt; in mlx5r_umr_update_mr_pas()
640 if (cur_mtt == (void *)mtt + sg.length) { in mlx5r_umr_update_mr_pas()
653 cur_mtt = mtt; in mlx5r_umr_update_mr_pas()
666 final_size = (void *)cur_mtt - (void *)mtt; in mlx5r_umr_update_mr_pas()
676 mlx5r_umr_unmap_free_xlt(dev, mtt, &sg); in mlx5r_umr_update_mr_pas()
A Dodp.c136 if (mtt) { in populate_klm()
137 pklm->key = cpu_to_be32(mtt->ibmr.lkey); in populate_klm()
536 struct mlx5_ib_mr *mtt; in mlx5_ib_free_odp_mr() local
545 mlx5_ib_dereg_mr(&mtt->ibmr, NULL); in mlx5_ib_free_odp_mr()
623 struct mlx5_ib_mr *mtt; in pagefault_implicit_mr() local
628 if (unlikely(!mtt)) { in pagefault_implicit_mr()
631 if (IS_ERR(mtt)) { in pagefault_implicit_mr()
632 ret = PTR_ERR(mtt); in pagefault_implicit_mr()
638 refcount_inc(&mtt->mmkey.usecount); in pagefault_implicit_mr()
642 umem_odp = to_ib_umem_odp(mtt->umem); in pagefault_implicit_mr()
[all …]
/linux-6.3-rc2/include/linux/mlx4/
A Ddevice.h683 struct mlx4_mtt mtt; member
688 struct mlx4_mtt mtt; member
834 int mtt; member
1101 struct mlx4_mtt *mtt);
1102 void mlx4_mtt_cleanup(struct mlx4_dev *dev, struct mlx4_mtt *mtt);
1103 u64 mlx4_mtt_addr(struct mlx4_dev *dev, struct mlx4_mtt *mtt);
1113 int mlx4_write_mtt(struct mlx4_dev *dev, struct mlx4_mtt *mtt,
1115 int mlx4_buf_write_mtt(struct mlx4_dev *dev, struct mlx4_mtt *mtt,
1126 int mlx4_cq_alloc(struct mlx4_dev *dev, int nent, struct mlx4_mtt *mtt,
1139 struct mlx4_mtt *mtt, u64 db_rec, struct mlx4_srq *srq);
A Dqp.h478 int mlx4_qp_modify(struct mlx4_dev *dev, struct mlx4_mtt *mtt,
486 int mlx4_qp_to_ready(struct mlx4_dev *dev, struct mlx4_mtt *mtt,
A Dcq.h185 int entries, struct mlx4_mtt *mtt);
/linux-6.3-rc2/drivers/infiniband/hw/erdma/
A Derdma_verbs.c153 struct erdma_mem *mtt; in create_cq_cmd() local
177 mtt = &cq->user_cq.qbuf_mtt; in create_cq_cmd()
179 ilog2(mtt->page_size) - PAGE_SHIFT); in create_cq_cmd()
180 if (mtt->mtt_nents == 1) { in create_cq_cmd()
181 req.qbuf_addr_l = lower_32_bits(*(u64 *)mtt->mtt_buf); in create_cq_cmd()
182 req.qbuf_addr_h = upper_32_bits(*(u64 *)mtt->mtt_buf); in create_cq_cmd()
184 req.qbuf_addr_l = lower_32_bits(mtt->mtt_entry[0]); in create_cq_cmd()
185 req.qbuf_addr_h = upper_32_bits(mtt->mtt_entry[0]); in create_cq_cmd()
188 mtt->mtt_nents); in create_cq_cmd()
190 mtt->mtt_type); in create_cq_cmd()
[all …]
/linux-6.3-rc2/drivers/vdpa/mlx5/core/
A Dmr.c35 static void populate_mtts(struct mlx5_vdpa_direct_mr *mr, __be64 *mtt) in populate_mtts() argument
48 mtt[j++] = cpu_to_be64(dma_addr); in populate_mtts()
59 inlen = MLX5_ST_SZ_BYTES(create_mkey_in) + roundup(MLX5_ST_SZ_BYTES(mtt) * mr->nsg, 16); in create_direct_mr()
/linux-6.3-rc2/drivers/net/ethernet/mellanox/mlx5/core/diag/
A Dfw_tracer.c181 __be64 *mtt; in mlx5_fw_tracer_create_mkey() local
186 sizeof(*mtt) * round_up(TRACER_BUFFER_PAGE_NUM, 2); in mlx5_fw_tracer_create_mkey()
194 mtt = (__be64 *)MLX5_ADDR_OF(create_mkey_in, in, klm_pas_mtt); in mlx5_fw_tracer_create_mkey()
196 mtt[i] = cpu_to_be64(tracer->buff.dma + i * PAGE_SIZE); in mlx5_fw_tracer_create_mkey()

Completed in 93 milliseconds

12