Commit Graph

19 Commits

Author SHA1 Message Date
Wentao.Sun 255873f476 tee: support hibernate mode for tee [1/1]
PD#SWPL-172131

Problem:
optee crashed in hibernate mode

Solution:
register freeze and restore functions

Verify:
Android U + T7

Change-Id: I317891404d28a7cfa76a282a6f91ca4d736b8538
Signed-off-by: Wentao.Sun <wentao.sun@amlogic.com>
2024-07-28 23:47:08 -07:00
Liqiang Jin b0159a7126 Data pipe: Optimize code [3/3]
PD#RSP-6352

Problem:
Need to optimize code

Solution:
Modify code

Verify:
Android U + S7

Change-Id: I18d32e1a922479761766c9ca0f9e078898db0115
Signed-off-by: Liqiang Jin <liqiang.jin@amlogic.com>
2024-05-22 01:59:54 -07:00
Liqiang Jin 7e8b42cb09 Data pipe: Remove data pipe pool [2/3]
PD#RSP-6352

Problem:
Need to simplify code

Solution:
Update code

Verify:
Android U + S7

Change-Id: I0116e5e3044899f111c63951fa6ddda4c63a9fb3
Signed-off-by: Liqiang Jin <liqiang.jin@amlogic.com>
2024-05-21 00:06:40 -07:00
Liqiang Jin 526809711a Data pipe: Lock global variables [1/3]
PD#RSP-6350

Problem:
Multiple threads updating the same global variable causes data error

Solution:
Lock global variables

Verify:
Android U + S7

Change-Id: Id65a397c4bcb6566b6f35c143f4391913b9ba996
Signed-off-by: Liqiang Jin <liqiang.jin@amlogic.com>
2024-05-20 23:55:44 -07:00
Wentao.Sun 12ba2853ce TEE: compatible dynamic SHM for different platform [1/2]
PD#SWPL-100275

Problem:
Dynamic SHM will be enabled after TDK3.18, but some platform
not support TDK3.18, so compatible different platform.

Solution:
Compatible Dynamic SHM for different platform

Verify:
AndroidU + S7

Change-Id: I57a7f6a557ecf11e085027e0c6338767b0ee5ce0
Signed-off-by: Wentao.Sun <wentao.sun@amlogic.com>
2024-04-12 08:03:56 -07:00
Hangyu Li 56cc55aa8a mm: fix cma allocation stuck problem. [1/1]
PD#SWPL-161071

Problem:
cma alloc stuck.

Solution:
add FOLL_LONGTERM flags in pin page.

Verify:
S7.

Change-Id: Id011372a9431e07e69e1ee27ea134acda6959c82
Signed-off-by: Hangyu Li <hangyu.li@amlogic.com>
2024-04-09 06:08:59 -07:00
Wentao.Sun ea6f4f82fb logger: fix logger and shm will be reused issue [1/1]
PD#RSP-5982
PD#SWPL-101942

Problem:
logger and shm will be reused if logger contained in shm

Solution:
carve out logger memory if logger is contained in shm

Verify:
AndroidU + sc2

Change-Id: I8d6e9ea837f5e664bc5a41024bb1260a72017a0f
Signed-off-by: Wentao.Sun <wentao.sun@amlogic.com>
2024-01-03 22:18:46 -07:00
Shuo Liu f5184669cd aml_tee: Coverity clean [1/1]
PD#SWPL-134421

Problem:
Coverity check failed

Solution:
Fix coverity error

Verify:
Local check

Change-Id: Ibc4a8a8abbb3bddd0b3b836726f08756365ff5b6
Signed-off-by: Shuo Liu <shuo.liu@amlogic.com>
2023-09-11 04:18:36 -07:00
Hangyu Li 7b2cc121ec tee: rename AML_TEE,AML_OPTEE to AMLOGIC_AMLTEE,AMLOGIC_OPTEE [1/1]
PD#SWPL-136287

Problem:
The configuration name in kernel 5.15 is starting with "AMLOGIC_",
in order to unify configuration name, modify AML_TEE,AML_OPTEE to
AMLOGIC_AMLTEE,AMLOGIC_OPTEE.

Solution:
rename AMLTEE,AMLOGIC_OPTEE to AMLOGIC_AMLTEE,AMLOGIC_OPTEE

Verify:
Android + Kernel 5.15

Change-Id: I25be69bb990b7e86026790a9a64f64a473e9adfc
Signed-off-by: Hangyu Li <hangyu.li@amlogic.com>
2023-08-25 01:54:11 -07:00
Wentao.Sun 647993f2aa TEE: logger: fix logger always used 256k memory in reserved shm [1/2]
PD#RSP-5413

Problem:
1. when logger is disabled, 256k memory is reserved for logger
2. when dyn shm is enabled, reserved shm may be not exist
3. the memory size for logger can not be config

Solution:
refactor the logger driver.
1.add smc call to get log buffer address and size from TEE
2.config the logger memory size in TEE
3.compatible logger v1/v2

Verify:
AndroidT + sc2_ah212

Change-Id: I922536ac7dabd2ba74d7dae316aa2173e9b8cd20
Signed-off-by: Wentao.Sun <wentao.sun@amlogic.com>
2023-07-26 05:51:15 -07:00
Wentao.Sun a840108b66 TEE: disable dynamic share memory [1/1]
PD#RSP-5315

Problem:
TA can not be loaded via supplicant 3.18,
when dynamic share memory is enabled in TEE OS

Solution:
disable dynamic share memory in driver

