Re: [PATCH] platform/chrome: cros_ec_rpmsg: Add host command AP sleep state support
Hi, On 14/8/19 10:17, Yilun Lin wrote: > Add EC host command to inform EC of AP suspend/resume status. > > Signed-off-by: Yilun Lin Applied for 5.4. Thanks, Enric > --- > > drivers/platform/chrome/cros_ec_rpmsg.c | 20 > 1 file changed, 20 insertions(+) > > diff --git a/drivers/platform/chrome/cros_ec_rpmsg.c > b/drivers/platform/chrome/cros_ec_rpmsg.c > index 5d3fb2abad1d..6f34fe629e2c 100644 > --- a/drivers/platform/chrome/cros_ec_rpmsg.c > +++ b/drivers/platform/chrome/cros_ec_rpmsg.c > @@ -236,6 +236,25 @@ static void cros_ec_rpmsg_remove(struct rpmsg_device > *rpdev) > cancel_work_sync(&ec_rpmsg->host_event_work); > } > > +#ifdef CONFIG_PM_SLEEP > +static int cros_ec_rpmsg_suspend(struct device *dev) > +{ > + struct cros_ec_device *ec_dev = dev_get_drvdata(dev); > + > + return cros_ec_suspend(ec_dev); > +} > + > +static int cros_ec_rpmsg_resume(struct device *dev) > +{ > + struct cros_ec_device *ec_dev = dev_get_drvdata(dev); > + > + return cros_ec_resume(ec_dev); > +} > +#endif > + > +static SIMPLE_DEV_PM_OPS(cros_ec_rpmsg_pm_ops, cros_ec_rpmsg_suspend, > + cros_ec_rpmsg_resume); > + > static const struct of_device_id cros_ec_rpmsg_of_match[] = { > { .compatible = "google,cros-ec-rpmsg", }, > { } > @@ -246,6 +265,7 @@ static struct rpmsg_driver cros_ec_driver_rpmsg = { > .drv = { > .name = "cros-ec-rpmsg", > .of_match_table = cros_ec_rpmsg_of_match, > + .pm = &cros_ec_rpmsg_pm_ops, > }, > .probe = cros_ec_rpmsg_probe, > .remove = cros_ec_rpmsg_remove, >
Re: [PATCH] platform/chrome: cros_ec_rpmsg: Add host command AP sleep state support
Tested that with this patch, SCP does receive host command from AP while AP goes to suspend and back. Tested-by: Pi-Hsun Shih On Fri, Aug 23, 2019 at 3:36 AM Enric Balletbo i Serra wrote: > > Hi, > > On 14/8/19 10:17, Yilun Lin wrote: > > Add EC host command to inform EC of AP suspend/resume status. > > > > Signed-off-by: Yilun Lin > > The patch looks good to me but as I don't have the hardware to test this, > could > I get a Tested-by Pi-Hsun if possible before queuing in chrome-platform-5.4 > > Thanks, > Enric > > > --- > > > > drivers/platform/chrome/cros_ec_rpmsg.c | 20 > > 1 file changed, 20 insertions(+) > > > > diff --git a/drivers/platform/chrome/cros_ec_rpmsg.c > > b/drivers/platform/chrome/cros_ec_rpmsg.c > > index 5d3fb2abad1d..6f34fe629e2c 100644 > > --- a/drivers/platform/chrome/cros_ec_rpmsg.c > > +++ b/drivers/platform/chrome/cros_ec_rpmsg.c > > @@ -236,6 +236,25 @@ static void cros_ec_rpmsg_remove(struct rpmsg_device > > *rpdev) > > cancel_work_sync(&ec_rpmsg->host_event_work); > > } > > > > +#ifdef CONFIG_PM_SLEEP > > +static int cros_ec_rpmsg_suspend(struct device *dev) > > +{ > > + struct cros_ec_device *ec_dev = dev_get_drvdata(dev); > > + > > + return cros_ec_suspend(ec_dev); > > +} > > + > > +static int cros_ec_rpmsg_resume(struct device *dev) > > +{ > > + struct cros_ec_device *ec_dev = dev_get_drvdata(dev); > > + > > + return cros_ec_resume(ec_dev); > > +} > > +#endif > > + > > +static SIMPLE_DEV_PM_OPS(cros_ec_rpmsg_pm_ops, cros_ec_rpmsg_suspend, > > + cros_ec_rpmsg_resume); > > + > > static const struct of_device_id cros_ec_rpmsg_of_match[] = { > > { .compatible = "google,cros-ec-rpmsg", }, > > { } > > @@ -246,6 +265,7 @@ static struct rpmsg_driver cros_ec_driver_rpmsg = { > > .drv = { > > .name = "cros-ec-rpmsg", > > .of_match_table = cros_ec_rpmsg_of_match, > > + .pm = &cros_ec_rpmsg_pm_ops, > > }, > > .probe = cros_ec_rpmsg_probe, > > .remove = cros_ec_rpmsg_remove, > >
Re: [PATCH] platform/chrome: cros_ec_rpmsg: Add host command AP sleep state support
Hi, On 14/8/19 10:17, Yilun Lin wrote: > Add EC host command to inform EC of AP suspend/resume status. > > Signed-off-by: Yilun Lin The patch looks good to me but as I don't have the hardware to test this, could I get a Tested-by Pi-Hsun if possible before queuing in chrome-platform-5.4 Thanks, Enric > --- > > drivers/platform/chrome/cros_ec_rpmsg.c | 20 > 1 file changed, 20 insertions(+) > > diff --git a/drivers/platform/chrome/cros_ec_rpmsg.c > b/drivers/platform/chrome/cros_ec_rpmsg.c > index 5d3fb2abad1d..6f34fe629e2c 100644 > --- a/drivers/platform/chrome/cros_ec_rpmsg.c > +++ b/drivers/platform/chrome/cros_ec_rpmsg.c > @@ -236,6 +236,25 @@ static void cros_ec_rpmsg_remove(struct rpmsg_device > *rpdev) > cancel_work_sync(&ec_rpmsg->host_event_work); > } > > +#ifdef CONFIG_PM_SLEEP > +static int cros_ec_rpmsg_suspend(struct device *dev) > +{ > + struct cros_ec_device *ec_dev = dev_get_drvdata(dev); > + > + return cros_ec_suspend(ec_dev); > +} > + > +static int cros_ec_rpmsg_resume(struct device *dev) > +{ > + struct cros_ec_device *ec_dev = dev_get_drvdata(dev); > + > + return cros_ec_resume(ec_dev); > +} > +#endif > + > +static SIMPLE_DEV_PM_OPS(cros_ec_rpmsg_pm_ops, cros_ec_rpmsg_suspend, > + cros_ec_rpmsg_resume); > + > static const struct of_device_id cros_ec_rpmsg_of_match[] = { > { .compatible = "google,cros-ec-rpmsg", }, > { } > @@ -246,6 +265,7 @@ static struct rpmsg_driver cros_ec_driver_rpmsg = { > .drv = { > .name = "cros-ec-rpmsg", > .of_match_table = cros_ec_rpmsg_of_match, > + .pm = &cros_ec_rpmsg_pm_ops, > }, > .probe = cros_ec_rpmsg_probe, > .remove = cros_ec_rpmsg_remove, >