Home
last modified time | relevance | path

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

12

/linux/drivers/infiniband/hw/mthca/
H A Dmthca_mr.c209 struct mthca_mtt *mtt; in __mthca_alloc_mtt() local
215 mtt = kmalloc(sizeof *mtt, GFP_KERNEL); in __mthca_alloc_mtt()
216 if (!mtt) in __mthca_alloc_mtt()
219 mtt->buddy = buddy; in __mthca_alloc_mtt()
220 mtt->order = 0; in __mthca_alloc_mtt()
222 ++mtt->order; in __mthca_alloc_mtt()
224 mtt->first_seg = mthca_alloc_mtt_range(dev, mtt->order, buddy); in __mthca_alloc_mtt()
225 if (mtt in __mthca_alloc_mtt()
238 mthca_free_mtt(struct mthca_dev * dev,struct mthca_mtt * mtt) mthca_free_mtt() argument
252 __mthca_write_mtt(struct mthca_dev * dev,struct mthca_mtt * mtt,int start_index,u64 * buffer_list,int list_len) __mthca_write_mtt() argument
314 mthca_tavor_write_mtt_seg(struct mthca_dev * dev,struct mthca_mtt * mtt,int start_index,u64 * buffer_list,int list_len) mthca_tavor_write_mtt_seg() argument
328 mthca_arbel_write_mtt_seg(struct mthca_dev * dev,struct mthca_mtt * mtt,int start_index,u64 * buffer_list,int list_len) mthca_arbel_write_mtt_seg() argument
356 mthca_write_mtt(struct mthca_dev * dev,struct mthca_mtt * mtt,int start_index,u64 * buffer_list,int list_len) mthca_write_mtt() argument
[all...]
H A Dmthca_provider.c868 mr->mtt = mthca_alloc_mtt(dev, n); in mthca_reg_user_mr()
869 if (IS_ERR(mr->mtt)) { in mthca_reg_user_mr()
870 err = PTR_ERR(mr->mtt); in mthca_reg_user_mr()
892 err = mthca_write_mtt(dev, mr->mtt, n, pages, i); in mthca_reg_user_mr()
901 err = mthca_write_mtt(dev, mr->mtt, n, pages, i); in mthca_reg_user_mr()
916 mthca_free_mtt(dev, mr->mtt); in mthca_reg_user_mr()
H A Dmthca_provider.h76 struct mthca_mtt *mtt; member
H 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/drivers/net/ethernet/mellanox/mlx4/
H A Dmr.c195 struct mlx4_mtt *mtt) in mlx4_mtt_init() argument
200 mtt->order = -1; in mlx4_mtt_init()
201 mtt->page_shift = MLX4_ICM_PAGE_SHIFT; in mlx4_mtt_init()
204 mtt->page_shift = page_shift; in mlx4_mtt_init()
206 for (mtt->order = 0, i = 1; i < npages; i <<= 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()
210 if (mtt->offset == -1) in mlx4_mtt_init()
244 mlx4_warn(dev, "Failed to free mtt rang in mlx4_free_mtt_range()
251 mlx4_mtt_cleanup(struct mlx4_dev * dev,struct mlx4_mtt * mtt) mlx4_mtt_cleanup() argument
260 mlx4_mtt_addr(struct mlx4_dev * dev,struct mlx4_mtt * mtt) mlx4_mtt_addr() argument
692 mlx4_write_mtt_chunk(struct mlx4_dev * dev,struct mlx4_mtt * mtt,int start_index,int npages,u64 * page_list) mlx4_write_mtt_chunk() argument
718 __mlx4_write_mtt(struct mlx4_dev * dev,struct mlx4_mtt * mtt,int start_index,int npages,u64 * page_list) __mlx4_write_mtt() argument
746 mlx4_write_mtt(struct mlx4_dev * dev,struct mlx4_mtt * mtt,int start_index,int npages,u64 * page_list) mlx4_write_mtt() argument
790 mlx4_buf_write_mtt(struct mlx4_dev * dev,struct mlx4_mtt * mtt,struct mlx4_buf * buf) mlx4_buf_write_mtt() argument
[all...]
H A Dresource_tracker.c110 struct res_mtt *mtt; member
158 struct res_mtt *mtt; member
170 struct res_mtt *mtt; member
181 struct res_mtt *mtt; member
193 struct res_mtt *mtt; member
456 dev->quotas.mtt = dev->caps.num_mtts - dev->caps.reserved_mtts; in mlx4_init_quotas()
468 dev->quotas.mtt = in mlx4_init_quotas()
2745 int size, struct res_mtt *mtt) in check_mtt_range() argument
2747 int res_start = mtt->com.res_id; in check_mtt_range()
2748 int res_size = (1 << mtt in check_mtt_range()
2763 struct res_mtt *mtt; mlx4_SW2HW_MPT_wrapper() local
2960 struct res_mtt *mtt; mlx4_RST2INIT_QP_wrapper() local
3106 struct res_mtt *mtt; mlx4_SW2HW_EQ_wrapper() local
3164 struct res_mtt *mtt; get_containing_mtt() local
3269 struct mlx4_mtt mtt; mlx4_WRITE_MTT_wrapper() local
3445 struct res_mtt *mtt; mlx4_SW2HW_CQ_wrapper() local
3530 struct res_mtt *mtt; handle_resize() local
3618 struct res_mtt *mtt; mlx4_SW2HW_SRQ_wrapper() local
4934 struct res_mtt *mtt; rem_slave_mtts() local
[all...]
H 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()
H 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()
H 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()
H A Dalloc.c768 &wqres->mtt); in mlx4_alloc_hwq_res()
772 err = mlx4_buf_write_mtt(dev, &wqres->mtt, &wqres->buf); in mlx4_alloc_hwq_res()
779 mlx4_mtt_cleanup(dev, &wqres->mtt); in mlx4_alloc_hwq_res()
792 mlx4_mtt_cleanup(dev, &wqres->mtt); in mlx4_free_hwq_res()
H A Deq.c1029 err = mlx4_mtt_init(dev, npages, PAGE_SHIFT, &eq->mtt); in mlx4_create_eq()
1033 err = mlx4_write_mtt(dev, &eq->mtt, 0, npages, dma_list); in mlx4_create_eq()
1043 mtt_addr = mlx4_mtt_addr(dev, &eq->mtt); in mlx4_create_eq()
1066 mlx4_mtt_cleanup(dev, &eq->mtt); in mlx4_create_eq()
1106 mlx4_mtt_cleanup(dev, &eq->mtt); in mlx4_free_eq()
H A Den_cq.c69 * dev->numa_node is used in mtt range allocation flow. in mlx4_en_create_cq()
140 err = mlx4_cq_alloc(mdev->dev, cq->size, &cq->wqres.mtt, in mlx4_en_activate_cq()
/linux/drivers/infiniband/hw/erdma/
H A Derdma_verbs.c25 struct erdma_mtt *mtt = mem->mtt; in assemble_qbuf_mtt_for_cmd() local
28 *addr0 = mtt->buf_dma; in assemble_qbuf_mtt_for_cmd()
32 *addr0 = mtt->buf[0]; in assemble_qbuf_mtt_for_cmd()
33 memcpy(addr1, mtt->buf + 1, MTT_SIZE(mem->mtt_nents - 1)); in assemble_qbuf_mtt_for_cmd()
148 if (mr->mem.mtt->continuous) { in regmr_cmd()
149 req.phy_addr[0] = mr->mem.mtt->buf_dma; in regmr_cmd()
152 req.phy_addr[0] = sg_dma_address(mr->mem.mtt->sglist); in regmr_cmd()
153 mtt_level = mr->mem.mtt->level; in regmr_cmd()
156 memcpy(req.phy_addr, mr->mem.mtt in regmr_cmd()
587 struct erdma_mtt *mtt = mem->mtt; erdma_fill_bottom_mtt() local
601 struct erdma_mtt *mtt; erdma_create_cont_mtt() local
630 erdma_destroy_mtt_buf_sg(struct erdma_dev * dev,struct erdma_mtt * mtt) erdma_destroy_mtt_buf_sg() argument
638 erdma_destroy_scatter_mtt(struct erdma_dev * dev,struct erdma_mtt * mtt) erdma_destroy_scatter_mtt() argument
645 erdma_init_middle_mtt(struct erdma_mtt * mtt,struct erdma_mtt * low_mtt) erdma_init_middle_mtt() argument
655 erdma_create_mtt_buf_sg(struct erdma_dev * dev,struct erdma_mtt * mtt) erdma_create_mtt_buf_sg() argument
697 struct erdma_mtt *mtt; erdma_create_scatter_mtt() local
731 struct erdma_mtt *mtt, *tmp_mtt; erdma_create_mtt() local
781 erdma_destroy_mtt(struct erdma_dev * dev,struct erdma_mtt * mtt) erdma_destroy_mtt() argument
[all...]
H A Derdma_verbs.h68 #define MTT_SIZE(mtt_cnt) ((mtt_cnt) << 3) /* per mtt entry takes 8 Bytes. */
113 struct erdma_mtt *mtt; member
/linux/drivers/infiniband/hw/mlx4/
H 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()
H A Dcq.c113 &buf->mtt); in mlx4_ib_alloc_cq_buf()
117 err = mlx4_buf_write_mtt(dev->dev, &buf->mtt, &buf->buf); in mlx4_ib_alloc_cq_buf()
124 mlx4_mtt_cleanup(dev->dev, &buf->mtt); in mlx4_ib_alloc_cq_buf()
158 err = mlx4_mtt_init(dev->dev, n, shift, &buf->mtt); in mlx4_ib_get_cq_umem()
162 err = mlx4_ib_umem_write_mtt(dev, &buf->mtt, *umem); in mlx4_ib_get_cq_umem()
169 mlx4_mtt_cleanup(dev->dev, &buf->mtt); in mlx4_ib_get_cq_umem()
252 err = mlx4_cq_alloc(dev->dev, entries, &cq->buf.mtt, uar, cq->db.dma, in mlx4_ib_create_cq()
282 mlx4_mtt_cleanup(dev->dev, &cq->buf.mtt); in mlx4_ib_create_cq()
388 struct mlx4_mtt mtt; in mlx4_ib_resize_cq() local
426 mtt in mlx4_ib_resize_cq()
[all...]
H A Dmr.c90 int mlx4_ib_umem_write_mtt(struct mlx4_ib_dev *dev, struct mlx4_mtt *mtt, in mlx4_ib_umem_write_mtt() argument
97 rdma_umem_for_each_dma_block(umem, &biter, BIT(mtt->page_shift)) { in mlx4_ib_umem_write_mtt()
99 err = mlx4_write_mtt(dev->dev, mtt, i++, 1, &addr); in mlx4_ib_umem_write_mtt()
175 err = mlx4_ib_umem_write_mtt(dev, &mr->mmr.mtt, mr->umem); in mlx4_ib_reg_user_mr()
268 err = mlx4_ib_umem_write_mtt(dev, &mmr->mmr.mtt, mmr->umem); in mlx4_ib_rereg_user_mr()
H A Dmlx4_ib.h107 struct mlx4_mtt mtt; member
342 struct mlx4_mtt mtt; member
385 struct mlx4_mtt mtt; member
758 int mlx4_ib_umem_write_mtt(struct mlx4_ib_dev *dev, struct mlx4_mtt *mtt,
H A Dqp.c683 qp->mtt = (to_mqp( in create_qp_rss()
684 (struct ib_qp *)init_attr->rwq_ind_tbl->ind_tbl[0]))->mtt; in create_qp_rss()
933 err = mlx4_mtt_init(dev->dev, n, shift, &qp->mtt); in create_rq()
937 err = mlx4_ib_umem_write_mtt(dev, &qp->mtt, qp->umem); in create_rq()
988 mlx4_mtt_cleanup(dev->dev, &qp->mtt); in create_rq()
1120 err = mlx4_mtt_init(dev->dev, n, shift, &qp->mtt); in create_qp_common()
1124 err = mlx4_ib_umem_write_mtt(dev, &qp->mtt, qp->umem); in create_qp_common()
1174 &qp->mtt); in create_qp_common()
1178 err = mlx4_buf_write_mtt(dev->dev, &qp->mtt, &qp->buf); in create_qp_common()
1280 mlx4_mtt_cleanup(dev->dev, &qp->mtt); in create_qp_common()
[all...]
/linux/drivers/infiniband/hw/mlx5/
H A Dodp.c151 struct mlx5_ib_mr *mtt = xa_load(&imr->implicit_children, idx); in populate_klm() local
154 if (mtt) { in populate_klm()
155 pklm->key = cpu_to_be32(mtt->ibmr.lkey); in populate_klm()
671 struct mlx5_ib_mr *mtt; in mlx5_ib_free_odp_mr() local
678 xa_for_each(&mr->implicit_children, idx, mtt) { in mlx5_ib_free_odp_mr()
680 mlx5_ib_dereg_mr(&mtt->ibmr, NULL); in mlx5_ib_free_odp_mr()
768 struct mlx5_ib_mr *mtt; in pagefault_implicit_mr() local
772 mtt = xa_load(&imr->implicit_children, idx); in pagefault_implicit_mr()
773 if (unlikely(!mtt)) { in pagefault_implicit_mr()
775 mtt in pagefault_implicit_mr()
[all...]
/linux/include/linux/mlx4/
H A Ddevice.h684 struct mlx4_mtt mtt; member
689 struct mlx4_mtt mtt; member
835 int mtt; member
1121 struct mlx4_mtt *mtt);
1122 void mlx4_mtt_cleanup(struct mlx4_dev *dev, struct mlx4_mtt *mtt);
1123 u64 mlx4_mtt_addr(struct mlx4_dev *dev, struct mlx4_mtt *mtt);
1133 int mlx4_write_mtt(struct mlx4_dev *dev, struct mlx4_mtt *mtt,
1135 int mlx4_buf_write_mtt(struct mlx4_dev *dev, struct mlx4_mtt *mtt,
1146 int mlx4_cq_alloc(struct mlx4_dev *dev, int nent, struct mlx4_mtt *mtt,
1159 struct mlx4_mtt *mtt, u6
[all...]
H 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,
H A Dcq.h185 int entries, struct mlx4_mtt *mtt);
/linux/drivers/vfio/pci/mlx5/
H A Dcmd.c362 __be64 *mtt; in unregister_dma_pages() local
369 mtt = (__be64 *)MLX5_ADDR_OF(create_mkey_in, mkey_in, in unregister_dma_pages()
372 addr = be64_to_cpu(mtt[i]); in unregister_dma_pages()
385 __be64 *mtt; in register_dma_pages() local
388 mtt = (__be64 *)MLX5_ADDR_OF(create_mkey_in, mkey_in, klm_pas_mtt); in register_dma_pages()
398 *mtt++ = cpu_to_be64(addr); in register_dma_pages()
412 *mtt++ = cpu_to_be64(addr); in register_dma_pages()
/linux/drivers/net/ethernet/mellanox/mlx5/core/diag/
H 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()

12