[U-Boot] [PATCH 12/13] firmware: zynqmp: Separate function for sending message via mailbox

Luca Ceresoli luca at lucaceresoli.net
Wed Oct 2 09:34:17 UTC 2019


Hi Michal,

On 27/09/19 15:35, Michal Simek wrote:
> U-Boot running in EL3 can't use SMC that's why there is a need to talk to
> PMUFW directly via mailbox. The same logic is applied to all functions
> which need to talk to PMUFW that's why move this logic to separate function
> to avoid code duplication.
> 
> Also SMC request ID can be composed from PM_SIP_SVC offset that's why
> ZYNQMP_SIP_SVC_GET_API_VERSION macro can be removed completely.
> 
> Signed-off-by: Michal Simek <michal.simek at xilinx.com>
> ---
> 
>  drivers/firmware/firmware-zynqmp.c | 19 ++++++++++---------
>  include/zynqmp_firmware.h          |  2 --
>  2 files changed, 10 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/firmware/firmware-zynqmp.c b/drivers/firmware/firmware-zynqmp.c
> index d70f34f24388..b7e3039c8337 100644
> --- a/drivers/firmware/firmware-zynqmp.c
> +++ b/drivers/firmware/firmware-zynqmp.c
> @@ -40,6 +40,14 @@ static int ipi_req(const u32 *req, size_t req_len, u32 *res, size_t res_maxlen)
>  	return 0;
>  }
>  
> +static int send_req(const u32 *req, size_t req_len, u32 *res, size_t res_maxlen)
> +{
> +	if (IS_ENABLED(CONFIG_SPL_BUILD))
> +		return ipi_req(req, req_len, res, 2);

I guess the last parameter should be res_maxlen, not 2.

Other than than, looks good.

-- 
Luca


More information about the U-Boot mailing list