From f816f787e2f99c3083c0db052a62e0b596c3bf6d Mon Sep 17 00:00:00 2001 From: Mahesh Rao Date: Thu, 22 Jun 2023 05:50:42 +0000 Subject: [PATCH] drivers: sip_svc: sip_smc_intel_socfpga: Log execution time Log execution time for each svc call. Signed-off-by: Mahesh Rao --- drivers/sip_svc/sip_smc_intel_socfpga.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/sip_svc/sip_smc_intel_socfpga.c b/drivers/sip_svc/sip_smc_intel_socfpga.c index 096bf0beb70..b4db6d48a86 100644 --- a/drivers/sip_svc/sip_smc_intel_socfpga.c +++ b/drivers/sip_svc/sip_smc_intel_socfpga.c @@ -172,8 +172,9 @@ static void intel_sip_secure_monitor_call(const struct device *dev, unsigned lon { __ASSERT_NO_MSG(dev != NULL); __ASSERT_NO_MSG(res != NULL); + uint64_t start, end; - LOG_INF("Before %s call", DT_PROP(DT_SIP_SMC, method)); + LOG_DBG("Before %s call", DT_PROP(DT_SIP_SMC, method)); LOG_DBG("\tfunction_id %08lx", function_id); LOG_DBG("\targ0 %08lx", arg0); LOG_DBG("\targ1 %08lx", arg1); @@ -183,9 +184,14 @@ static void intel_sip_secure_monitor_call(const struct device *dev, unsigned lon LOG_DBG("\targ5 %08lx", arg5); LOG_DBG("\targ6 %08lx", arg6); + start = k_cycle_get_64(); arm_smccc_smc(function_id, arg0, arg1, arg2, arg3, arg4, arg5, arg6, res); + end = k_cycle_get_64(); - LOG_INF("After %s call", DT_PROP(DT_SIP_SMC, method)); + LOG_INF("Time taken for %08lx is %08lld ns", function_id, + k_cyc_to_ns_ceil64(end - start)); + + LOG_DBG("After %s call", DT_PROP(DT_SIP_SMC, method)); LOG_DBG("\tres->a0 %08lx", res->a0); LOG_DBG("\tres->a1 %08lx", res->a1); LOG_DBG("\tres->a2 %08lx", res->a2);