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

From: Zheng, Lv
Date: Tue Jul 19 2016 - 00:40:35 EST


Hi, Rafael

> From: linux-acpi-owner@xxxxxxxxxxxxxxx [mailto:linux-acpi-
> owner@xxxxxxxxxxxxxxx] 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@xxxxxxxxx>
>
> 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@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html