On 10/14/21 14:43, Adrian Fiergolski wrote:
This patch fixes xilinx_pm_request to return a valid status from
xilinx_pm_request in EL2.
Signed-off-by: Adrian Fiergolski <adrian.fiergol...@fastree3d.com>
---
drivers/firmware/firmware-zynqmp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/firmware/firmware-zynqmp.c
b/drivers/firmware/firmware-zynqmp.c
index 8273437dd9..34ad7fb985 100644
--- a/drivers/firmware/firmware-zynqmp.c
+++ b/drivers/firmware/firmware-zynqmp.c
@@ -208,7 +208,7 @@ int __maybe_unused xilinx_pm_request(u32 api_id, u32 arg0,
u32 arg1, u32 arg2,
ret_payload[4] = (u32)regs.regs[2];
}
- ret = (ret_payload) ? ret_payload[0] : 0;
+ ret = (int)regs.regs[0];
}
return ret;
}
I have tested this series and our expectation that regs.regs[0] is
return value is not unfortunately correct. mmio_read/write are not
aligned to it. And when you try to boot you will see hang without any
message.
I sent 2 patches as suggestion how we could do it via ipi_req().
Please take a look at it and let me know your opinion.
Thanks,
Michal