Home
last modified time | relevance | path

Searched refs:mr (Results 1 – 25 of 255) sorted by relevance

1234567891011

/linux/drivers/infiniband/sw/rdmavt/
H A Dmr.c75 static void rvt_deinit_mregion(struct rvt_mregion *mr) in rvt_deinit_mregion() argument
77 int i = mr->mapsz; in rvt_deinit_mregion()
79 mr->mapsz = 0; in rvt_deinit_mregion()
81 kfree(mr->map[--i]); in rvt_deinit_mregion()
82 percpu_ref_exit(&mr->refcount); in rvt_deinit_mregion()
87 struct rvt_mregion *mr = container_of(ref, struct rvt_mregion, in __rvt_mregion_complete() local
90 complete(&mr->comp); in __rvt_mregion_complete()
93 static int rvt_init_mregion(struct rvt_mregion *mr, struct ib_pd *pd, in rvt_init_mregion() argument
99 mr->mapsz = 0; in rvt_init_mregion()
102 mr->map[i] = kzalloc_node(sizeof(*mr->map[0]), GFP_KERNEL, in rvt_init_mregion()
[all …]
H A Dtrace_mr.h21 TP_PROTO(struct rvt_mregion *mr, u16 m, u16 n, void *v, size_t len),
22 TP_ARGS(mr, m, n, v, len),
24 RDI_DEV_ENTRY(ib_to_rvt(mr->pd->device))
37 RDI_DEV_ASSIGN(ib_to_rvt(mr->pd->device));
40 __entry->iova = mr->iova;
41 __entry->user_base = mr->user_base;
42 __entry->lkey = mr->lkey;
46 __entry->length = mr->length;
47 __entry->offset = mr->offset;
67 TP_PROTO(struct rvt_mregion *mr, u16 m, u16 n, void *v, size_t len),
[all …]
/linux/drivers/infiniband/sw/rxe/
H A Drxe_mr.c27 int mr_check_range(struct rxe_mr *mr, u64 iova, size_t length) in mr_check_range() argument
29 switch (mr->ibmr.type) { in mr_check_range()
35 if (iova < mr->ibmr.iova || in mr_check_range()
36 iova + length > mr->ibmr.iova + mr->ibmr.length) { in mr_check_range()
37 rxe_dbg_mr(mr, "iova/length out of range\n"); in mr_check_range()
43 rxe_dbg_mr(mr, "mr type not supported\n"); in mr_check_range()
48 void rxe_mr_init(int access, struct rxe_mr *mr) in rxe_mr_init() argument
50 u32 key = mr->elem.index << 8 | rxe_get_next_key(-1); in rxe_mr_init()
57 mr->lkey = mr->ibmr.lkey = key; in rxe_mr_init()
58 mr->rkey = mr->ibmr.rkey = key; in rxe_mr_init()
[all …]
H A Drxe_odp.c44 static int rxe_odp_do_pagefault_and_lock(struct rxe_mr *mr, u64 user_va, int bcnt, u32 flags) in rxe_odp_do_pagefault_and_lock() argument
46 struct ib_umem_odp *umem_odp = to_ib_umem_odp(mr->umem); in rxe_odp_do_pagefault_and_lock()
64 static int rxe_odp_init_pages(struct rxe_mr *mr) in rxe_odp_init_pages() argument
66 struct ib_umem_odp *umem_odp = to_ib_umem_odp(mr->umem); in rxe_odp_init_pages()
69 ret = rxe_odp_do_pagefault_and_lock(mr, mr->umem->address, in rxe_odp_init_pages()
70 mr->umem->length, in rxe_odp_init_pages()
80 u64 iova, int access_flags, struct rxe_mr *mr) in rxe_odp_mr_init_user() argument
88 rxe_mr_init(access_flags, mr); in rxe_odp_mr_init_user()
102 rxe_dbg_mr(mr, "Unable to create umem_odp err = %d\n", in rxe_odp_mr_init_user()
107 umem_odp->private = mr; in rxe_odp_mr_init_user()
[all …]
H A Drxe_mw.c51 struct rxe_mw *mw, struct rxe_mr *mr, int access) in rxe_check_bind_mw() argument
83 if (unlikely(!mr || wqe->wr.wr.mw.length == 0)) { in rxe_check_bind_mw()
91 if (!mr) in rxe_check_bind_mw()
94 if (unlikely(mr->access & IB_ZERO_BASED)) { in rxe_check_bind_mw()
100 if (unlikely(!(mr->access & IB_ACCESS_MW_BIND))) { in rxe_check_bind_mw()
109 !(mr->access & IB_ACCESS_LOCAL_WRITE))) { in rxe_check_bind_mw()
117 if (unlikely(wqe->wr.wr.mw.length > mr->ibmr.length)) { in rxe_check_bind_mw()
123 if (unlikely((wqe->wr.wr.mw.addr < mr->ibmr.iova) || in rxe_check_bind_mw()
125 (mr->ibmr.iova + mr->ibmr.length)))) { in rxe_check_bind_mw()
136 struct rxe_mw *mw, struct rxe_mr *mr, int access) in rxe_do_bind_mw() argument
[all …]
/linux/net/sunrpc/xprtrdma/
H A Dfrwr_ops.c49 struct rpcrdma_mr *mr) in frwr_cid_init() argument
51 struct rpc_rdma_cid *cid = &mr->mr_cid; in frwr_cid_init()
54 cid->ci_completion_id = mr->mr_ibmr->res.id; in frwr_cid_init()
57 static void frwr_mr_unmap(struct rpcrdma_mr *mr) in frwr_mr_unmap() argument
59 if (mr->mr_device) { in frwr_mr_unmap()
60 trace_xprtrdma_mr_unmap(mr); in frwr_mr_unmap()
61 ib_dma_unmap_sg(mr->mr_device, mr->mr_sg, mr->mr_nents, in frwr_mr_unmap()
62 mr->mr_dir); in frwr_mr_unmap()
63 mr->mr_device = NULL; in frwr_mr_unmap()
72 void frwr_mr_release(struct rpcrdma_mr *mr) in frwr_mr_release() argument
[all …]
/linux/drivers/infiniband/hw/mlx4/
H A Dmr.c60 struct mlx4_ib_mr *mr; in mlx4_ib_get_dma_mr() local
63 mr = kzalloc_obj(*mr); in mlx4_ib_get_dma_mr()
64 if (!mr) in mlx4_ib_get_dma_mr()
68 ~0ull, convert_access(acc), 0, 0, &mr->mmr); in mlx4_ib_get_dma_mr()
72 err = mlx4_mr_enable(to_mdev(pd->device)->dev, &mr->mmr); in mlx4_ib_get_dma_mr()
76 mr->ibmr.rkey = mr->ibmr.lkey = mr->mmr.key; in mlx4_ib_get_dma_mr()
77 mr->umem = NULL; in mlx4_ib_get_dma_mr()
79 return &mr->ibmr; in mlx4_ib_get_dma_mr()
82 (void) mlx4_mr_free(to_mdev(pd->device)->dev, &mr->mmr); in mlx4_ib_get_dma_mr()
85 kfree(mr); in mlx4_ib_get_dma_mr()
[all …]
/linux/drivers/vdpa/mlx5/core/
H A Dmr.c35 static void populate_mtts(struct mlx5_vdpa_direct_mr *mr, __be64 *mtt) in populate_mtts() argument
38 int nsg = mr->nsg; in populate_mtts()
44 for_each_sg(mr->sg_head.sgl, sg, mr->nent, i) { in populate_mtts()
47 nsg--, dma_addr += BIT(mr->log_size), dma_len -= BIT(mr->log_size)) in populate_mtts()
64 struct mlx5_vdpa_direct_mr *mr, in fill_create_direct_mr() argument
72 MLX5_SET(mkc, mkc, lw, !!(mr->perm & VHOST_MAP_WO)); in fill_create_direct_mr()
73 MLX5_SET(mkc, mkc, lr, !!(mr->perm & VHOST_MAP_RO)); in fill_create_direct_mr()
77 MLX5_SET64(mkc, mkc, start_addr, mr->offset); in fill_create_direct_mr()
78 MLX5_SET64(mkc, mkc, len, mr->end - mr->start); in fill_create_direct_mr()
79 MLX5_SET(mkc, mkc, log_page_size, mr->log_size); in fill_create_direct_mr()
[all …]
/linux/drivers/infiniband/hw/vmw_pvrdma/
H A Dpvrdma_mr.c61 struct pvrdma_user_mr *mr; in pvrdma_get_dma_mr() local
75 mr = kzalloc_obj(*mr); in pvrdma_get_dma_mr()
76 if (!mr) in pvrdma_get_dma_mr()
89 kfree(mr); in pvrdma_get_dma_mr()
93 mr->mmr.mr_handle = resp->mr_handle; in pvrdma_get_dma_mr()
94 mr->ibmr.lkey = resp->lkey; in pvrdma_get_dma_mr()
95 mr->ibmr.rkey = resp->rkey; in pvrdma_get_dma_mr()
97 return &mr->ibmr; in pvrdma_get_dma_mr()
118 struct pvrdma_user_mr *mr = NULL; in pvrdma_reg_user_mr() local
149 mr = kzalloc_obj(*mr); in pvrdma_reg_user_mr()
[all …]
/linux/drivers/infiniband/hw/mlx5/
H A Dmr.c131 static int destroy_mkey(struct mlx5_ib_dev *dev, struct mlx5_ib_mr *mr) in destroy_mkey() argument
133 WARN_ON(xa_load(&dev->odp_mkeys, mlx5_base_mkey(mr->mmkey.key))); in destroy_mkey()
135 return mlx5_core_destroy_mkey(dev->mdev, mr->mmkey.key); in destroy_mkey()
741 struct mlx5_ib_mr *mr; in _mlx5_mr_cache_alloc() local
744 mr = kzalloc_obj(*mr); in _mlx5_mr_cache_alloc()
745 if (!mr) in _mlx5_mr_cache_alloc()
755 err = create_cache_mkey(ent, &mr->mmkey.key); in _mlx5_mr_cache_alloc()
760 kfree(mr); in _mlx5_mr_cache_alloc()
764 mr->mmkey.key = pop_mkey_locked(ent); in _mlx5_mr_cache_alloc()
768 mr->mmkey.cache_ent = ent; in _mlx5_mr_cache_alloc()
[all …]
H A Dodp.c159 struct mlx5_ib_mr *mr, int flags) in populate_mtt() argument
161 struct ib_umem_odp *odp = to_ib_umem_odp(mr->umem); in populate_mtt()
195 struct mlx5_ib_mr *mr, int flags) in mlx5_odp_populate_xlt() argument
198 populate_ksm(xlt, idx, nentries, mr, flags); in mlx5_odp_populate_xlt()
201 return populate_mtt(xlt, idx, nentries, mr, flags); in mlx5_odp_populate_xlt()
213 struct mlx5_ib_mr *mr = in free_implicit_child_mr_work() local
215 struct mlx5_ib_mr *imr = mr->parent; in free_implicit_child_mr_work()
217 struct ib_umem_odp *odp = to_ib_umem_odp(mr->umem); in free_implicit_child_mr_work()
219 mlx5r_deref_wait_odp_mkey(&mr->mmkey); in free_implicit_child_mr_work()
222 mlx5r_umr_update_xlt(mr->parent, in free_implicit_child_mr_work()
[all …]
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/fb/
H A Dgddr5.c75 ram->mr[0] &= ~0xf7f; in nvkm_gddr5_calc()
76 ram->mr[0] |= (WR & 0x0f) << 8; in nvkm_gddr5_calc()
77 ram->mr[0] |= (CL & 0x0f) << 3; in nvkm_gddr5_calc()
78 ram->mr[0] |= (WL & 0x07) << 0; in nvkm_gddr5_calc()
80 ram->mr[1] &= ~0x0bf; in nvkm_gddr5_calc()
81 ram->mr[1] |= (xd & 0x01) << 7; in nvkm_gddr5_calc()
82 ram->mr[1] |= (at[0] & 0x03) << 4; in nvkm_gddr5_calc()
83 ram->mr[1] |= (dt & 0x03) << 2; in nvkm_gddr5_calc()
84 ram->mr[1] |= (ds & 0x03) << 0; in nvkm_gddr5_calc()
89 ram->mr1_nuts = ram->mr[1]; in nvkm_gddr5_calc()
[all …]
H A Dsddr3.c92 ODT = (ram->mr[1] & 0x004) >> 2 | in nvkm_sddr3_calc()
93 (ram->mr[1] & 0x040) >> 5 | in nvkm_sddr3_calc()
94 (ram->mr[1] & 0x200) >> 7; in nvkm_sddr3_calc()
106 ram->mr[0] &= ~0xf74; in nvkm_sddr3_calc()
107 ram->mr[0] |= (WR & 0x07) << 9; in nvkm_sddr3_calc()
108 ram->mr[0] |= (CL & 0x0e) << 3; in nvkm_sddr3_calc()
109 ram->mr[0] |= (CL & 0x01) << 2; in nvkm_sddr3_calc()
111 ram->mr[1] &= ~0x245; in nvkm_sddr3_calc()
112 ram->mr[1] |= (ODT & 0x1) << 2; in nvkm_sddr3_calc()
113 ram->mr[1] |= (ODT & 0x2) << 5; in nvkm_sddr3_calc()
[all …]
H A Dgddr3.c89 DLL = !(ram->mr[1] & 0x1); in nvkm_gddr3_calc()
90 RON = !((ram->mr[1] & 0x300) >> 8); in nvkm_gddr3_calc()
98 ODT = (ram->mr[1] & 0xc) >> 2; in nvkm_gddr3_calc()
101 hi = ram->mr[2] & 0x1; in nvkm_gddr3_calc()
107 ram->mr[0] &= ~0xf74; in nvkm_gddr3_calc()
108 ram->mr[0] |= (CWL & 0x07) << 9; in nvkm_gddr3_calc()
109 ram->mr[0] |= (CL & 0x07) << 4; in nvkm_gddr3_calc()
110 ram->mr[0] |= (CL & 0x08) >> 1; in nvkm_gddr3_calc()
112 ram->mr[1] &= ~0x3fc; in nvkm_gddr3_calc()
113 ram->mr[1] |= (ODT & 0x03) << 2; in nvkm_gddr3_calc()
[all …]
/linux/include/trace/events/
H A Dtsm_mr.h13 TP_PROTO(const struct tsm_measurement_register *mr),
15 TP_ARGS(mr),
18 __string(mr, mr->mr_name)
19 __string(hash, mr->mr_flags & TSM_MR_F_NOHASH ?
20 "data" : hash_algo_name[mr->mr_hash])
21 __dynamic_array(u8, d, mr->mr_size)
25 __assign_str(mr);
27 memcpy(__get_dynamic_array(d), mr->mr_value, __get_dynamic_array_len(d));
30 TP_printk("[%s] %s:%s", __get_str(mr), __get_str(hash),
36 TP_PROTO(const struct tsm_measurement_register *mr, int rc),
[all …]
/linux/io_uring/
H A Dmemmap.c91 void io_free_region(struct user_struct *user, struct io_mapped_region *mr) in io_free_region() argument
93 if (mr->pages) { in io_free_region()
94 long nr_refs = mr->nr_pages; in io_free_region()
96 if (mr->flags & IO_REGION_F_SINGLE_REF) in io_free_region()
99 if (mr->flags & IO_REGION_F_USER_PROVIDED) in io_free_region()
100 unpin_user_pages(mr->pages, nr_refs); in io_free_region()
102 release_pages(mr->pages, nr_refs); in io_free_region()
104 kvfree(mr->pages); in io_free_region()
106 if ((mr->flags & IO_REGION_F_VMAP) && mr->ptr) in io_free_region()
107 vunmap(mr->ptr); in io_free_region()
[all …]
/linux/drivers/infiniband/hw/hns/
H A Dhns_roce_mr.c53 static int alloc_mr_key(struct hns_roce_dev *hr_dev, struct hns_roce_mr *mr) in alloc_mr_key() argument
68 mr->key = hw_index_to_key(id); /* MR key */ in alloc_mr_key()
83 static void free_mr_key(struct hns_roce_dev *hr_dev, struct hns_roce_mr *mr) in free_mr_key() argument
85 unsigned long obj = key_to_hw_index(mr->key); in free_mr_key()
91 static int alloc_mr_pbl(struct hns_roce_dev *hr_dev, struct hns_roce_mr *mr, in alloc_mr_pbl() argument
95 bool is_fast = mr->type == MR_TYPE_FRMR; in alloc_mr_pbl()
99 mr->pbl_hop_num = is_fast ? 1 : hr_dev->caps.pbl_hop_num; in alloc_mr_pbl()
102 buf_attr.region[0].size = mr->size; in alloc_mr_pbl()
103 buf_attr.region[0].hopnum = mr->pbl_hop_num; in alloc_mr_pbl()
105 buf_attr.user_access = mr->access; in alloc_mr_pbl()
[all …]
/linux/arch/powerpc/platforms/pseries/
H A DhvCall.S64 mr r4,r3; \
65 mr r3,r0; \
77 mr r5,BUFREG; \
160 mr r4,r5
161 mr r5,r6
162 mr r6,r7
163 mr r7,r8
164 mr r8,r9
165 mr r9,r10
187 mr r4,r5
[all …]
/linux/net/rds/
H A Drdma.c70 struct rds_mr *mr; in rds_mr_tree_walk() local
74 mr = rb_entry(parent, struct rds_mr, r_rb_node); in rds_mr_tree_walk()
76 if (key < mr->r_key) in rds_mr_tree_walk()
78 else if (key > mr->r_key) in rds_mr_tree_walk()
81 return mr; in rds_mr_tree_walk()
95 static void rds_destroy_mr(struct rds_mr *mr) in rds_destroy_mr() argument
97 struct rds_sock *rs = mr->r_sock; in rds_destroy_mr()
102 mr->r_key, kref_read(&mr->r_kref)); in rds_destroy_mr()
105 if (!RB_EMPTY_NODE(&mr->r_rb_node)) in rds_destroy_mr()
106 rb_erase(&mr->r_rb_node, &rs->rs_rdma_keys); in rds_destroy_mr()
[all …]
/linux/drivers/infiniband/hw/mana/
H A Dmr.c33 static int mana_ib_gd_create_mr(struct mana_ib_dev *dev, struct mana_ib_mr *mr, in mana_ib_gd_create_mr() argument
83 mr->ibmr.lkey = resp.lkey; in mana_ib_gd_create_mr()
84 mr->ibmr.rkey = resp.rkey; in mana_ib_gd_create_mr()
85 mr->mr_handle = resp.mr_handle; in mana_ib_gd_create_mr()
123 struct mana_ib_mr *mr; in mana_ib_reg_user_mr() local
140 mr = kzalloc_obj(*mr); in mana_ib_reg_user_mr()
141 if (!mr) in mana_ib_reg_user_mr()
144 mr->umem = ib_umem_get(ibdev, start, length, access_flags); in mana_ib_reg_user_mr()
145 if (IS_ERR(mr->umem)) { in mana_ib_reg_user_mr()
146 err = PTR_ERR(mr->umem); in mana_ib_reg_user_mr()
[all …]
/linux/drivers/infiniband/core/
H A Dmr_pool.c10 struct ib_mr *mr; in ib_mr_pool_get() local
14 mr = list_first_entry_or_null(list, struct ib_mr, qp_entry); in ib_mr_pool_get()
15 if (mr) { in ib_mr_pool_get()
16 list_del(&mr->qp_entry); in ib_mr_pool_get()
21 return mr; in ib_mr_pool_get()
25 void ib_mr_pool_put(struct ib_qp *qp, struct list_head *list, struct ib_mr *mr) in ib_mr_pool_put() argument
30 list_add(&mr->qp_entry, list); in ib_mr_pool_put()
39 struct ib_mr *mr; in ib_mr_pool_init() local
45 mr = ib_alloc_mr_integrity(qp->pd, max_num_sg, in ib_mr_pool_init()
48 mr = ib_alloc_mr(qp->pd, type, max_num_sg); in ib_mr_pool_init()
[all …]
/linux/drivers/rtc/
H A Drtc-at91sam9.c133 u32 offset, alarm, mr; in at91_rtc_settime() local
140 mr = rtt_readl(rtc, MR); in at91_rtc_settime()
143 rtt_writel(rtc, MR, mr & ~(AT91_RTT_ALMIEN | AT91_RTT_RTTINCIEN)); in at91_rtc_settime()
164 mr &= ~AT91_RTT_ALMIEN; in at91_rtc_settime()
170 rtt_writel(rtc, MR, mr | AT91_RTT_RTTRST); in at91_rtc_settime()
205 u32 mr; in at91_rtc_setalarm() local
214 mr = rtt_readl(rtc, MR); in at91_rtc_setalarm()
215 rtt_writel(rtc, MR, mr & ~AT91_RTT_ALMIEN); in at91_rtc_setalarm()
226 rtt_writel(rtc, MR, mr | AT91_RTT_ALMIEN); in at91_rtc_setalarm()
236 u32 mr = rtt_readl(rtc, MR); in at91_rtc_alarm_irq_enable() local
[all …]
/linux/drivers/net/ethernet/mellanox/mlxsw/
H A Dspectrum_mr.c254 struct mlxsw_sp_mr *mr = mlxsw_sp->mr; in mlxsw_sp_mr_route_write() local
264 mr_route->route_priv = kzalloc(mr->mr_ops->route_priv_size, in mlxsw_sp_mr_route_write()
274 err = mr->mr_ops->route_create(mlxsw_sp, mr->priv, in mlxsw_sp_mr_route_write()
280 err = mr->mr_ops->route_update(mlxsw_sp, mr_route->route_priv, in mlxsw_sp_mr_route_write()
292 struct mlxsw_sp_mr *mr = mlxsw_sp->mr; in mlxsw_sp_mr_route_erase() local
294 mr->mr_ops->route_destroy(mlxsw_sp, mr->priv, mr_route->route_priv); in mlxsw_sp_mr_route_erase()
487 struct mlxsw_sp_mr *mr = mlxsw_sp->mr; in mlxsw_sp_mr_route_ivif_resolve() local
497 err = mr->mr_ops->route_irif_update(mlxsw_sp, rve->mr_route->route_priv, in mlxsw_sp_mr_route_ivif_resolve()
502 err = mr->mr_ops->route_action_update(mlxsw_sp, in mlxsw_sp_mr_route_ivif_resolve()
521 struct mlxsw_sp_mr *mr = mlxsw_sp->mr; in mlxsw_sp_mr_route_ivif_unresolve() local
[all …]
/linux/drivers/sh/intc/
H A Dhandle.c44 struct intc_mask_reg *mr = desc->hw.mask_regs; in _intc_mask_data() local
48 while (mr && enum_id && *reg_idx < desc->hw.nr_mask_regs) { in _intc_mask_data()
49 mr = desc->hw.mask_regs + *reg_idx; in _intc_mask_data()
51 for (; *fld_idx < ARRAY_SIZE(mr->enum_ids); (*fld_idx)++) { in _intc_mask_data()
52 if (mr->enum_ids[*fld_idx] != enum_id) in _intc_mask_data()
55 if (mr->set_reg && mr->clr_reg) { in _intc_mask_data()
58 reg_e = mr->clr_reg; in _intc_mask_data()
59 reg_d = mr->set_reg; in _intc_mask_data()
62 if (mr->set_reg) { in _intc_mask_data()
64 reg_e = mr->set_reg; in _intc_mask_data()
[all …]
/linux/drivers/infiniband/ulp/iser/
H A Diser_memory.c236 static inline void iser_inv_rkey(struct ib_send_wr *inv_wr, struct ib_mr *mr, in iser_inv_rkey() argument
241 inv_wr->ex.invalidate_rkey = mr->rkey; in iser_inv_rkey()
255 struct ib_mr *mr = rsc->sig_mr; in iser_reg_sig_mr() local
256 struct ib_sig_attrs *sig_attrs = mr->sig_attrs; in iser_reg_sig_mr()
268 iser_inv_rkey(&tx_desc->inv_wr, mr, cqe, &wr->wr); in iser_reg_sig_mr()
270 ib_update_fast_reg_key(mr, ib_inc_rkey(mr->rkey)); in iser_reg_sig_mr()
272 ret = ib_map_mr_sg_pi(mr, mem->sg, mem->dma_nents, NULL, in iser_reg_sig_mr()
286 wr->mr = mr; in iser_reg_sig_mr()
287 wr->key = mr->rkey; in iser_reg_sig_mr()
293 sig_reg->sge.lkey = mr->lkey; in iser_reg_sig_mr()
[all …]

1234567891011