diff options
Diffstat (limited to 'plat/xilinx/zynqmp/pm_service/pm_svc_main.c')
-rw-r--r-- | plat/xilinx/zynqmp/pm_service/pm_svc_main.c | 8 |
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], |