Home
last modified time | relevance | path

Searched refs:shm (Results 1 – 25 of 61) sorted by relevance

123

/linux-6.3-rc2/drivers/tee/
A Dtee_shm.c48 unpin_user_pages(shm->pages, shm->num_pages); in release_registered_pages()
50 shm_put_kernel_pages(shm->pages, shm->num_pages); in release_registered_pages()
72 kfree(shm); in tee_shm_release()
94 shm = kzalloc(sizeof(*shm), GFP_KERNEL); in shm_alloc_helper()
95 if (!shm) { in shm_alloc_helper()
119 return shm; in shm_alloc_helper()
121 kfree(shm); in shm_alloc_helper()
238 shm = kzalloc(sizeof(*shm), GFP_KERNEL); in register_shm_helper()
283 unpin_user_pages(shm->pages, shm->num_pages); in register_shm_helper()
285 shm_put_kernel_pages(shm->pages, shm->num_pages); in register_shm_helper()
[all …]
A Dtee_shm_pool.c12 static int pool_op_gen_alloc(struct tee_shm_pool *pool, struct tee_shm *shm, in pool_op_gen_alloc() argument
26 shm->kaddr = (void *)va; in pool_op_gen_alloc()
27 shm->paddr = gen_pool_virt_to_phys(genpool, va); in pool_op_gen_alloc()
28 shm->size = s; in pool_op_gen_alloc()
33 shm->flags &= ~TEE_SHM_DYNAMIC; in pool_op_gen_alloc()
37 static void pool_op_gen_free(struct tee_shm_pool *pool, struct tee_shm *shm) in pool_op_gen_free() argument
39 gen_pool_free(pool->private_data, (unsigned long)shm->kaddr, in pool_op_gen_free()
40 shm->size); in pool_op_gen_free()
41 shm->kaddr = NULL; in pool_op_gen_free()
A Dtee_core.c291 struct tee_shm *shm; in tee_ioctl_shm_alloc() local
301 if (IS_ERR(shm)) in tee_ioctl_shm_alloc()
304 data.id = shm->id; in tee_ioctl_shm_alloc()
317 tee_shm_put(shm); in tee_ioctl_shm_alloc()
327 struct tee_shm *shm; in tee_ioctl_shm_register() local
337 if (IS_ERR(shm)) in tee_ioctl_shm_register()
340 data.id = shm->id; in tee_ioctl_shm_register()
352 tee_shm_put(shm); in tee_ioctl_shm_register()
403 if (IS_ERR(shm)) in params_from_user()
418 shm = NULL; in params_from_user()
[all …]
/linux-6.3-rc2/include/linux/
A Dtee_drv.h63 struct tee_shm *shm; member
286 return shm && (shm->flags & TEE_SHM_DYNAMIC); in tee_shm_is_dynamic()
293 void tee_shm_free(struct tee_shm *shm);
299 void tee_shm_put(struct tee_shm *shm);
308 void *tee_shm_get_va(struct tee_shm *shm, size_t offs);
327 return shm->size; in tee_shm_get_size()
339 *num_pages = shm->num_pages; in tee_shm_get_pages()
340 return shm->pages; in tee_shm_get_pages()
350 return shm->offset; in tee_shm_get_page_offset()
358 static inline int tee_shm_get_id(struct tee_shm *shm) in tee_shm_get_id() argument
[all …]
/linux-6.3-rc2/drivers/tee/amdtee/
A Dshm_pool.c11 static int pool_op_alloc(struct tee_shm_pool *pool, struct tee_shm *shm, in pool_op_alloc() argument
26 shm->kaddr = (void *)va; in pool_op_alloc()
27 shm->paddr = __psp_pa((void *)va); in pool_op_alloc()
28 shm->size = PAGE_SIZE << order; in pool_op_alloc()
31 rc = amdtee_map_shmem(shm); in pool_op_alloc()
34 shm->kaddr = NULL; in pool_op_alloc()
41 static void pool_op_free(struct tee_shm_pool *pool, struct tee_shm *shm) in pool_op_free() argument
44 amdtee_unmap_shmem(shm); in pool_op_free()
45 free_pages((unsigned long)shm->kaddr, get_order(shm->size)); in pool_op_free()
46 shm->kaddr = NULL; in pool_op_free()
A Dcore.c153 u32 get_buffer_id(struct tee_shm *shm) in get_buffer_id() argument
161 if (shmdata->kaddr == shm->kaddr) { in get_buffer_id()
340 int amdtee_map_shmem(struct tee_shm *shm) in amdtee_map_shmem() argument
348 if (!shm) in amdtee_map_shmem()
356 shmem.kaddr = shm->kaddr; in amdtee_map_shmem()
357 shmem.size = shm->size; in amdtee_map_shmem()
370 shmnode->kaddr = shm->kaddr; in amdtee_map_shmem()
372 ctxdata = shm->ctx->data; in amdtee_map_shmem()
388 if (!shm) in amdtee_unmap_shmem()
391 buf_id = get_buffer_id(shm); in amdtee_unmap_shmem()
[all …]
A Damdtee_private.h148 int amdtee_map_shmem(struct tee_shm *shm);
150 void amdtee_unmap_shmem(struct tee_shm *shm);
171 u32 get_buffer_id(struct tee_shm *shm);
/linux-6.3-rc2/drivers/tee/optee/
A Dsmc_abi.c65 struct tee_shm *shm; in from_msg_param_tmp_mem() local
73 if (!shm) { in from_msg_param_tmp_mem()
84 p->u.memref.shm = shm; in from_msg_param_tmp_mem()
92 struct tee_shm *shm; in from_msg_param_reg_mem() local
99 if (shm) { in from_msg_param_reg_mem()
101 p->u.memref.shm = shm; in from_msg_param_reg_mem()
314 tee_shm_free(shm); in __optee_disable_shm_cache()
648 tee_shm_free(shm); in handle_rpc_func_cmd_shm_free()
694 if (IS_ERR(shm)) { in handle_rpc_func_cmd_shm_alloc()
750 tee_shm_free(shm); in handle_rpc_func_cmd_shm_alloc()
[all …]
A Dffa_abi.c41 struct tee_shm *shm; member
68 shm = r->shm; in optee_shm_from_ffa_handle()
71 return shm; in optee_shm_from_ffa_handle()
83 r->shm = shm; in optee_shm_add_ffa_handle()
136 p->u.memref.shm = shm; in from_msg_param_ffa_mem()
138 if (shm) { in from_msg_param_ffa_mem()
192 struct tee_shm *shm = p->u.memref.shm; in to_msg_param_ffa_mem() local
197 if (shm) { in to_msg_param_ffa_mem()
451 if (IS_ERR(shm)) { in handle_ffa_rpc_func_cmd_shm_alloc()
477 if (!shm) in handle_ffa_rpc_func_cmd_shm_free()
[all …]
A Dcore.c24 struct tee_shm *shm, in optee_pool_op_alloc_helper()
41 shm->kaddr = page_address(page); in optee_pool_op_alloc_helper()
42 shm->paddr = page_to_phys(page); in optee_pool_op_alloc_helper()
43 shm->size = PAGE_SIZE << order; in optee_pool_op_alloc_helper()
58 rc = shm_register(shm->ctx, shm, pages, nr_pages, in optee_pool_op_alloc_helper()
59 (unsigned long)shm->kaddr); in optee_pool_op_alloc_helper()
68 free_pages((unsigned long)shm->kaddr, order); in optee_pool_op_alloc_helper()
74 struct tee_shm *shm)) in optee_pool_op_free_helper()
77 shm_unregister(shm->ctx, shm); in optee_pool_op_free_helper()
78 free_pages((unsigned long)shm->kaddr, get_order(shm->size)); in optee_pool_op_free_helper()
[all …]
A Dcall.c38 struct tee_shm *shm; member
156 tee_shm_free(entry->shm); in optee_shm_arg_cache_uninit()
229 entry->shm = res; in optee_get_msg_arg()
235 res = tee_shm_get_va(entry->shm, offs); in optee_get_msg_arg()
243 *shm_ret = entry->shm; in optee_get_msg_arg()
287 struct tee_shm *shm; in optee_open_session() local
296 &entry, &shm, &offs); in optee_open_session()
368 struct tee_shm *shm; in optee_close_session_helper() local
410 struct tee_shm *shm; in optee_invoke_func() local
422 &entry, &shm, &offs); in optee_invoke_func()
[all …]
A Drpc.c88 msg.buf = params[2].u.memref.shm->kaddr; in handle_rpc_func_cmd_i2c_transfer()
215 struct tee_shm *shm; in optee_rpc_cmd_alloc_suppl() local
228 shm = tee_shm_get_from_id(optee->supp.ctx, param.u.value.c); in optee_rpc_cmd_alloc_suppl()
230 return shm; in optee_rpc_cmd_alloc_suppl()
233 void optee_rpc_cmd_free_suppl(struct tee_context *ctx, struct tee_shm *shm) in optee_rpc_cmd_free_suppl() argument
239 param.u.value.b = tee_shm_get_id(shm); in optee_rpc_cmd_free_suppl()
253 tee_shm_put(shm); in optee_rpc_cmd_free_suppl()
A Doptee_private.h242 int optee_pool_op_alloc_helper(struct tee_shm_pool *pool, struct tee_shm *shm,
245 struct tee_shm *shm,
249 void optee_pool_op_free_helper(struct tee_shm_pool *pool, struct tee_shm *shm,
251 struct tee_shm *shm));
300 void optee_rpc_cmd_free_suppl(struct tee_context *ctx, struct tee_shm *shm);
/linux-6.3-rc2/drivers/nvmem/
A Dstm32-bsec-optee-ta.c142 struct tee_shm *shm; in stm32_bsec_optee_ta_read() local
169 if (IS_ERR(shm)) { in stm32_bsec_optee_ta_read()
170 ret = PTR_ERR(shm); in stm32_bsec_optee_ta_read()
175 param[1].u.memref.shm = shm; in stm32_bsec_optee_ta_read()
196 tee_shm_free(shm); in stm32_bsec_optee_ta_read()
207 { struct tee_shm *shm; in stm32_bsec_optee_ta_write() local
234 if (IS_ERR(shm)) { in stm32_bsec_optee_ta_write()
235 ret = PTR_ERR(shm); in stm32_bsec_optee_ta_write()
240 param[1].u.memref.shm = shm; in stm32_bsec_optee_ta_write()
247 tee_shm_free(shm); in stm32_bsec_optee_ta_write()
[all …]
/linux-6.3-rc2/drivers/media/platform/samsung/s5p-mfc/
A Ds5p_mfc_opr_v5.c224 ctx->shm.size = buf_size->shm; in s5p_mfc_alloc_instance_buffer_v5()
233 ctx->shm.ofs = ctx->shm.dma - dev->dma_base[BANK_L_CTX]; in s5p_mfc_alloc_instance_buffer_v5()
236 memset(ctx->shm.virt, 0, buf_size->shm); in s5p_mfc_alloc_instance_buffer_v5()
679 unsigned int shm; in s5p_mfc_set_enc_params() local
763 unsigned int shm; in s5p_mfc_set_enc_params_h264() local
865 shm &= ~(0xFFF); in s5p_mfc_set_enc_params_h264()
879 shm &= ~(0xFF); in s5p_mfc_set_enc_params_h264()
920 unsigned int shm; in s5p_mfc_set_enc_params_mpeg4() local
944 shm &= ~(0xFFF); in s5p_mfc_set_enc_params_mpeg4()
999 unsigned int shm; in s5p_mfc_set_enc_params_h263() local
[all …]
/linux-6.3-rc2/drivers/rtc/
A Drtc-optee.c51 struct tee_shm *shm; member
69 param[0].u.memref.shm = priv->shm; in optee_rtc_readtime()
76 optee_tm = tee_shm_get_va(priv->shm, 0); in optee_rtc_readtime()
117 param[0].u.memref.shm = priv->shm; in optee_rtc_settime()
204 param[0].u.memref.shm = priv->shm; in optee_rtc_read_info()
211 info = tee_shm_get_va(priv->shm, 0); in optee_rtc_read_info()
247 struct tee_shm *shm; in optee_rtc_probe() local
278 if (IS_ERR(shm)) { in optee_rtc_probe()
280 err = PTR_ERR(shm); in optee_rtc_probe()
284 priv->shm = shm; in optee_rtc_probe()
[all …]
/linux-6.3-rc2/drivers/char/tpm/
A Dtpm_ftpm_tee.c82 struct tee_shm *shm = pvt_data->shm; in ftpm_tee_tpm_op_send() local
106 .shm = shm, in ftpm_tee_tpm_op_send()
112 temp_buf = tee_shm_get_va(shm, 0); in ftpm_tee_tpm_op_send()
124 .shm = shm, in ftpm_tee_tpm_op_send()
138 temp_buf = tee_shm_get_va(shm, command_params[1].u.memref.shm_offs); in ftpm_tee_tpm_op_send()
257 pvt_data->shm = tee_shm_alloc_kernel_buf(pvt_data->ctx, in ftpm_tee_probe()
260 if (IS_ERR(pvt_data->shm)) { in ftpm_tee_probe()
290 tee_shm_free(pvt_data->shm); in ftpm_tee_probe()
324 tee_shm_free(pvt_data->shm); in ftpm_tee_remove()
352 tee_shm_free(pvt_data->shm); in ftpm_plat_tee_shutdown()
/linux-6.3-rc2/sound/usb/usx2y/
A Dusx2yhwdeppcm.c111 shm->playback_iso_start = shm->captured_iso_head - in usx2y_hwdep_urb_play_prepare()
113 if (shm->playback_iso_start < 0) in usx2y_hwdep_urb_play_prepare()
114 shm->playback_iso_start += ARRAY_SIZE(shm->captured_iso); in usx2y_hwdep_urb_play_prepare()
115 shm->playback_iso_head = shm->playback_iso_start; in usx2y_hwdep_urb_play_prepare()
121 counts = shm->captured_iso[shm->playback_iso_head].length / usx2y->stride; in usx2y_hwdep_urb_play_prepare()
127 urb->iso_frame_desc[pack].offset = shm->captured_iso[shm->playback_iso_head].offset; in usx2y_hwdep_urb_play_prepare()
128 urb->iso_frame_desc[pack].length = shm->captured_iso[shm->playback_iso_head].length; in usx2y_hwdep_urb_play_prepare()
132 if (++shm->playback_iso_head >= ARRAY_SIZE(shm->captured_iso)) in usx2y_hwdep_urb_play_prepare()
133 shm->playback_iso_head = 0; in usx2y_hwdep_urb_play_prepare()
157 shm->captured_iso_head = head; in usx2y_usbpcm_urb_capt_iso_advance()
[all …]
A DusX2Yhwdep.c73 struct us428ctls_sharedmem *shm = us428->us428ctls_sharedmem; in snd_us428ctls_poll() local
80 if (shm && shm->ctl_snapshot_last != shm->ctl_snapshot_red) in snd_us428ctls_poll()
/linux-6.3-rc2/tools/testing/selftests/futex/functional/
A Dfutex_wait.c54 void *shm; in main() local
137 shm = mmap(NULL, sizeof(f_private), PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); in main()
138 if (shm == MAP_FAILED) { in main()
143 memcpy(shm, &f_private, sizeof(f_private)); in main()
145 futex = shm; in main()
154 res = futex_wake(shm, 1, 0); in main()
165 munmap(shm, sizeof(f_private)); in main()
/linux-6.3-rc2/Documentation/devicetree/bindings/spi/
A Dnuvoton,wpcm450-fiu.yaml35 nuvoton,shm:
37 description: a phandle to the SHM block (see ../arm/nuvoton,shm.yaml)
55 nuvoton,shm = <&shm>;
63 shm: syscon@c8001000 {
64 compatible = "nuvoton,wpcm450-shm", "syscon";
/linux-6.3-rc2/security/keys/trusted-keys/
A Dtrusted_tee.c93 param[0].u.memref.shm = reg_shm_in; in trusted_tee_seal()
97 param[1].u.memref.shm = reg_shm_out; in trusted_tee_seal()
152 param[0].u.memref.shm = reg_shm_in; in trusted_tee_unseal()
156 param[1].u.memref.shm = reg_shm_out; in trusted_tee_unseal()
202 param[0].u.memref.shm = reg_shm; in trusted_tee_get_random()
/linux-6.3-rc2/Documentation/translations/zh_CN/filesystems/
A Dtmpfs.rst36 2) glibc 2.2及更高版本期望将tmpfs挂载在/dev/shm上以用于POSIX共享内存
39 tmpfs /dev/shm tmpfs defaults 0 0
44 tmpfs的前身(shm fs)才能使用SYSV共享内存)
/linux-6.3-rc2/Documentation/translations/zh_TW/filesystems/
A Dtmpfs.rst37 2) glibc 2.2及更高版本期望將tmpfs掛載在/dev/shm上以用於POSIX共享內存
40 tmpfs /dev/shm tmpfs defaults 0 0
45 tmpfs的前身(shm fs)才能使用SYSV共享內存)
/linux-6.3-rc2/arch/arm/boot/dts/
A Dnuvoton-wpcm450.dtsi483 nuvoton,shm = <&shm>;
487 shm: syscon@c8001000 { label
488 compatible = "nuvoton,wpcm450-shm", "syscon";

Completed in 34 milliseconds

123