[PATCH v5 2/2] firmware: zynqmp: return status in EL2 from xilinx_pm_request.

Michal Simek michal.simek at xilinx.com
Fri Oct 15 16:58:20 CEST 2021



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 at 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


More information about the U-Boot mailing list