Home
last modified time | relevance | path

Searched full:optee (Results 1 – 25 of 108) sorted by relevance

12345

/linux/drivers/tee/optee/
H A Dffa_abi.c59 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 Dcore.c37 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()
67 struct optee *optee = dev_get_drvdata(dev); in rpmb_routing_model_show() local
70 if (optee->in_kernel_rpmb_routing) in rpmb_routing_model_show()
86 void optee_set_dev_group(struct optee *optee) in optee_set_dev_group() argument
88 tee_device_set_dev_groups(optee->teedev, optee_dev_groups); in optee_set_dev_group()
89 tee_device_set_dev_groups(optee->supp_teedev, optee_dev_groups); in optee_set_dev_group()
[all …]
H A Dsmc_abi.c132 * @optee: main service struct
138 static int optee_from_msg_param(struct optee *optee, struct tee_param *params, in optee_from_msg_param() argument
222 * @optee: main service struct
228 static int optee_to_msg_param(struct optee *optee, in optee_to_msg_param() argument
280 * @optee: main service struct
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()
[all …]
H A Drpc.c40 struct optee *optee = tee_get_drvdata(ctx->teedev); in handle_rpc_func_cmd_i2c_transfer() local
65 if (optee->ops->from_msg_param(optee, params, arg->num_params, in handle_rpc_func_cmd_i2c_transfer()
109 if (optee->ops->to_msg_param(optee, arg->params, in handle_rpc_func_cmd_i2c_transfer()
131 static void handle_rpc_func_cmd_wq(struct optee *optee, in handle_rpc_func_cmd_wq() argument
145 rc = optee_notif_wait(optee, arg->params[0].u.value.b, arg->params[0].u.value.c); in handle_rpc_func_cmd_wq()
150 if (optee_notif_send(optee, arg->params[0].u.value.b)) in handle_rpc_func_cmd_wq()
188 static void handle_rpc_supp_cmd(struct tee_context *ctx, struct optee *optee, in handle_rpc_supp_cmd() argument
202 if (optee->ops->from_msg_param(optee, params, arg->num_params, in handle_rpc_supp_cmd()
210 if (optee->ops->to_msg_param(optee, arg->params, arg->num_params, in handle_rpc_supp_cmd()
221 struct optee *optee = tee_get_drvdata(ctx->teedev); in optee_rpc_cmd_alloc_suppl() local
[all …]
H A Dnotif.c21 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 Doptee_private.h18 #define DRIVER_NAME "optee"
124 * @optee optee device reference
127 struct optee *optee; member
131 * struct optee_smc - optee smc communication struct
137 * @optee_pcpu per_cpu optee instance for per cpu work or NULL
170 struct optee;
186 int (*to_msg_param)(struct optee *optee,
189 int (*from_msg_param)(struct optee *optee, struct tee_param *params,
195 * struct optee - main service struct
211 * @rpmb_scan_bus_work workq to for an RPMB device and to scan optee bus
[all …]
H A Dcall.c34 * (optee->rpc_param_count).
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()
[all …]
H A DMakefile2 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
H A Dsupp.c80 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()
H A DKconfig3 config OPTEE config
15 depends on OPTEE && ARM64
H A Ddevice.c90 if (dev_set_name(&optee_device->dev, "optee-ta-%pUb", device_uuid)) { in optee_register_device()
188 if (!strncmp(dev_name(dev), "optee-ta", strlen("optee-ta"))) in __optee_unregister_device()
H A Doptee_trace.h3 * optee trace points
10 #define TRACE_SYSTEM optee
/linux/Documentation/devicetree/bindings/arm/firmware/
H A Dlinaro,optee-tz.yaml4 $id: http://devicetree.org/schemas/arm/firmware/linaro,optee-tz.yaml#
22 const: optee
25 const: linaro,optee-tz
42 register assignments are specified in drivers/tee/optee/optee_smc.h
54 optee {
55 compatible = "linaro,optee-tz";
63 optee {
64 compatible = "linaro,optee-tz";
/linux/arch/arm/boot/dts/st/
H A Dstm32mp15-scmi.dtsi9 optee: optee { label
10 compatible = "linaro,optee-tz";
15 compatible = "linaro,scmi-optee";
18 linaro,optee-channel-id = <0>;
H A Dstm32mp157a-dk1-scmi.dts17 optee@de000000 {
65 &optee {
H A Dstm32mp157c-ed1-scmi.dts17 optee@fe000000 {
70 &optee {
H A Dstm32mp157c-dk2-scmi.dts17 optee@de000000 {
71 &optee {
H A Dstm32mp157c-ev1-scmi.dts17 optee@fe000000 {
75 &optee {
/linux/Documentation/devicetree/bindings/firmware/
H A Darm,scmi.yaml53 - const: linaro,scmi-optee
139 linaro,optee-channel-id:
340 linaro,optee-channel-id:
385 const: linaro,scmi-optee
388 - linaro,optee-channel-id
535 compatible = "linaro,scmi-optee";
536 linaro,optee-channel-id = <0>;
543 linaro,optee-channel-id = <1>;
567 cpu_optee_lpri0: optee-sram-section@0 {
/linux/Documentation/ABI/testing/
H A Dsysfs-bus-optee-devices1 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/arm/mach-at91/
H A Dsam_secure.c32 /* 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/arch/arm64/boot/dts/mediatek/
H A Dpumpkin-common.dtsi20 optee: optee { label
21 compatible = "linaro,optee-tz";
/linux/arch/arm64/boot/dts/socionext/
H A Duniphier-ld20-akebi96.dts96 optee {
97 compatible = "linaro,optee-tz";
/linux/Documentation/tee/
H A Dop-tee.rst66 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
/linux/drivers/firmware/arm_scmi/transports/
H A Doptee.c319 return !of_property_read_u32_index(of_node, "linaro,optee-channel-id", in scmi_optee_chan_available()
382 ret = of_property_read_u32_index(cinfo->dev->of_node, "linaro,optee-channel-id", in scmi_optee_chan_setup()
522 { .compatible = "linaro,scmi-optee" },
611 .name = "scmi-optee",
631 MODULE_DESCRIPTION("SCMI OPTEE Transport driver");

12345