[PATCH 1/2] firmware: xilinx: Update the zynqmp_pm_load_pdi() API

From: Nava kishore Manne
Date: Thu Jan 23 2025 - 05:35:45 EST


Update the zynqmp_pm_load_pdi() API to handle the firmware
error’s properly.

Signed-off-by: Nava kishore Manne <nava.kishore.manne@xxxxxxx>
---
drivers/firmware/xilinx/zynqmp.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/firmware/xilinx/zynqmp.c b/drivers/firmware/xilinx/zynqmp.c
index 720fa8b5d8e9..ea04a6ac402d 100644
--- a/drivers/firmware/xilinx/zynqmp.c
+++ b/drivers/firmware/xilinx/zynqmp.c
@@ -1483,8 +1483,16 @@ EXPORT_SYMBOL_GPL(zynqmp_pm_set_requirement);
*/
int zynqmp_pm_load_pdi(const u32 src, const u64 address)
{
- return zynqmp_pm_invoke_fn(PM_LOAD_PDI, NULL, 3, src, lower_32_bits(address),
- upper_32_bits(address));
+ u32 ret_payload[PAYLOAD_ARG_CNT];
+ int ret;
+
+ ret = zynqmp_pm_invoke_fn(PM_LOAD_PDI, ret_payload, 3, src,
+ lower_32_bits(address),
+ upper_32_bits(address));
+ if (ret_payload[0])
+ return ret_payload[0];
+
+ return ret;
}
EXPORT_SYMBOL_GPL(zynqmp_pm_load_pdi);

--
2.25.1