Verify:
androidT + sc2_ah212

Change-Id: If80fd8a022460c6e1f0f694ec3867d27f5173713
Signed-off-by: Wentao.Sun <wentao.sun@amlogic.com>
2023-06-25 00:06:46 -07:00
Hangyu Li 36019fb407 tee: use cancel_delayed_work() in rpc timer destroy [1/1]
PD#SWPL-127281

Problem:
reboot stress test crash, wait for cancel_delayed_work_sync timeout
[ 5051.431765][4 T52    ..] __mutex_lock+0x320/0x7a4
[ 5051.436533][4 T52    ..] __mutex_lock_slowpath+0x18/0x28
[ 5051.441906][4 T52    ..] mutex_lock+0x48/0xec
[ 5051.446329][4 T52    ..] optee_timer_destroy+0x24/0xe8 [optee]
[ 5051.452219][4 T52    ..] optee_shutdown+0x1c/0x30 [optee]
......
[ 5051.700172][4 T52    ..] schedule_timeout+0x48/0x134
[ 5051.705199][4 T52    ..] wait_for_common+0xa8/0x138
[ 5051.710139][4 T52    ..] wait_for_completion+0x1c/0x2c
[ 5051.715339][4 T52    ..] __flush_work.llvm.17423768755547769278+0x268/0x2e4
[ 5051.722359][4 T52    ..] __cancel_work_timer.llvm...55547769278+0x128/0x204
[ 5051.729986][4 T52    ..] cancel_delayed_work_sync+0x18/0x2c
[ 5051.735619][4 T52    ..] optee_rpc_cmd+0x12c/0x6cc [optee]
[ 5051.741165][4 T52    ..] optee_smc_do_call_with_arg+0x32c/0x86c [optee]
[ 5051.747839][4 T52    ..] optee_close_session_helper+0x9c/0x114 [optee]

Solution:
use cancel_delayed_work() instead of cancel_delayed_work_sync(),
do not block for complete

Verify:
t3x + androidT

Change-Id: I9314dce4b7d069cf0d08385acffc8812f5a9ee59
Signed-off-by: Hangyu Li <hangyu.li@amlogic.com>
2023-06-14 01:42:45 -07:00
Wentao.Sun 471d01ac38 logger: compatible logger for dynamic and static share memory [1/1]
PD#SWPL-101942

Problem:
logger is invalid if dynamic share memory enabled

Solution:
compatible logger for dynamic and static share memory

Verify:
Android T + sc2_ah212

Change-Id: I012f4543089fea2706d89a5ba294c7d0eb5cd748
Signed-off-by: Wentao.Sun <wentao.sun@amlogic.com>
2023-04-07 02:10:51 -07:00
gerrit autosubmit e10e5a49db Merge "tee: integrate optee linuxdriver into smarthome kernel5.15 [1/1]" into amlogic-5.15-dev 2023-03-23 03:56:13 -07:00
rui guo 374f6fe0fe optee: random reboot fail [1/1]
PD#SWPL-113770

Problem:
reboot fail

Solution:
disable optee_disable_shm_cache temporary

Verify:
SC2

Change-Id: I5f079f052ff1f9bae2993c683988fbe67ec36bc9
Signed-off-by: rui guo <rui.guo@amlogic.com>
2023-03-22 04:27:13 -07:00
Hangyu Li 159613fdf1 tee: integrate optee linuxdriver into smarthome kernel5.15 [1/1]
PD#SWPL-115975

Problem:
integrate optee linuxdriver into smarthome kernel5.15

Solution:
enable CONFIG_AML_TEE, CONFIG_AML_OPTEE as module

Verify:
C3

Change-Id: Idd0ba09c1aa2774b07b858a59ff6c6d98b77b940
Signed-off-by: Hangyu Li <hangyu.li@amlogic.com>
2023-03-22 01:42:40 -07:00
rui guo 2419167c4e optee: random reboot fail [1/1]
PD#SWPL-113770

Problem:
when shutting down, log timer wait for queue
resources to be released

Solution:
release the waiting queue resource when
shutting down

Verify:
S4 + Android T

Change-Id: Ife33bc001592ddddcc7eca2e6e7df558df945c8d
Signed-off-by: rui guo <rui.guo@amlogic.com>
2023-03-21 02:14:19 -07:00
Liqiang Jin e5eaac6d1e optee: change vmx-socket API from socket to ioctl for kernel 5.15 [1/1]
PD#SWPL-114262

Problem:
selinux blocks the socket

Solution:
change vmx-socket API from socket to ioctl for kernel 5.15

Verify:
Android T + AH212(SC2)

Change-Id: Iba760d5593eed4b73f95add52599cb8342edd67a
Signed-off-by: Liqiang Jin <liqiang.jin@amlogic.com>
2023-03-13 22:46:43 -07:00
Hangyu Li 02322b8dc5 tee: integrate tee linux driver 3.18 [1/1]
PD#SWPL-100078
PD#SWPL-100278

Problem:
need to change tdk_linuxdriver to linux kernel

Solution:
update tee driver from linaro-swg/linux upstream
https://github.com/linaro-swg/linux
upstream tag: optee-3.19.0
upstream commit: 29aee39cfa
optee-3.19.0 is almost same with optee-3.18.0

Verify:
Android T + ohm + Kernel 5.15

Change-Id: Ib58f53f50e7b4be3fb87f120a9eceaea0c5803f4
Signed-off-by: Hangyu Li <hangyu.li@amlogic.com>
2023-02-24 03:56:26 -08:00