Lines Matching refs:u
64 param->u.objref.id = ret; in qcomtee_context_add_qtee_object()
66 param->u.objref.flags = QCOMTEE_OBJREF_FLAG_TEE; in qcomtee_context_add_qtee_object()
78 return find_qtee_object(object, param->u.objref.id, ctxdata); in qcomtee_context_find_qtee_object()
93 if (param->u.objref.flags & QCOMTEE_OBJREF_FLAG_TEE) in qcomtee_context_del_qtee_object()
94 del_qtee_object(param->u.objref.id, ctxdata); in qcomtee_context_del_qtee_object()
117 if (param->u.objref.id == TEE_OBJREF_NULL) in qcomtee_objref_to_arg()
121 if (param->u.objref.flags & QCOMTEE_OBJREF_FLAG_USER) in qcomtee_objref_to_arg()
124 else if (param->u.objref.flags & QCOMTEE_OBJREF_FLAG_TEE) in qcomtee_objref_to_arg()
127 else if (param->u.objref.flags & QCOMTEE_OBJREF_FLAG_MEM) in qcomtee_objref_to_arg()
166 param->u.objref.id = TEE_OBJREF_NULL; in qcomtee_objref_from_arg()
203 static int qcomtee_params_to_args(struct qcomtee_arg *u, in qcomtee_params_to_args() argument
213 u[i].flags = QCOMTEE_ARG_FLAGS_UADDR; in qcomtee_params_to_args()
214 u[i].b.uaddr = params[i].u.ubuf.uaddr; in qcomtee_params_to_args()
215 u[i].b.size = params[i].u.ubuf.size; in qcomtee_params_to_args()
219 u[i].type = QCOMTEE_ARG_TYPE_IB; in qcomtee_params_to_args()
221 u[i].type = QCOMTEE_ARG_TYPE_OB; in qcomtee_params_to_args()
225 u[i].type = QCOMTEE_ARG_TYPE_IO; in qcomtee_params_to_args()
226 if (qcomtee_objref_to_arg(&u[i], ¶ms[i], ctx)) in qcomtee_params_to_args()
231 u[i].type = QCOMTEE_ARG_TYPE_OO; in qcomtee_params_to_args()
232 u[i].o = NULL_QCOMTEE_OBJECT; in qcomtee_params_to_args()
244 if (u[i].type != QCOMTEE_ARG_TYPE_IO) in qcomtee_params_to_args()
247 qcomtee_user_object_set_notify(u[i].o, false); in qcomtee_params_to_args()
249 if (typeof_qcomtee_object(u[i].o) == QCOMTEE_OBJECT_TYPE_CB) in qcomtee_params_to_args()
250 qcomtee_object_put(u[i].o); in qcomtee_params_to_args()
252 qcomtee_object_put(u[i].o); in qcomtee_params_to_args()
272 struct qcomtee_arg *u, int num_params, in qcomtee_params_from_args() argument
277 qcomtee_arg_for_each(np, u) { in qcomtee_params_from_args()
278 switch (u[np].type) { in qcomtee_params_from_args()
281 params[np].u.ubuf.size = u[np].b.size; in qcomtee_params_from_args()
286 qcomtee_object_put(u[np].o); in qcomtee_params_from_args()
291 if (qcomtee_objref_from_arg(¶ms[np], &u[np], ctx)) in qcomtee_params_from_args()
311 for (; i < num_params && u[i].type; i++) { in qcomtee_params_from_args()
312 if (u[i].type == QCOMTEE_ARG_TYPE_OO || in qcomtee_params_from_args()
313 u[i].type == QCOMTEE_ARG_TYPE_IO) in qcomtee_params_from_args()
314 qcomtee_object_put(u[i].o); in qcomtee_params_from_args()
378 if (params[0].u.objref.id == TEE_OBJREF_NULL) in qcomtee_root_object_check()
400 struct qcomtee_arg *u __free(kfree) = NULL; in qcomtee_object_invoke()
420 u = kcalloc(arg->num_params + 1, sizeof(*u), GFP_KERNEL); in qcomtee_object_invoke()
421 if (!u) in qcomtee_object_invoke()
435 ret = qcomtee_params_to_args(u, params, arg->num_params, ctx); in qcomtee_object_invoke()
439 ret = qcomtee_object_do_invoke(oic, object, arg->op, u, &result); in qcomtee_object_invoke()
441 qcomtee_arg_for_each_input_object(i, u) { in qcomtee_object_invoke()
442 qcomtee_user_object_set_notify(u[i].o, false); in qcomtee_object_invoke()
443 qcomtee_object_put(u[i].o); in qcomtee_object_invoke()
453 if (qcomtee_params_from_args(params, u, arg->num_params, ctx)) in qcomtee_object_invoke()
462 qcomtee_arg_for_each_input_object(i, u) in qcomtee_object_invoke()
463 qcomtee_object_put(u[i].o); in qcomtee_object_invoke()
511 if (!IS_ALIGNED(params->u.value.a, 8)) in qcomtee_supp_recv()
515 uaddr = u64_to_user_ptr(params->u.value.a); in qcomtee_supp_recv()
516 ubuf_size = params->u.value.b; in qcomtee_supp_recv()
523 params->u.value.a = data.object_id; in qcomtee_supp_recv()
524 params->u.value.b = data.id; in qcomtee_supp_recv()
525 params->u.value.c = 0; in qcomtee_supp_recv()
557 req_id = params->u.value.a; in qcomtee_supp_send()
650 struct qcomtee_arg u[3] = { 0 }; in qcomtee_get_qtee_feature_list() local
668 u[0].b.addr = &id; in qcomtee_get_qtee_feature_list()
669 u[0].b.size = sizeof(id); in qcomtee_get_qtee_feature_list()
670 u[0].type = QCOMTEE_ARG_TYPE_IB; in qcomtee_get_qtee_feature_list()
673 u[1].b.addr = version; in qcomtee_get_qtee_feature_list()
674 u[1].b.size = sizeof(*version); in qcomtee_get_qtee_feature_list()
675 u[1].type = QCOMTEE_ARG_TYPE_OB; in qcomtee_get_qtee_feature_list()
677 qcomtee_object_do_invoke(oic, service, QCOMTEE_FEATURE_VER_OP_GET, u, in qcomtee_get_qtee_feature_list()