diff options
| -rw-r--r-- | plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c b/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c index 0f7d3756e..7c88eb2fc 100644 --- a/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c +++ b/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c @@ -1922,6 +1922,7 @@ enum pm_ret_status pm_pll_get_mode(enum pm_node_id nid, enum pm_pll_mode *mode, uint32_t flag) { uint32_t payload[PAYLOAD_ARG_CNT]; + uint32_t mode_val = 0U; enum pm_ret_status ret = PM_RET_SUCCESS; /* Check if given node ID is a PLL node */ @@ -1930,7 +1931,10 @@ enum pm_ret_status pm_pll_get_mode(enum pm_node_id nid, enum pm_pll_mode *mode, } else { /* Send request to the PMU */ PM_PACK_PAYLOAD2(payload, flag, PM_PLL_GET_MODE, nid); - ret = pm_ipi_send_sync(primary_proc, payload, mode, 1); + ret = pm_ipi_send_sync(primary_proc, payload, &mode_val, 1); + if (ret == PM_RET_SUCCESS) { + *mode = (enum pm_pll_mode)mode_val; + } } return ret; |
