From fa58171534976f94b93a44184afd050d8225e404 Mon Sep 17 00:00:00 2001 From: Abhyuday Godhasara Date: Thu, 24 Jun 2021 05:50:44 -0700 Subject: [PATCH] fix(plat/xilinx/versal): use sync method for blocking calls All API calls except non-blocking should wait for IPI response and read buffer to check return status from firmware. Some of API calls are not reading status from IPI payload data. Use sync method which reads actual return status from IPI payload. Signed-off-by: Abhyuday Godhasara Change-Id: I6f568b85d0da639c264f507122e3015807d8423d --- plat/xilinx/versal/pm_service/pm_api_sys.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plat/xilinx/versal/pm_service/pm_api_sys.c b/plat/xilinx/versal/pm_service/pm_api_sys.c index 15fe187eb..912835a15 100644 --- a/plat/xilinx/versal/pm_service/pm_api_sys.c +++ b/plat/xilinx/versal/pm_service/pm_api_sys.c @@ -173,7 +173,7 @@ enum pm_ret_status pm_abort_suspend(enum pm_abort_reason reason, uint32_t flag) /* Send request to the PLM */ PM_PACK_PAYLOAD3(payload, LIBPM_MODULE_ID, flag, PM_ABORT_SUSPEND, reason, primary_proc->node_id); - return pm_ipi_send(primary_proc, payload); + return pm_ipi_send_sync(primary_proc, payload, NULL, 0); } /** @@ -909,7 +909,7 @@ enum pm_ret_status pm_set_wakeup_source(uint32_t target, uint32_t wkup_device, PM_PACK_PAYLOAD4(payload, LIBPM_MODULE_ID, flag, PM_SET_WAKEUP_SOURCE, target, wkup_device, enable); - return pm_ipi_send(primary_proc, payload); + return pm_ipi_send_sync(primary_proc, payload, NULL, 0); } /**