summaryrefslogtreecommitdiff
path: root/lib/psci/psci.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/psci/psci.c')
-rw-r--r--lib/psci/psci.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/lib/psci/psci.c b/lib/psci/psci.c
index d761747..682ad5c 100644
--- a/lib/psci/psci.c
+++ b/lib/psci/psci.c
@@ -97,7 +97,35 @@ int32_t tftf_psci_cpu_off(void)
smc64_ret_values ret_vals;
ret_vals = tftf_smc64(&args);
+ return ret_vals.ret0;
+}
+
+u_register_t tftf_psci_stat_residency(u_register_t target_cpu,
+ uint32_t power_state)
+{
+ smc64_args args = {
+ SMC_PSCI_STAT_RESIDENCY64,
+ target_cpu,
+ power_state,
+ };
+ smc64_ret_values ret_vals;
+
+ ret_vals = tftf_smc64(&args);
+ return ret_vals.ret0;
+}
+
+u_register_t tftf_psci_stat_count(u_register_t target_cpu,
+ uint32_t power_state)
+{
+ smc64_args args = {
+ SMC_PSCI_STAT_COUNT64,
+ target_cpu,
+ power_state,
+ };
+ smc64_ret_values ret_vals;
+
+ ret_vals = tftf_smc64(&args);
return ret_vals.ret0;
}
@@ -307,4 +335,3 @@ unsigned int tftf_get_psci_version(void)
return ret.ret0;
}
-