| /linux/drivers/tee/optee/ |
| H A D | core.c | 37 struct optee *optee = container_of(work, struct optee, in optee_bus_scan_rpmb() local 41 if (!optee->rpmb_scan_bus_done) { in optee_bus_scan_rpmb() 43 optee->rpmb_scan_bus_done = !ret; in optee_bus_scan_rpmb() 52 struct optee *optee = container_of(intf, struct optee, rpmb_intf); in optee_rpmb_intf_rdev() local 54 schedule_work(&optee->rpmb_scan_bus_work); in optee_rpmb_intf_rdev() 59 int optee_set_dma_mask(struct optee *optee, u_int pa_width) in optee_set_dma_mask() argument 63 return dma_coerce_mask_and_coherent(&optee->teedev->dev, mask); in optee_set_dma_mask() 68 struct optee *optee = tee_get_drvdata(teedev); in optee_get_revision() local 71 if (!optee) in optee_get_revision() 76 build_id = optee->revision.os_build_id; in optee_get_revision() [all …]
|
| H A D | ffa_abi.c | 59 static struct tee_shm *optee_shm_from_ffa_handle(struct optee *optee, in optee_shm_from_ffa_handle() argument 65 mutex_lock(&optee->ffa.mutex); in optee_shm_from_ffa_handle() 66 r = rhashtable_lookup_fast(&optee->ffa.global_ids, &global_id, in optee_shm_from_ffa_handle() 70 mutex_unlock(&optee->ffa.mutex); in optee_shm_from_ffa_handle() 75 static int optee_shm_add_ffa_handle(struct optee *optee, struct tee_shm *shm, in optee_shm_add_ffa_handle() argument 87 mutex_lock(&optee->ffa.mutex); in optee_shm_add_ffa_handle() 88 rc = rhashtable_lookup_insert_fast(&optee->ffa.global_ids, &r->linkage, in optee_shm_add_ffa_handle() 90 mutex_unlock(&optee->ffa.mutex); in optee_shm_add_ffa_handle() 98 static int optee_shm_rem_ffa_handle(struct optee *optee, u64 global_id) in optee_shm_rem_ffa_handle() argument 103 mutex_lock(&optee->ffa.mutex); in optee_shm_rem_ffa_handle() [all …]
|
| H A D | smc_abi.c | 138 static int optee_from_msg_param(struct optee *optee, struct tee_param *params, in optee_from_msg_param() argument 228 static int optee_to_msg_param(struct optee *optee, in optee_to_msg_param() argument 282 static void optee_enable_shm_cache(struct optee *optee) in optee_enable_shm_cache() argument 287 optee_cq_wait_init(&optee->call_queue, &w, false); in optee_enable_shm_cache() 291 optee->smc.invoke_fn(OPTEE_SMC_ENABLE_SHM_CACHE, in optee_enable_shm_cache() 295 optee_cq_wait_for_completion(&optee->call_queue, &w); in optee_enable_shm_cache() 297 optee_cq_wait_final(&optee->call_queue, &w); in optee_enable_shm_cache() 307 static void __optee_disable_shm_cache(struct optee *optee, bool is_mapped) in __optee_disable_shm_cache() argument 312 optee_cq_wait_init(&optee->call_queue, &w, false); in __optee_disable_shm_cache() 319 optee->smc.invoke_fn(OPTEE_SMC_DISABLE_SHM_CACHE, in __optee_disable_shm_cache() [all …]
|
| H A D | notif.c | 21 static bool have_key(struct optee *optee, u_int key) in have_key() argument 25 list_for_each_entry(entry, &optee->notif.db, link) in have_key() 32 int optee_notif_wait(struct optee *optee, u_int key, u32 timeout) in optee_notif_wait() argument 38 if (key > optee->notif.max_key) in optee_notif_wait() 47 spin_lock_irqsave(&optee->notif.lock, flags); in optee_notif_wait() 53 if (test_bit(key, optee->notif.bitmap)) { in optee_notif_wait() 54 clear_bit(key, optee->notif.bitmap); in optee_notif_wait() 62 if (have_key(optee, key)) { in optee_notif_wait() 67 list_add_tail(&entry->link, &optee->notif.db); in optee_notif_wait() 72 spin_unlock_irqrestore(&optee->notif.lock, flags); in optee_notif_wait() [all …]
|
| H A D | rpc.c | 40 struct optee *optee = tee_get_drvdata(ctx->teedev); in handle_rpc_func_cmd_i2c_transfer() local 64 if (optee->ops->from_msg_param(optee, params, arg->num_params, in handle_rpc_func_cmd_i2c_transfer() 108 if (optee->ops->to_msg_param(optee, arg->params, in handle_rpc_func_cmd_i2c_transfer() 130 static void handle_rpc_func_cmd_wq(struct optee *optee, in handle_rpc_func_cmd_wq() argument 144 rc = optee_notif_wait(optee, arg->params[0].u.value.b, arg->params[0].u.value.c); in handle_rpc_func_cmd_wq() 149 if (optee_notif_send(optee, arg->params[0].u.value.b)) in handle_rpc_func_cmd_wq() 187 static void handle_rpc_supp_cmd(struct tee_context *ctx, struct optee *optee, in handle_rpc_supp_cmd() argument 200 if (optee->ops->from_msg_param(optee, params, arg->num_params, in handle_rpc_supp_cmd() 208 if (optee->ops->to_msg_param(optee, arg->params, arg->num_params, in handle_rpc_supp_cmd() 219 struct optee *optee = tee_get_drvdata(ctx->teedev); in optee_rpc_cmd_alloc_suppl() local [all …]
|
| H A D | call.c | 217 void optee_shm_arg_cache_init(struct optee *optee, u32 flags) in optee_shm_arg_cache_init() argument 219 INIT_LIST_HEAD(&optee->shm_arg_cache.shm_args); in optee_shm_arg_cache_init() 220 mutex_init(&optee->shm_arg_cache.mutex); in optee_shm_arg_cache_init() 221 optee->shm_arg_cache.flags = flags; in optee_shm_arg_cache_init() 224 void optee_shm_arg_cache_uninit(struct optee *optee) in optee_shm_arg_cache_uninit() argument 226 struct list_head *head = &optee->shm_arg_cache.shm_args; in optee_shm_arg_cache_uninit() 229 mutex_destroy(&optee->shm_arg_cache.mutex); in optee_shm_arg_cache_uninit() 269 struct optee *optee = tee_get_drvdata(ctx->teedev); in optee_get_msg_arg() local 270 size_t sz = optee_msg_arg_size(optee->rpc_param_count); in optee_get_msg_arg() 281 if (optee->shm_arg_cache.flags & OPTEE_SHM_ARG_SHARED) in optee_get_msg_arg() [all …]
|
| H A D | protmem.c | 18 struct optee *optee; member 39 rp->protmem = tee_shm_alloc_dma_mem(rp->optee->ctx, rp->page_count); in init_dyn_protmem() 53 rc = rp->optee->ops->lend_protmem(rp->optee, rp->protmem, in init_dyn_protmem() 78 rp->optee->ops->reclaim_protmem(rp->optee, rp->protmem); in init_dyn_protmem() 114 rp->optee->ops->reclaim_protmem(rp->optee, rp->protmem); in release_dyn_protmem() 207 static int get_protmem_config(struct optee *optee, u32 use_case, in get_protmem_config() argument 229 shm_param = tee_shm_alloc_priv_buf(optee->ctx, in get_protmem_config() 236 msg_arg = optee_get_msg_arg(optee->ctx, ARRAY_SIZE(params), &entry, in get_protmem_config() 244 rc = optee->ops->to_msg_param(optee, msg_arg->params, in get_protmem_config() 249 rc = optee->ops->do_call_with_arg(optee->ctx, shm, offs, false); in get_protmem_config() [all …]
|
| H A D | supp.c | 80 struct optee *optee = tee_get_drvdata(ctx->teedev); in optee_supp_thrd_req() local 81 struct optee_supp *supp = &optee->supp; in optee_supp_thrd_req() 214 struct optee *optee = tee_get_drvdata(teedev); in optee_supp_recv() local 215 struct optee_supp *supp = &optee->supp; in optee_supp_recv() 323 struct optee *optee = tee_get_drvdata(teedev); in optee_supp_send() local 324 struct optee_supp *supp = &optee->supp; in optee_supp_send()
|
| H A D | optee_trace.h | 10 #define TRACE_SYSTEM optee
|
| /linux/arch/arm/boot/dts/st/ |
| H A D | stm32mp15-scmi.dtsi | 11 optee: optee { label 12 compatible = "linaro,optee-tz"; 19 compatible = "linaro,scmi-optee"; 22 linaro,optee-channel-id = <0>;
|
| H A D | stm32mp157a-dk1-scmi.dts | 17 optee@de000000 { 65 &optee {
|
| H A D | stm32mp157c-ed1-scmi.dts | 17 optee@fe000000 { 70 &optee {
|
| H A D | stm32mp157c-dk2-scmi.dts | 17 optee@de000000 { 71 &optee {
|
| H A D | stm32mp157c-ev1-scmi.dts | 17 optee@fe000000 { 75 &optee {
|
| H A D | stm32mp157f-dk2-scmi.dtsi | 11 optee@de000000 { 87 &optee {
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-bus-optee-devices | 1 What: /sys/bus/tee/devices/optee-ta-<uuid>/ 8 are free to create needed API under optee-ta-<uuid> directory. 10 What: /sys/bus/tee/devices/optee-ta-<uuid>/need_supplicant
|
| /linux/arch/arm64/boot/dts/st/ |
| H A D | stm32mp211.dtsi | 50 optee { 51 compatible = "linaro,optee-tz"; 56 compatible = "linaro,scmi-optee"; 59 linaro,optee-channel-id = <0>;
|
| /linux/arch/arm64/boot/dts/amlogic/ |
| H A D | meson-a1-ad402.dts | 38 optee { 39 compatible = "linaro,optee-tz";
|
| /linux/drivers/firmware/arm_scmi/transports/ |
| H A D | Makefile | 8 scmi_transport_optee-objs := optee.o
|
| /linux/arch/arm64/boot/dts/ti/ |
| H A D | k3-am64.dtsi | 25 optee { 26 compatible = "linaro,optee-tz";
|
| H A D | k3-am65.dtsi | 25 optee { 26 compatible = "linaro,optee-tz";
|
| H A D | k3-am62l.dtsi | 23 optee { 24 compatible = "linaro,optee-tz";
|
| H A D | k3-j7200.dtsi | 85 optee { 86 compatible = "linaro,optee-tz";
|
| /linux/arch/arm64/boot/dts/mediatek/ |
| H A D | mt8390-grinn-genio-sbc.dtsi | 27 optee { 28 compatible = "linaro,optee-tz"; 48 optee_reserved: optee@43200000 {
|
| /linux/Documentation/tee/ |
| H A D | op-tee.rst | 66 OP-TEE provides a pseudo Trusted Application: drivers/tee/optee/device.c in 159 [3] drivers/tee/optee/optee_smc.h 161 [4] drivers/tee/optee/optee_msg.h
|