Merge "qseecom: add new SCM ID to register listener when smcinvoke is supported"

This commit is contained in:
Linux Build Service Account 2017-02-15 17:01:16 -08:00 committed by Gerrit - the friendly Code Review server
commit 66bdfb7e6d
2 changed files with 11 additions and 2 deletions

View file

@ -562,7 +562,6 @@ static int qseecom_scm_call2(uint32_t svc_id, uint32_t tz_cmd_id,
case QSEOS_REGISTER_LISTENER: { case QSEOS_REGISTER_LISTENER: {
struct qseecom_register_listener_ireq *req; struct qseecom_register_listener_ireq *req;
struct qseecom_register_listener_64bit_ireq *req_64bit; struct qseecom_register_listener_64bit_ireq *req_64bit;
smc_id = TZ_OS_REGISTER_LISTENER_ID;
desc.arginfo = desc.arginfo =
TZ_OS_REGISTER_LISTENER_ID_PARAM_ID; TZ_OS_REGISTER_LISTENER_ID_PARAM_ID;
if (qseecom.qsee_version < QSEE_VERSION_40) { if (qseecom.qsee_version < QSEE_VERSION_40) {
@ -579,8 +578,15 @@ static int qseecom_scm_call2(uint32_t svc_id, uint32_t tz_cmd_id,
desc.args[1] = req_64bit->sb_ptr; desc.args[1] = req_64bit->sb_ptr;
desc.args[2] = req_64bit->sb_len; desc.args[2] = req_64bit->sb_len;
} }
smc_id = TZ_OS_REGISTER_LISTENER_SMCINVOKE_ID;
__qseecom_reentrancy_check_if_no_app_blocked(smc_id); __qseecom_reentrancy_check_if_no_app_blocked(smc_id);
ret = scm_call2(smc_id, &desc); ret = scm_call2(smc_id, &desc);
if (ret) {
smc_id = TZ_OS_REGISTER_LISTENER_ID;
__qseecom_reentrancy_check_if_no_app_blocked(
smc_id);
ret = scm_call2(smc_id, &desc);
}
break; break;
} }
case QSEOS_DEREGISTER_LISTENER: { case QSEOS_DEREGISTER_LISTENER: {

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. * Copyright (c) 2013-2017, The Linux Foundation. All rights reserved.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and * it under the terms of the GNU General Public License version 2 and
@ -511,6 +511,9 @@ __packed struct qseecom_continue_blocked_request_ireq {
#define TZ_OS_REGISTER_LISTENER_ID \ #define TZ_OS_REGISTER_LISTENER_ID \
TZ_SYSCALL_CREATE_SMC_ID(TZ_OWNER_QSEE_OS, TZ_SVC_LISTENER, 0x01) TZ_SYSCALL_CREATE_SMC_ID(TZ_OWNER_QSEE_OS, TZ_SVC_LISTENER, 0x01)
#define TZ_OS_REGISTER_LISTENER_SMCINVOKE_ID \
TZ_SYSCALL_CREATE_SMC_ID(TZ_OWNER_QSEE_OS, TZ_SVC_LISTENER, 0x06)
#define TZ_OS_REGISTER_LISTENER_ID_PARAM_ID \ #define TZ_OS_REGISTER_LISTENER_ID_PARAM_ID \
TZ_SYSCALL_CREATE_PARAM_ID_3( \ TZ_SYSCALL_CREATE_PARAM_ID_3( \
TZ_SYSCALL_PARAM_TYPE_VAL, TZ_SYSCALL_PARAM_TYPE_BUF_RW, \ TZ_SYSCALL_PARAM_TYPE_VAL, TZ_SYSCALL_PARAM_TYPE_BUF_RW, \