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