Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1444701 > unrolled thread

Re: [RFC PATCH 3/3] ACPI / PM: Fix EC polling issue by implementing prepare_late/finish_early suspend_ops callbacks

Started by"Rafael J. Wysocki" <rjw@rjwysocki.net>
First post2016-07-16 02:50 +0200
Last post2016-07-19 06:50 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [RFC PATCH 3/3] ACPI / PM: Fix EC polling issue by implementing prepare_late/finish_early suspend_ops callbacks "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-07-16 02:50 +0200
    RE: [RFC PATCH 3/3] ACPI / PM: Fix EC polling issue by implementing  prepare_late/finish_early suspend_ops callbacks "Zheng, Lv" <lv.zheng@intel.com> - 2016-07-19 06:50 +0200

#1444701 — Re: [RFC PATCH 3/3] ACPI / PM: Fix EC polling issue by implementing prepare_late/finish_early suspend_ops callbacks

From"Rafael J. Wysocki" <rjw@rjwysocki.net>
Date2016-07-16 02:50 +0200
SubjectRe: [RFC PATCH 3/3] ACPI / PM: Fix EC polling issue by implementing prepare_late/finish_early suspend_ops callbacks
Message-ID<rVlXP-5mr-11@gated-at.bofh.it>
On Tuesday, June 28, 2016 04:04:46 PM Lv Zheng wrote:
> _PTS/_WAK may contain EC transactions, it is better to have them handled
> with IRQ enabled. This patch moves the 2 suspend PM ops from noirq stage
> to late/early stage.
> 
> Signed-off-by: Lv Zheng <lv.zheng@intel.com>

There are systems that won't work with this patch applied, so I don't
see a point in applying the other two.

> ---
>  drivers/acpi/sleep.c |    5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
> index d30fce7f..c5c374c9 100644
> --- a/drivers/acpi/sleep.c
> +++ b/drivers/acpi/sleep.c
> @@ -595,9 +595,10 @@ static int acpi_suspend_state_valid(suspend_state_t pm_state)
>  static const struct platform_suspend_ops acpi_suspend_ops = {
>  	.valid = acpi_suspend_state_valid,
>  	.begin = acpi_suspend_begin,
> -	.prepare_noirq = acpi_pm_prepare,
> +	.prepare_late = __acpi_pm_prepare,
> +	.prepare_noirq = acpi_pm_pre_suspend,
>  	.enter = acpi_suspend_enter,
> -	.finish_noirq = acpi_pm_finish,
> +	.finish_early = acpi_pm_finish,
>  	.end = acpi_pm_end,
>  };
>  
> 

Thanks,
Rafael

[toc] | [next] | [standalone]


#1446018 — RE: [RFC PATCH 3/3] ACPI / PM: Fix EC polling issue by implementing prepare_late/finish_early suspend_ops callbacks

From"Zheng, Lv" <lv.zheng@intel.com>
Date2016-07-19 06:50 +0200
SubjectRE: [RFC PATCH 3/3] ACPI / PM: Fix EC polling issue by implementing prepare_late/finish_early suspend_ops callbacks
Message-ID<rWv8J-7LS-7@gated-at.bofh.it>
In reply to#1444701
Hi, Rafael

> From: linux-acpi-owner@vger.kernel.org [mailto:linux-acpi-
> owner@vger.kernel.org] On Behalf Of Rafael J. Wysocki
> Subject: Re: [RFC PATCH 3/3] ACPI / PM: Fix EC polling issue by
> implementing prepare_late/finish_early suspend_ops callbacks
> 
> On Tuesday, June 28, 2016 04:04:46 PM Lv Zheng wrote:
> > _PTS/_WAK may contain EC transactions, it is better to have them
> handled
> > with IRQ enabled. This patch moves the 2 suspend PM ops from noirq
> stage
> > to late/early stage.
> >
> > Signed-off-by: Lv Zheng <lv.zheng@intel.com>
> 
> There are systems that won't work with this patch applied, so I don't
> see a point in applying the other two.
[Lv Zheng] 
I see.
Then instead of moving _WAK/_PTS out of noirq stage, we need to think about tuning the performance of the EC polling mode.

Thanks and best regards
-Lv

> 
> > ---
> >  drivers/acpi/sleep.c |    5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
> > index d30fce7f..c5c374c9 100644
> > --- a/drivers/acpi/sleep.c
> > +++ b/drivers/acpi/sleep.c
> > @@ -595,9 +595,10 @@ static int
> acpi_suspend_state_valid(suspend_state_t pm_state)
> >  static const struct platform_suspend_ops acpi_suspend_ops = {
> >  	.valid = acpi_suspend_state_valid,
> >  	.begin = acpi_suspend_begin,
> > -	.prepare_noirq = acpi_pm_prepare,
> > +	.prepare_late = __acpi_pm_prepare,
> > +	.prepare_noirq = acpi_pm_pre_suspend,
> >  	.enter = acpi_suspend_enter,
> > -	.finish_noirq = acpi_pm_finish,
> > +	.finish_early = acpi_pm_finish,
> >  	.end = acpi_pm_end,
> >  };
> >
> >
> 
> Thanks,
> Rafael
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web