RE: [RESEND PATCH] ACPICA: Enable sleep button on ACPI legacy wake

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Rafael J. Wysocki <rafael@xxxxxxxxxx>
> Sent: Thursday, January 16, 2020 1:40 AM
> To: Anchal Agarwal <anchalag@xxxxxxxxxx>; Kaneda, Erik
> <erik.kaneda@xxxxxxxxx>; Moore, Robert <robert.moore@xxxxxxxxx>
> Cc: Wysocki, Rafael J <rafael.j.wysocki@xxxxxxxxx>; ACPI Devel Maling List
> <linux-acpi@xxxxxxxxxxxxxxx>; Linux Kernel Mailing List <linux-
> kernel@xxxxxxxxxxxxxxx>; Len Brown <lenb@xxxxxxxxxx>; open list:ACPI
> COMPONENT ARCHITECTURE (ACPICA) <devel@xxxxxxxxxx>; Singh, Balbir
> <sblbir@xxxxxxxxxx>; fllinden@xxxxxxxxxx
> Subject: Re: [RESEND PATCH] ACPICA: Enable sleep button on ACPI legacy
> wake
> 
> On Thu, Jan 16, 2020 at 12:26 AM Anchal Agarwal <anchalag@xxxxxxxxxx>
> wrote:
> >
> > Currently we do not see sleep_enable bit set after guest resumes from
> > hibernation. Hibernation is triggered in guest on receiving a sleep
> > trigger from the hypervisor(S4 state). We see that power button is
> > enabled on wake up from S4 state however sleep button isn't. This
> > causes subsequent invocation of sleep state to fail in the guest. Any
> > environment  going through acpi_hw_legacy_wake() won't have sleep
> > button enabled.
> >
> > Signed-off-by: Anchal Agarwal <anchalag@xxxxxxxxxx>
> > Reviewed-by: Balbir Singh <sblbir@xxxxxxxxxx>
> > Reviewed-by: Frank van der Linden <fllinden@xxxxxxxxxx>
> > ---
> >  drivers/acpi/acpica/hwsleep.c | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
> >
> > diff --git a/drivers/acpi/acpica/hwsleep.c
> > b/drivers/acpi/acpica/hwsleep.c index b62db8ec446f..a176c7802760
> > 100644
> > --- a/drivers/acpi/acpica/hwsleep.c
> > +++ b/drivers/acpi/acpica/hwsleep.c
> > @@ -300,6 +300,17 @@ acpi_status acpi_hw_legacy_wake(u8 sleep_state)
> >                                     [ACPI_EVENT_POWER_BUTTON].
> >                                     status_register_id,
> > ACPI_CLEAR_STATUS);
> >
> > +       /* Enable sleep button */
> > +       (void)
> > +             acpi_write_bit_register(acpi_gbl_fixed_event_info
> > +                                     [ACPI_EVENT_SLEEP_BUTTON].
> > +                                     enable_register_id,
> > + ACPI_ENABLE_EVENT);
> > +
> > +       (void)
> > +             acpi_write_bit_register(acpi_gbl_fixed_event_info
> > +                                     [ACPI_EVENT_SLEEP_BUTTON].
> > +                                     status_register_id,
> > + ACPI_CLEAR_STATUS);
> > +
> >         acpi_hw_execute_sleep_method(METHOD_PATHNAME__SST,
> ACPI_SST_WORKING);
> >         return_ACPI_STATUS(status);
> >  }
> 
> Erik, Bob, please pick this up if you don't have specific objections against it.
> 
> I'll wait for it to show up in an upstream release.

I've submitted a pull request to ACPICA upstream with changes to the commit message here:
https://github.com/acpica/acpica/pull/549

I'll send a Linux-ized version of this patch after our next ACPICA release.

Thanks,
Erik




[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux