/Linux-v5.10/drivers/tee/ |
D | tee_shm.c | 15 static void release_registered_pages(struct tee_shm *shm) in release_registered_pages() argument 17 if (shm->pages) { in release_registered_pages() 18 if (shm->flags & TEE_SHM_USER_MAPPED) { in release_registered_pages() 19 unpin_user_pages(shm->pages, shm->num_pages); in release_registered_pages() 23 for (n = 0; n < shm->num_pages; n++) in release_registered_pages() 24 put_page(shm->pages[n]); in release_registered_pages() 27 kfree(shm->pages); in release_registered_pages() 31 static void tee_shm_release(struct tee_shm *shm) in tee_shm_release() argument 33 struct tee_device *teedev = shm->ctx->teedev; in tee_shm_release() 35 if (shm->flags & TEE_SHM_DMA_BUF) { in tee_shm_release() [all …]
|
D | tee_shm_pool.c | 13 struct tee_shm *shm, size_t size) in pool_op_gen_alloc() argument 24 shm->kaddr = (void *)va; in pool_op_gen_alloc() 25 shm->paddr = gen_pool_virt_to_phys(genpool, va); in pool_op_gen_alloc() 26 shm->size = s; in pool_op_gen_alloc() 31 struct tee_shm *shm) in pool_op_gen_free() argument 33 gen_pool_free(poolm->private_data, (unsigned long)shm->kaddr, in pool_op_gen_free() 34 shm->size); in pool_op_gen_free() 35 shm->kaddr = NULL; in pool_op_gen_free()
|
D | tee_core.c | 287 struct tee_shm *shm; in tee_ioctl_shm_alloc() local 296 shm = tee_shm_alloc(ctx, data.size, TEE_SHM_MAPPED | TEE_SHM_DMA_BUF); in tee_ioctl_shm_alloc() 297 if (IS_ERR(shm)) in tee_ioctl_shm_alloc() 298 return PTR_ERR(shm); in tee_ioctl_shm_alloc() 300 data.id = shm->id; in tee_ioctl_shm_alloc() 301 data.flags = shm->flags; in tee_ioctl_shm_alloc() 302 data.size = shm->size; in tee_ioctl_shm_alloc() 307 ret = tee_shm_get_fd(shm); in tee_ioctl_shm_alloc() 314 tee_shm_put(shm); in tee_ioctl_shm_alloc() 324 struct tee_shm *shm; in tee_ioctl_shm_register() local [all …]
|
D | tee_private.h | 63 int tee_shm_get_fd(struct tee_shm *shm);
|
/Linux-v5.10/drivers/tee/optee/ |
D | shm_pool.c | 16 struct tee_shm *shm, size_t size) in pool_op_alloc() argument 26 shm->kaddr = page_address(page); in pool_op_alloc() 27 shm->paddr = page_to_phys(page); in pool_op_alloc() 28 shm->size = PAGE_SIZE << order; in pool_op_alloc() 30 if (shm->flags & TEE_SHM_DMA_BUF) { in pool_op_alloc() 43 shm->flags |= TEE_SHM_REGISTER; in pool_op_alloc() 44 rc = optee_shm_register(shm->ctx, shm, pages, nr_pages, in pool_op_alloc() 45 (unsigned long)shm->kaddr); in pool_op_alloc() 53 struct tee_shm *shm) in pool_op_free() argument 55 if (shm->flags & TEE_SHM_DMA_BUF) in pool_op_free() [all …]
|
D | rpc.c | 107 ret = i2c_master_recv(&client, params[2].u.memref.shm->kaddr, in handle_rpc_func_cmd_i2c_transfer() 111 ret = i2c_master_send(&client, params[2].u.memref.shm->kaddr, in handle_rpc_func_cmd_i2c_transfer() 267 struct tee_shm *shm; in cmd_alloc_suppl() local 280 shm = tee_shm_get_from_id(optee->supp.ctx, param.u.value.c); in cmd_alloc_suppl() 282 return shm; in cmd_alloc_suppl() 290 struct tee_shm *shm; in handle_rpc_func_cmd_shm_alloc() local 312 shm = cmd_alloc_suppl(ctx, sz); in handle_rpc_func_cmd_shm_alloc() 315 shm = tee_shm_alloc(ctx, sz, TEE_SHM_MAPPED); in handle_rpc_func_cmd_shm_alloc() 322 if (IS_ERR(shm)) { in handle_rpc_func_cmd_shm_alloc() 327 if (tee_shm_get_pa(shm, 0, &pa)) { in handle_rpc_func_cmd_shm_alloc() [all …]
|
D | call.c | 178 struct tee_shm *shm; in get_msg_arg() local 181 shm = tee_shm_alloc(ctx, OPTEE_MSG_GET_ARG_SIZE(num_params), in get_msg_arg() 183 if (IS_ERR(shm)) in get_msg_arg() 184 return shm; in get_msg_arg() 186 ma = tee_shm_get_va(shm, 0); in get_msg_arg() 192 rc = tee_shm_get_pa(shm, 0, msg_parg); in get_msg_arg() 201 tee_shm_free(shm); in get_msg_arg() 205 return shm; in get_msg_arg() 214 struct tee_shm *shm; in optee_open_session() local 220 shm = get_msg_arg(ctx, arg->num_params + 2, &msg_arg, &msg_parg); in optee_open_session() [all …]
|
D | core.c | 42 struct tee_shm *shm; in optee_from_msg_param() local 70 shm = (struct tee_shm *)(unsigned long) in optee_from_msg_param() 72 if (!shm) { in optee_from_msg_param() 74 p->u.memref.shm = NULL; in optee_from_msg_param() 77 rc = tee_shm_get_pa(shm, 0, &pa); in optee_from_msg_param() 81 p->u.memref.shm = shm; in optee_from_msg_param() 88 rc = tee_shm_get_pa(shm, o, NULL); in optee_from_msg_param() 99 shm = (struct tee_shm *)(unsigned long) in optee_from_msg_param() 102 if (!shm) { in optee_from_msg_param() 104 p->u.memref.shm = NULL; in optee_from_msg_param() [all …]
|
D | optee_private.h | 163 int optee_shm_register(struct tee_context *ctx, struct tee_shm *shm, 166 int optee_shm_unregister(struct tee_context *ctx, struct tee_shm *shm); 168 int optee_shm_register_supp(struct tee_context *ctx, struct tee_shm *shm, 171 int optee_shm_unregister_supp(struct tee_context *ctx, struct tee_shm *shm);
|
D | supp.c | 198 if (tee_param_is_memref(params + n) && params[n].u.memref.shm) in supp_check_recv_params() 199 tee_shm_put(params[n].u.memref.shm); in supp_check_recv_params()
|
D | device.c | 39 param[0].u.memref.shm = device_shm; in get_devices()
|
/Linux-v5.10/include/linux/ |
D | tee_drv.h | 65 struct tee_shm *shm; member 113 int (*shm_register)(struct tee_context *ctx, struct tee_shm *shm, 116 int (*shm_unregister)(struct tee_context *ctx, struct tee_shm *shm); 234 int (*alloc)(struct tee_shm_pool_mgr *poolmgr, struct tee_shm *shm, 236 void (*free)(struct tee_shm_pool_mgr *poolmgr, struct tee_shm *shm); 353 static inline bool tee_shm_is_registered(struct tee_shm *shm) in tee_shm_is_registered() argument 355 return shm && (shm->flags & TEE_SHM_REGISTER); in tee_shm_is_registered() 362 void tee_shm_free(struct tee_shm *shm); 368 void tee_shm_put(struct tee_shm *shm); 377 int tee_shm_va2pa(struct tee_shm *shm, void *va, phys_addr_t *pa); [all …]
|
/Linux-v5.10/drivers/tee/amdtee/ |
D | shm_pool.c | 11 static int pool_op_alloc(struct tee_shm_pool_mgr *poolm, struct tee_shm *shm, in pool_op_alloc() argument 22 shm->kaddr = (void *)va; in pool_op_alloc() 23 shm->paddr = __psp_pa((void *)va); in pool_op_alloc() 24 shm->size = PAGE_SIZE << order; in pool_op_alloc() 27 rc = amdtee_map_shmem(shm); in pool_op_alloc() 30 shm->kaddr = NULL; in pool_op_alloc() 37 static void pool_op_free(struct tee_shm_pool_mgr *poolm, struct tee_shm *shm) in pool_op_free() argument 40 amdtee_unmap_shmem(shm); in pool_op_free() 41 free_pages((unsigned long)shm->kaddr, get_order(shm->size)); in pool_op_free() 42 shm->kaddr = NULL; in pool_op_free()
|
D | core.c | 154 u32 get_buffer_id(struct tee_shm *shm) in get_buffer_id() argument 156 struct amdtee_context_data *ctxdata = shm->ctx->data; in get_buffer_id() 162 if (shmdata->kaddr == shm->kaddr) { in get_buffer_id() 338 int amdtee_map_shmem(struct tee_shm *shm) in amdtee_map_shmem() argument 346 if (!shm) in amdtee_map_shmem() 354 shmem.kaddr = shm->kaddr; in amdtee_map_shmem() 355 shmem.size = shm->size; in amdtee_map_shmem() 368 shmnode->kaddr = shm->kaddr; in amdtee_map_shmem() 370 ctxdata = shm->ctx->data; in amdtee_map_shmem() 380 void amdtee_unmap_shmem(struct tee_shm *shm) in amdtee_unmap_shmem() argument [all …]
|
D | amdtee_private.h | 135 int amdtee_map_shmem(struct tee_shm *shm); 137 void amdtee_unmap_shmem(struct tee_shm *shm); 158 u32 get_buffer_id(struct tee_shm *shm);
|
/Linux-v5.10/drivers/media/platform/s5p-mfc/ |
D | s5p_mfc_opr_v5.c | 224 ctx->shm.size = buf_size->shm; in s5p_mfc_alloc_instance_buffer_v5() 225 ret = s5p_mfc_alloc_priv_buf(dev, BANK_L_CTX, &ctx->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() 234 BUG_ON(ctx->shm.ofs & ((1 << MFC_BANK1_ALIGN_ORDER) - 1)); in s5p_mfc_alloc_instance_buffer_v5() 236 memset(ctx->shm.virt, 0, buf_size->shm); in s5p_mfc_alloc_instance_buffer_v5() 245 s5p_mfc_release_priv_buf(ctx->dev, &ctx->shm); in s5p_mfc_release_instance_buffer_v5() 263 *(u32 *)(ctx->shm.virt + ofs) = data; in s5p_mfc_write_info_v5() 271 return *(u32 *)(ctx->shm.virt + ofs); in s5p_mfc_read_info_v5() 358 mfc_write(dev, ctx->shm.ofs, S5P_FIMV_SI_CH0_HOST_WR_ADR); in s5p_mfc_set_shared_buffer() 679 unsigned int shm; in s5p_mfc_set_enc_params() local [all …]
|
/Linux-v5.10/drivers/char/tpm/ |
D | tpm_ftpm_tee.c | 82 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(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()
|
D | tpm_ftpm_tee.h | 37 struct tee_shm *shm; member
|
/Linux-v5.10/sound/usb/usx2y/ |
D | usx2yhwdeppcm.c | 103 struct snd_usX2Y_hwdep_pcm_shm *shm = usX2Y->hwdep_pcm_shm; in usX2Y_hwdep_urb_play_prepare() local 106 if (0 > shm->playback_iso_start) { in usX2Y_hwdep_urb_play_prepare() 107 shm->playback_iso_start = shm->captured_iso_head - in usX2Y_hwdep_urb_play_prepare() 109 if (0 > shm->playback_iso_start) in usX2Y_hwdep_urb_play_prepare() 110 shm->playback_iso_start += ARRAY_SIZE(shm->captured_iso); in usX2Y_hwdep_urb_play_prepare() 111 shm->playback_iso_head = shm->playback_iso_start; in usX2Y_hwdep_urb_play_prepare() 117 counts = shm->captured_iso[shm->playback_iso_head].length / usX2Y->stride; in usX2Y_hwdep_urb_play_prepare() 123 urb->iso_frame_desc[pack].offset = shm->captured_iso[shm->playback_iso_head].offset; in usX2Y_hwdep_urb_play_prepare() 124 urb->iso_frame_desc[pack].length = shm->captured_iso[shm->playback_iso_head].length; in usX2Y_hwdep_urb_play_prepare() 128 if (++shm->playback_iso_head >= ARRAY_SIZE(shm->captured_iso)) in usX2Y_hwdep_urb_play_prepare() [all …]
|
D | usX2Yhwdep.c | 81 struct us428ctls_sharedmem *shm = us428->us428ctls_sharedmem; in snd_us428ctls_poll() local 87 if (shm != NULL && shm->CtlSnapShotLast != shm->CtlSnapShotRed) in snd_us428ctls_poll()
|
/Linux-v5.10/ipc/ |
D | Makefile | 7 obj-$(CONFIG_SYSVIPC) += util.o msgutil.o msg.o sem.o shm.o syscall.o
|
/Linux-v5.10/tools/testing/selftests/vm/ |
D | .gitignore | 3 hugepage-shm
|
D | run_vmtests | 90 ./hugepage-shm
|
/Linux-v5.10/drivers/block/ |
D | sx8.c | 266 void *shm; member 1014 struct carm_response *resp = (struct carm_response *) host->shm; in carm_handle_responses() 1248 struct carm_response *resp = (struct carm_response *) host->shm; in carm_init_responses() 1392 host->shm = dma_alloc_coherent(&host->pdev->dev, CARM_SHM_SIZE, in carm_init_shm() 1394 if (!host->shm) in carm_init_shm() 1397 host->msg_base = host->shm + RBUF_LEN; in carm_init_shm() 1400 memset(host->shm, 0xff, RBUF_LEN); in carm_init_shm() 1546 dma_free_coherent(&pdev->dev, CARM_SHM_SIZE, host->shm, host->shm_dma); in carm_init_one() 1579 dma_free_coherent(&pdev->dev, CARM_SHM_SIZE, host->shm, host->shm_dma); in carm_remove_one()
|
/Linux-v5.10/tools/testing/kunit/test_data/ |
D | test_is_test_passed-no_tests_run.log | 5 Checking if /dev/shm is on tmpfs...OK 6 Checking PROT_EXEC mmap in /dev/shm...OK
|