Home
last modified time | relevance | path

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

123

/kernel/linux/linux-5.10/drivers/tee/
Dtee_shm.c16 static void release_registered_pages(struct tee_shm *shm) in release_registered_pages() argument
18 if (shm->pages) { in release_registered_pages()
19 if (shm->flags & TEE_SHM_USER_MAPPED) { in release_registered_pages()
20 unpin_user_pages(shm->pages, shm->num_pages); in release_registered_pages()
24 for (n = 0; n < shm->num_pages; n++) in release_registered_pages()
25 put_page(shm->pages[n]); in release_registered_pages()
28 kfree(shm->pages); in release_registered_pages()
32 static void tee_shm_release(struct tee_device *teedev, struct tee_shm *shm) in tee_shm_release() argument
34 if (shm->flags & TEE_SHM_POOL) { in tee_shm_release()
37 if (shm->flags & TEE_SHM_DMA_BUF) in tee_shm_release()
[all …]
Dtee_shm_pool.c13 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()
Dtee_core.c291 struct tee_shm *shm; in tee_ioctl_shm_alloc() local
300 shm = tee_shm_alloc(ctx, data.size, TEE_SHM_MAPPED | TEE_SHM_DMA_BUF); in tee_ioctl_shm_alloc()
301 if (IS_ERR(shm)) in tee_ioctl_shm_alloc()
302 return PTR_ERR(shm); in tee_ioctl_shm_alloc()
304 data.id = shm->id; in tee_ioctl_shm_alloc()
305 data.flags = shm->flags; in tee_ioctl_shm_alloc()
306 data.size = shm->size; in tee_ioctl_shm_alloc()
311 ret = tee_shm_get_fd(shm); in tee_ioctl_shm_alloc()
318 tee_shm_put(shm); in tee_ioctl_shm_alloc()
328 struct tee_shm *shm; in tee_ioctl_shm_register() local
[all …]
/kernel/linux/linux-5.10/drivers/tee/optee/
Dshm_pool.c16 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()
34 if (!(shm->flags & TEE_SHM_PRIV)) { in pool_op_alloc()
47 shm->flags |= TEE_SHM_REGISTER; in pool_op_alloc()
48 rc = optee_shm_register(shm->ctx, shm, pages, nr_pages, in pool_op_alloc()
49 (unsigned long)shm->kaddr); in pool_op_alloc()
63 struct tee_shm *shm) in pool_op_free() argument
65 if (!(shm->flags & TEE_SHM_PRIV)) in pool_op_free()
[all …]
Drpc.c104 msg.buf = params[2].u.memref.shm->kaddr; in handle_rpc_func_cmd_i2c_transfer()
268 struct tee_shm *shm; in cmd_alloc_suppl() local
281 shm = tee_shm_get_from_id(optee->supp.ctx, param.u.value.c); in cmd_alloc_suppl()
283 return shm; in cmd_alloc_suppl()
292 struct tee_shm *shm; in handle_rpc_func_cmd_shm_alloc() local
314 shm = cmd_alloc_suppl(ctx, sz); in handle_rpc_func_cmd_shm_alloc()
317 shm = tee_shm_alloc(optee->ctx, sz, in handle_rpc_func_cmd_shm_alloc()
325 if (IS_ERR(shm)) { in handle_rpc_func_cmd_shm_alloc()
330 if (tee_shm_get_pa(shm, 0, &pa)) { in handle_rpc_func_cmd_shm_alloc()
335 sz = tee_shm_get_size(shm); in handle_rpc_func_cmd_shm_alloc()
[all …]
Dcall.c180 struct tee_shm *shm; in get_msg_arg() local
183 shm = tee_shm_alloc(ctx, OPTEE_MSG_GET_ARG_SIZE(num_params), in get_msg_arg()
185 if (IS_ERR(shm)) in get_msg_arg()
186 return shm; in get_msg_arg()
188 ma = tee_shm_get_va(shm, 0); in get_msg_arg()
194 rc = tee_shm_get_pa(shm, 0, msg_parg); in get_msg_arg()
203 tee_shm_free(shm); in get_msg_arg()
207 return shm; in get_msg_arg()
216 struct tee_shm *shm; in optee_open_session() local
223 shm = get_msg_arg(ctx, arg->num_params + 2, &msg_arg, &msg_parg); in optee_open_session()
[all …]
Dcore.c43 struct tee_shm *shm; in optee_from_msg_param() local
71 shm = (struct tee_shm *)(unsigned long) in optee_from_msg_param()
73 if (!shm) { in optee_from_msg_param()
75 p->u.memref.shm = NULL; in optee_from_msg_param()
78 rc = tee_shm_get_pa(shm, 0, &pa); in optee_from_msg_param()
82 p->u.memref.shm = shm; in optee_from_msg_param()
90 shm = (struct tee_shm *)(unsigned long) in optee_from_msg_param()
93 if (!shm) { in optee_from_msg_param()
95 p->u.memref.shm = NULL; in optee_from_msg_param()
99 p->u.memref.shm = shm; in optee_from_msg_param()
[all …]
Doptee_private.h166 int optee_shm_register(struct tee_context *ctx, struct tee_shm *shm,
169 int optee_shm_unregister(struct tee_context *ctx, struct tee_shm *shm);
171 int optee_shm_register_supp(struct tee_context *ctx, struct tee_shm *shm,
174 int optee_shm_unregister_supp(struct tee_context *ctx, struct tee_shm *shm);
/kernel/liteos_a/testsuites/unittest/basic/mem/shm/full/
Dshm_test_003.cpp37 void *shm = NULL; in Testcase() local
44 shm = shmat(shmid, NULL, 0); in Testcase()
45 ICUNIT_ASSERT_NOT_EQUAL(shm, INVALID_PTR, shm); in Testcase()
47 (void)memset_s(shm, PAGE_SIZE, 0, PAGE_SIZE); in Testcase()
49 ret = shmdt(shm); in Testcase()
58 shm = shmat(shmid, vaddrPageAlign, 0); in Testcase()
59 ICUNIT_ASSERT_EQUAL(shm, vaddrPageAlign, shm); in Testcase()
61 (void)memset_s(shm, PAGE_SIZE, 0, PAGE_SIZE); in Testcase()
63 ret = shmdt(shm); in Testcase()
67 shm = shmat(shmid, vaddr, SHM_REMAP); in Testcase()
[all …]
Dshm_test_001.cpp44 void *shm = nullptr; in ShmReadFunc() local
52 shm = shmat(shmid, 0, 0); in ShmReadFunc()
53 ICUNIT_ASSERT_NOT_EQUAL_NULL_VOID(shm, INVALID_PTR, shm); in ShmReadFunc()
55 printf("Memory attached at %p\n", shm); in ShmReadFunc()
57 shared = (struct shared_use_st *)shm; in ShmReadFunc()
72 ret = shmdt(shm); in ShmReadFunc()
84 void *shm = nullptr; in ShmWriteFunc() local
94 shm = shmat(shmid, nullptr, 0); in ShmWriteFunc()
95 ICUNIT_ASSERT_NOT_EQUAL_NULL_VOID(shm, INVALID_PTR, shm); in ShmWriteFunc()
97 printf("Memory attached at %p\n", shm); in ShmWriteFunc()
[all …]
Dshm_test_005.cpp37 void *shm = NULL; in Testcase() local
49 shm = shmat(shmid, NULL, SHM_REMAP); in Testcase()
52 shm = shmat(shmid, reinterpret_cast<const void *>(0x100), 0); in Testcase()
55 shm = shmat(shmid, NULL, 0); in Testcase()
56 ICUNIT_ASSERT_NOT_EQUAL(shm, reinterpret_cast<void *>(-1), shm); in Testcase()
62 ret = shmdt(shm); in Testcase()
Dshm_test_004.cpp37 void *shm = NULL; in Testcase() local
44 shm = shmat(shmid, NULL, 0); in Testcase()
45 ICUNIT_GOTO_NOT_EQUAL(shm, INVALID_PTR, shm, ERROR_OUT); in Testcase()
47 (void)memset_s(shm, PAGE_SIZE, 0, PAGE_SIZE); in Testcase()
75 ret = shmdt(shm); in Testcase()
/kernel/linux/linux-5.10/include/linux/
Dtee_drv.h66 struct tee_shm *shm; member
114 int (*shm_register)(struct tee_context *ctx, struct tee_shm *shm,
117 int (*shm_unregister)(struct tee_context *ctx, struct tee_shm *shm);
235 int (*alloc)(struct tee_shm_pool_mgr *poolmgr, struct tee_shm *shm,
237 void (*free)(struct tee_shm_pool_mgr *poolmgr, struct tee_shm *shm);
355 static inline bool tee_shm_is_registered(struct tee_shm *shm) in tee_shm_is_registered() argument
357 return shm && (shm->flags & TEE_SHM_REGISTER); in tee_shm_is_registered()
364 void tee_shm_free(struct tee_shm *shm);
370 void tee_shm_put(struct tee_shm *shm);
379 int tee_shm_va2pa(struct tee_shm *shm, void *va, phys_addr_t *pa);
[all …]
/kernel/linux/linux-5.10/drivers/tee/amdtee/
Dshm_pool.c11 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()
Dcore.c153 u32 get_buffer_id(struct tee_shm *shm) in get_buffer_id() argument
155 struct amdtee_context_data *ctxdata = shm->ctx->data; in get_buffer_id()
161 if (shmdata->kaddr == shm->kaddr) { in get_buffer_id()
339 int amdtee_map_shmem(struct tee_shm *shm) in amdtee_map_shmem() argument
347 if (!shm) in amdtee_map_shmem()
355 shmem.kaddr = shm->kaddr; in amdtee_map_shmem()
356 shmem.size = shm->size; in amdtee_map_shmem()
369 shmnode->kaddr = shm->kaddr; in amdtee_map_shmem()
371 ctxdata = shm->ctx->data; in amdtee_map_shmem()
381 void amdtee_unmap_shmem(struct tee_shm *shm) in amdtee_unmap_shmem() argument
[all …]
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);
/kernel/liteos_a/testsuites/unittest/container/smoke/
DIt_ipc_container_005.cpp62 void *shm = shmat(shmid, 0, 0); in childFunc() local
63 if (shm == reinterpret_cast<void *>(-1)) { in childFunc()
68 shared = (struct shared_use_st *)shm; in childFunc()
71 shmdt(shm); in childFunc()
76 ret = shmdt(shm); in childFunc()
110 void *shm = shmat(shmid, 0, 0); in testChild() local
111 if (shm == reinterpret_cast<void *>(-1)) { in testChild()
116 shared = (struct shared_use_st *)shm; in testChild()
119 shmdt(shm); in testChild()
126 shmdt(shm); in testChild()
[all …]
DIt_ipc_container_004.cpp51 void *shm = shmat(shmid, 0, 0); in childFunc1() local
52 if (shm == reinterpret_cast<void *>(-1)) { in childFunc1()
56 shared = (struct shared_use_st *)shm; in childFunc1()
59 shmdt(shm); in childFunc1()
63 ret = shmdt(shm); in childFunc1()
89 void *shm = shmat(shmid, 0, 0); in childFunc() local
90 if (shm == reinterpret_cast<void *>(-1)) { in childFunc()
95 struct shared_use_st *shared = (struct shared_use_st *)shm; in childFunc()
132 ret = shmdt(shm); in childFunc()
145 shmdt(shm); in childFunc()
[all …]
DIt_ipc_container_006.cpp51 void *shm = shmat(shmid, 0, 0); in childFunc1() local
52 if (shm == reinterpret_cast<void *>(-1)) { in childFunc1()
56 shared = (struct shared_use_st *)shm; in childFunc1()
60 shmdt(shm); in childFunc1()
65 ret = shmdt(shm); in childFunc1()
122 void *shm = shmat(shmid, 0, 0); in childFunc() local
123 if (shm == reinterpret_cast<void *>(-1)) { in childFunc()
128 shared = (struct shared_use_st *)shm; in childFunc()
138 shmdt(shm); in childFunc()
145 shmdt(shm); in childFunc()
[all …]
/kernel/liteos_a/testsuites/unittest/basic/mem/shm/
Dconfig.gni31 mem_shm_include_dirs = [ "$TEST_UNITTEST_DIR/basic/mem/shm" ]
33 mem_shm_sources_entry = [ "$TEST_UNITTEST_DIR/basic/mem/shm/mem_shm_test.cpp" ]
36 [ "$TEST_UNITTEST_DIR/basic/mem/shm/smoke/shm_test_011.cpp" ]
39 "$TEST_UNITTEST_DIR/basic/mem/shm/full/shm_test_001.cpp",
40 "$TEST_UNITTEST_DIR/basic/mem/shm/full/shm_test_002.cpp",
41 "$TEST_UNITTEST_DIR/basic/mem/shm/full/shm_test_003.cpp",
42 "$TEST_UNITTEST_DIR/basic/mem/shm/full/shm_test_004.cpp",
43 "$TEST_UNITTEST_DIR/basic/mem/shm/full/shm_test_005.cpp",
44 "$TEST_UNITTEST_DIR/basic/mem/shm/full/shm_test_006.cpp",
45 "$TEST_UNITTEST_DIR/basic/mem/shm/full/shm_test_007.cpp",
[all …]
/kernel/linux/linux-5.10/drivers/media/platform/s5p-mfc/
Ds5p_mfc_opr_v5.c224 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 …]
/kernel/linux/linux-5.10/drivers/char/tpm/
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()
/kernel/linux/linux-5.10/sound/usb/usx2y/
Dusx2yhwdeppcm.c103 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 …]
DusX2Yhwdep.c81 struct us428ctls_sharedmem *shm = us428->us428ctls_sharedmem; in snd_us428ctls_poll() local
87 if (shm != NULL && shm->ctl_snapshot_last != shm->ctl_snapshot_red) in snd_us428ctls_poll()
/kernel/liteos_a/testsuites/unittest/container/
DIt_container_test.h133 explicit ShmFinalizer(void* shm, int shmid) in ShmFinalizer() argument
135 m_shm = shm; in ShmFinalizer()

123