
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.fiergolski@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;
} return ret; }ret = (int)regs.regs[0];
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