Re: [PATCH] platform/chrome: cros_ec_rpmsg: Add host command AP sleep state support

2019-08-28 Thread Enric Balletbo i Serra
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

2019-08-26 Thread Pi-Hsun Shih
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

2019-08-22 Thread Enric Balletbo i Serra
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,
>