Lines Matching refs:ffa

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()
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()
103 mutex_lock(&optee->ffa.mutex); in optee_shm_rem_ffa_handle()
104 r = rhashtable_lookup_fast(&optee->ffa.global_ids, &global_id, in optee_shm_rem_ffa_handle()
107 rc = rhashtable_remove_fast(&optee->ffa.global_ids, in optee_shm_rem_ffa_handle()
109 mutex_unlock(&optee->ffa.mutex); in optee_shm_rem_ffa_handle()
275 struct ffa_device *ffa_dev = optee->ffa.ffa_dev; in optee_ffa_shm_register()
318 struct ffa_device *ffa_dev = optee->ffa.ffa_dev; in optee_ffa_shm_unregister()
358 mem_ops = optee->ffa.ffa_dev->ops->mem_ops; in optee_ffa_shm_unregister_supp()
536 struct ffa_device *ffa_dev = optee->ffa.ffa_dev; in optee_ffa_yielding_call()
735 struct optee *optee = container_of(optee_ffa, struct optee, ffa); in notif_work_fn()
744 if (notify_id == optee->ffa.bottom_half_value) in notif_callback()
745 queue_work(optee->ffa.notif_wq, &optee->ffa.notif_work); in notif_callback()
752 struct ffa_device *ffa_dev = optee->ffa.ffa_dev; in enable_async_notif()
755 .data1 = optee->ffa.bottom_half_value, in enable_async_notif()
827 u32 bottom_half_id = optee->ffa.bottom_half_value; in optee_ffa_remove()
832 destroy_workqueue(optee->ffa.notif_wq); in optee_ffa_remove()
836 mutex_destroy(&optee->ffa.mutex); in optee_ffa_remove()
837 rhashtable_free_and_destroy(&optee->ffa.global_ids, rh_free_fn, NULL); in optee_ffa_remove()
849 INIT_WORK(&optee->ffa.notif_work, notif_work_fn); in optee_ffa_async_notif_init()
850 optee->ffa.notif_wq = create_workqueue("optee_notification"); in optee_ffa_async_notif_init()
851 if (!optee->ffa.notif_wq) { in optee_ffa_async_notif_init()
877 optee->ffa.bottom_half_value = notif_id; in optee_ffa_async_notif_init()
887 destroy_workqueue(optee->ffa.notif_wq); in optee_ffa_async_notif_init()
889 optee->ffa.bottom_half_value = U32_MAX; in optee_ffa_async_notif_init()
932 optee->ffa.ffa_dev = ffa_dev; in optee_ffa_probe()
933 optee->ffa.bottom_half_value = U32_MAX; in optee_ffa_probe()
966 rc = rhashtable_init(&optee->ffa.global_ids, &shm_rhash_params); in optee_ffa_probe()
969 mutex_init(&optee->ffa.mutex); in optee_ffa_probe()
1004 if (optee->ffa.bottom_half_value != U32_MAX) in optee_ffa_probe()
1006 optee->ffa.bottom_half_value); in optee_ffa_probe()
1011 rhashtable_free_and_destroy(&optee->ffa.global_ids, rh_free_fn, NULL); in optee_ffa_probe()
1016 mutex_destroy(&optee->ffa.mutex); in optee_ffa_probe()