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

Jie Gan jie.gan at oss.qualcomm.com
Thu Jan 23 22:00:15 PST 2025



On 1/23/2025 6:35 PM, Nava kishore Manne wrote:
> Update the zynqmp_pm_load_pdi() API to handle the firmware
> error’s properly.
> 
> Signed-off-by: Nava kishore Manne <nava.kishore.manne at amd.com>
> ---
>   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];
Looks a little bit hacking. As the ret_payload is u32, return as int, it 
has possibility to overflow?

> +
> +	return ret;
>   }
>   EXPORT_SYMBOL_GPL(zynqmp_pm_load_pdi);
>   

Thanks,
Jie




More information about the linux-arm-kernel mailing list