summaryrefslogtreecommitdiff
path: root/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'plat/xilinx/zynqmp/pm_service/pm_svc_main.c')
-rw-r--r--plat/xilinx/zynqmp/pm_service/pm_svc_main.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/plat/xilinx/zynqmp/pm_service/pm_svc_main.c b/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
index 67440650..e3c25c31 100644
--- a/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
+++ b/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
@@ -191,8 +191,12 @@ uint64_t pm_smc_handler(uint32_t smc_fid, uint64_t x1, uint64_t x2, uint64_t x3,
SMC_RET1(handle, (uint64_t)ret);
case PM_GET_OP_CHARACTERISTIC:
- ret = pm_get_op_characteristic(pm_arg[0], pm_arg[1]);
- SMC_RET1(handle, (uint64_t)ret);
+ {
+ uint32_t result;
+
+ ret = pm_get_op_characteristic(pm_arg[0], pm_arg[1], &result);
+ SMC_RET1(handle, (uint64_t)ret | ((uint64_t)result << 32));
+ }
case PM_REGISTER_NOTIFIER:
ret = pm_register_notifier(pm_arg[0], pm_arg[1], pm_arg[2],