RE: [PATCH v5 2/3] firmware: xilinx: Implement ZynqMP power management APIs

From: Jolly Shah
Date: Tue Jan 29 2019 - 15:40:10 EST


Hi Michal,

> -----Original Message-----
> From: Michal Simek [mailto:michal.simek@xxxxxxxxxx]
> Sent: Tuesday, January 29, 2019 5:11 AM
> To: Jolly Shah <JOLLYS@xxxxxxxxxx>; matthias.bgg@xxxxxxxxx;
> andy.gross@xxxxxxxxxx; shawnguo@xxxxxxxxxx; geert+renesas@xxxxxxxxx;
> bjorn.andersson@xxxxxxxxxx; sean.wang@xxxxxxxxxxxx;
> m.szyprowski@xxxxxxxxxxx; Michal Simek <michals@xxxxxxxxxx>;
> robh+dt@xxxxxxxxxx; mark.rutland@xxxxxxx
> Cc: Rajan Vaja <RAJANV@xxxxxxxxxx>; devicetree@xxxxxxxxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Rajan Vaja
> <RAJANV@xxxxxxxxxx>; Jolly Shah <JOLLYS@xxxxxxxxxx>
> Subject: Re: [PATCH v5 2/3] firmware: xilinx: Implement ZynqMP power
> management APIs
>
> On 14. 01. 19 20:22, Jolly Shah wrote:
> > From: Rajan Vaja <rajan.vaja@xxxxxxxxxx>
> >
> > 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 <rajan.vaja@xxxxxxxxxx>
> > Signed-off-by: Jolly Shah <jollys@xxxxxxxxxx>
> > ---
> > 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.
>

Rebased and sent v6.

Thanks,
Jolly Shah

> Thanks,
> Michal