On 14. 01. 19 20:22, Jolly Shah wrote:
> From: Rajan Vaja <[email protected]>
> 
> Add Xilinx ZynqMP firmware APIs to set suspend mode
> and inform firmware that master has initialized its
> own power management.
> 
> Signed-off-by: Rajan Vaja <[email protected]>
> Signed-off-by: Jolly Shah <[email protected]>
> ---
>  drivers/firmware/xilinx/zynqmp.c     | 29 +++++++++++++++++++++++++++++
>  include/linux/firmware/xlnx-zynqmp.h | 20 ++++++++++++++++++++
>  2 files changed, 49 insertions(+)
> 
> diff --git a/drivers/firmware/xilinx/zynqmp.c 
> b/drivers/firmware/xilinx/zynqmp.c
> index 84b3fd2..c7a3b6c 100644
> --- a/drivers/firmware/xilinx/zynqmp.c
> +++ b/drivers/firmware/xilinx/zynqmp.c
> @@ -428,6 +428,33 @@ static int zynqmp_pm_clock_getparent(u32 clock_id, u32 
> *parent_id)
>       return ret;
>  }
>  
> +/**
> + * zynqmp_pm_init_finalize() - PM call to inform firmware that the caller
> + *                          master has initialized its own power management
> + *
> + * This API function is to be used for notify the power management controller
> + * about the completed power management initialization.
> + *
> + * Return: Returns status, either success or error+reason
> + */
> +static int zynqmp_pm_init_finalize(void)
> +{
> +     return zynqmp_pm_invoke_fn(PM_PM_INIT_FINALIZE, 0, 0, 0, 0, NULL);
> +}
> +
> +/**
> + * zynqmp_pm_set_suspend_mode()      - Set system suspend mode
> + * @mode:    Mode to set for system suspend
> + *
> + * This API function is used to set mode of system suspend.
> + *
> + * Return: Returns status, either success or error+reason
> + */
> +static int zynqmp_pm_set_suspend_mode(u32 mode)
> +{
> +     return zynqmp_pm_invoke_fn(PM_SET_SUSPEND_MODE, mode, 0, 0, 0, NULL);
> +}
> +
>  static const struct zynqmp_eemi_ops eemi_ops = {
>       .get_api_version = zynqmp_pm_get_api_version,
>       .query_data = zynqmp_pm_query_data,
> @@ -440,6 +467,8 @@ static const struct zynqmp_eemi_ops eemi_ops = {
>       .clock_getrate = zynqmp_pm_clock_getrate,
>       .clock_setparent = zynqmp_pm_clock_setparent,
>       .clock_getparent = zynqmp_pm_clock_getparent,
> +     .init_finalize = zynqmp_pm_init_finalize,
> +     .set_suspend_mode = zynqmp_pm_set_suspend_mode,

This has been created long time ago and there was one more patch in the
middle of this.
I have applied reset driver just now which didn't have any issue that's
why please rebase your patches on the top of this branch
https://github.com/Xilinx/linux-xlnx/commits/zynqmp/soc and resend.

Thanks,
Michal

Reply via email to