summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJi Soo Shin <jisshin@google.com>2023-06-22 12:15:57 +0200
committerJi Soo Shin <jisshin@google.com>2023-06-22 12:18:02 +0200
commitfc355d5410270749aabe1916be02eafa0ec5c07d (patch)
treec7b679c353b0252bfabddc4e92906555b0f81f68
parent489e353f508a4ea20672baded8848506561c9abd (diff)
downloadtrusty-android-gs-shusky-udc-d1.tar.gz
trusty_transfer_memory itself can make multiple smc8 calls with different perimeters. We add tracepoints to breakdown more if any particular smc8 calls are taking a long time and if so to record their argument perimeters. Bug: 282074315 Change-Id: Ib21b97c3a1a807dea2adb2d1ab364be9212119fd Signed-off-by: Ji Soo Shin <jisshin@google.com>
-rw-r--r--drivers/trusty/trusty.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/trusty/trusty.c b/drivers/trusty/trusty.c
index 0ff1cf2..6cfa5af 100644
--- a/drivers/trusty/trusty.c
+++ b/drivers/trusty/trusty.c
@@ -373,12 +373,17 @@ int trusty_transfer_memory(struct device *dev, u64 *id,
u32 smc = lend ? SMC_FC_FFA_MEM_LEND :
SMC_FC_FFA_MEM_SHARE;
/* First fragment */
+ trace_trusty_smc(smc, total_len, fragment_len, 0);
smc_ret = trusty_smc8(smc, total_len,
fragment_len, 0, 0, 0, 0, 0);
+ trace_trusty_smc_done(smc_ret.r0);
} else {
+ trace_trusty_smc(SMC_FC_FFA_MEM_FRAG_TX, cookie_low,
+ cookie_high, fragment_len);
smc_ret = trusty_smc8(SMC_FC_FFA_MEM_FRAG_TX,
cookie_low, cookie_high,
fragment_len, 0, 0, 0, 0);
+ trace_trusty_smc_done(smc_ret.r0);
}
if (smc_ret.r0 == SMC_FC_FFA_MEM_FRAG_RX) {
cookie_low = smc_ret.r1;