| /Linux-v6.1/drivers/tee/optee/ |
| 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) 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 …]
|
| D | ffa_abi.c | 58 static struct tee_shm *optee_shm_from_ffa_handle(struct optee *optee, in optee_shm_from_ffa_handle() argument 64 mutex_lock(&optee->ffa.mutex); in optee_shm_from_ffa_handle() 65 r = rhashtable_lookup_fast(&optee->ffa.global_ids, &global_id, in optee_shm_from_ffa_handle() 69 mutex_unlock(&optee->ffa.mutex); in optee_shm_from_ffa_handle() 74 static int optee_shm_add_ffa_handle(struct optee *optee, struct tee_shm *shm, in optee_shm_add_ffa_handle() argument 86 mutex_lock(&optee->ffa.mutex); in optee_shm_add_ffa_handle() 87 rc = rhashtable_lookup_insert_fast(&optee->ffa.global_ids, &r->linkage, in optee_shm_add_ffa_handle() 89 mutex_unlock(&optee->ffa.mutex); in optee_shm_add_ffa_handle() 97 static int optee_shm_rem_ffa_handle(struct optee *optee, u64 global_id) in optee_shm_rem_ffa_handle() argument 102 mutex_lock(&optee->ffa.mutex); in optee_shm_rem_ffa_handle() [all …]
|
| D | smc_abi.c | 111 * @optee: main service struct 117 static int optee_from_msg_param(struct optee *optee, struct tee_param *params, in optee_from_msg_param() argument 201 * @optee: main service struct 207 static int optee_to_msg_param(struct optee *optee, in optee_to_msg_param() argument 259 * @optee: main service struct 261 static void optee_enable_shm_cache(struct optee *optee) in optee_enable_shm_cache() argument 266 optee_cq_wait_init(&optee->call_queue, &w); in optee_enable_shm_cache() 270 optee->smc.invoke_fn(OPTEE_SMC_ENABLE_SHM_CACHE, in optee_enable_shm_cache() 274 optee_cq_wait_for_completion(&optee->call_queue, &w); in optee_enable_shm_cache() 276 optee_cq_wait_final(&optee->call_queue, &w); in optee_enable_shm_cache() [all …]
|
| D | core.c | 91 struct optee *optee = tee_get_drvdata(teedev); in optee_open() local 97 if (teedev == optee->supp_teedev) { in optee_open() 100 mutex_lock(&optee->supp.mutex); in optee_open() 101 if (!optee->supp.ctx) { in optee_open() 103 optee->supp.ctx = ctx; in optee_open() 105 mutex_unlock(&optee->supp.mutex); in optee_open() 111 if (!optee->scan_bus_done) { in optee_open() 112 INIT_WORK(&optee->scan_bus_work, optee_bus_scan); in optee_open() 113 optee->scan_bus_wq = create_workqueue("optee_bus_scan"); in optee_open() 114 if (!optee->scan_bus_wq) { in optee_open() [all …]
|
| D | call.c | 34 * (optee->rpc_param_count). 135 void optee_shm_arg_cache_init(struct optee *optee, u32 flags) in optee_shm_arg_cache_init() argument 137 INIT_LIST_HEAD(&optee->shm_arg_cache.shm_args); in optee_shm_arg_cache_init() 138 mutex_init(&optee->shm_arg_cache.mutex); in optee_shm_arg_cache_init() 139 optee->shm_arg_cache.flags = flags; in optee_shm_arg_cache_init() 142 void optee_shm_arg_cache_uninit(struct optee *optee) in optee_shm_arg_cache_uninit() argument 144 struct list_head *head = &optee->shm_arg_cache.shm_args; in optee_shm_arg_cache_uninit() 147 mutex_destroy(&optee->shm_arg_cache.mutex); in optee_shm_arg_cache_uninit() 187 struct optee *optee = tee_get_drvdata(ctx->teedev); in optee_get_msg_arg() local 188 size_t sz = optee_msg_arg_size(optee->rpc_param_count); in optee_get_msg_arg() [all …]
|
| D | rpc.c | 39 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 142 if (optee_notif_wait(optee, arg->params[0].u.value.b)) in handle_rpc_func_cmd_wq() 146 if (optee_notif_send(optee, arg->params[0].u.value.b)) in handle_rpc_func_cmd_wq() 181 static void handle_rpc_supp_cmd(struct tee_context *ctx, struct optee *optee, in handle_rpc_supp_cmd() argument 195 if (optee->ops->from_msg_param(optee, params, arg->num_params, in handle_rpc_supp_cmd() 203 if (optee->ops->to_msg_param(optee, arg->params, arg->num_params, in handle_rpc_supp_cmd() 214 struct optee *optee = tee_get_drvdata(ctx->teedev); in optee_rpc_cmd_alloc_suppl() local [all …]
|
| D | optee_private.h | 16 #define DRIVER_NAME "optee" 119 struct optee; 134 int (*to_msg_param)(struct optee *optee, 137 int (*from_msg_param)(struct optee *optee, struct tee_param *params, 143 * struct optee - main service struct 157 * @scan_bus_wq workqueue to scan optee bus and register optee drivers 158 * @scan_bus_work workq to scan optee bus and register optee drivers 160 struct optee { struct 209 int optee_notif_init(struct optee *optee, u_int max_key); 210 void optee_notif_uninit(struct optee *optee); [all …]
|
| D | Makefile | 2 obj-$(CONFIG_OPTEE) += optee.o 3 optee-objs += core.o 4 optee-objs += call.o 5 optee-objs += notif.o 6 optee-objs += rpc.o 7 optee-objs += supp.o 8 optee-objs += device.o 9 optee-objs += smc_abi.o 10 optee-objs += ffa_abi.o
|
| 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() 233 struct optee *optee = tee_get_drvdata(teedev); in optee_supp_recv() local 234 struct optee_supp *supp = &optee->supp; in optee_supp_recv() 342 struct optee *optee = tee_get_drvdata(teedev); in optee_supp_send() local 343 struct optee_supp *supp = &optee->supp; in optee_supp_send()
|
| D | device.c | 74 if (dev_set_name(&optee_device->dev, "optee-ta-%pUb", device_uuid)) { in optee_register_device() 167 if (!strncmp(dev_name(dev), "optee-ta", strlen("optee-ta"))) in __optee_unregister_device()
|
| D | optee_trace.h | 3 * optee trace points 10 #define TRACE_SYSTEM optee
|
| D | Kconfig | 3 config OPTEE config
|
| /Linux-v6.1/Documentation/devicetree/bindings/arm/firmware/ |
| D | linaro,optee-tz.yaml | 4 $id: http://devicetree.org/schemas/arm/firmware/linaro,optee-tz.yaml# 22 const: optee 25 const: linaro,optee-tz 41 register assignments are specified in drivers/tee/optee/optee_smc.h 53 optee { 54 compatible = "linaro,optee-tz"; 62 optee { 63 compatible = "linaro,optee-tz";
|
| /Linux-v6.1/arch/arm/boot/dts/ |
| D | stm32mp15-scmi.dtsi | 9 optee: optee { label 10 compatible = "linaro,optee-tz"; 15 compatible = "linaro,scmi-optee"; 18 linaro,optee-channel-id = <0>;
|
| /Linux-v6.1/Documentation/devicetree/bindings/firmware/ |
| D | arm,scmi.yaml | 43 - const: linaro,scmi-optee 97 linaro,optee-channel-id: 220 linaro,optee-channel-id: 262 const: linaro,scmi-optee 265 - linaro,optee-channel-id 393 compatible = "linaro,scmi-optee"; 394 linaro,optee-channel-id = <0>; 401 linaro,optee-channel-id = <1>; 425 cpu_optee_lpri0: optee-sram-section@0 {
|
| /Linux-v6.1/Documentation/ABI/testing/ |
| 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.
|
| /Linux-v6.1/arch/arm/mach-at91/ |
| D | sam_secure.c | 32 /* If optee has been detected, then we are running in normal world */ in sam_linux_is_optee_available() 45 np = of_find_node_by_path("/firmware/optee"); in sam_secure_init()
|
| /Linux-v6.1/arch/arm64/boot/dts/mediatek/ |
| D | pumpkin-common.dtsi | 20 optee: optee@4fd00000 { label 21 compatible = "linaro,optee-tz";
|
| D | mt8195-demo.dts | 29 optee { 30 compatible = "linaro,optee-tz"; 74 optee_reserved: optee@43200000 {
|
| /Linux-v6.1/drivers/firmware/arm_scmi/ |
| D | optee.c | 317 dev_dbg(dev, "Optee bus not yet ready\n"); in scmi_optee_link_supplier() 319 /* Wait for optee bus */ in scmi_optee_link_supplier() 324 dev_err(dev, "Adding link to supplier optee device failed\n"); in scmi_optee_link_supplier() 335 return !of_property_read_u32_index(dev->of_node, "linaro,optee-channel-id", in scmi_optee_chan_available() 425 ret = of_property_read_u32_index(cinfo->dev->of_node, "linaro,optee-channel-id", in scmi_optee_chan_setup() 620 .name = "scmi-optee",
|
| D | Kconfig | 59 depends on OPTEE=y || OPTEE=ARM_SCMI_PROTOCOL
|
| /Linux-v6.1/arch/arm64/boot/dts/socionext/ |
| D | uniphier-ld20-akebi96.dts | 96 optee { 97 compatible = "linaro,optee-tz";
|
| /Linux-v6.1/arch/arm64/boot/dts/ti/ |
| D | k3-am62.dtsi | 24 optee { 25 compatible = "linaro,optee-tz";
|
| D | k3-am64.dtsi | 40 optee { 41 compatible = "linaro,optee-tz";
|
| /Linux-v6.1/drivers/tee/ |
| D | Makefile | 6 obj-$(CONFIG_OPTEE) += optee/
|