Re: [PATCH 1/3] rtc: cmos: allow using ACPI for RTC alarm instead of HPET

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

 



Hi,


On 26/03/2018 21:58:01+0800, Zhang Rui wrote:
> It's found that the HPET timer prevents the platform from entering
> Low Power S0 on some new Intel platforms.
> 
> This means that
> 1. users can still use RTC wake Alarm for suspend-to-idle, but the system
>    never enters Low Power S0, which is a waste of power.
> or
> 2. if users want to put the system into Low Power S0, they can not use
>    RTC as the wakeup source.
> 
> To fix this, we need to stop using the HPET timer for wake alarm.
> But disabling CONFIG_HPET_EMULATE_RTC is not an option because HPET
> emulates PIT at the same time, and this is needed on some of these
> platforms.
> 
> Thus, introduce a new mode (use_acpi_alarm) to the rtc_cmos driver,
> so that, even with CONFIG_HPET_EMULATE_RTC enabled, it's still possible to
> use ACPI SCI for RTC Alarm, including UIE/AIE/wkalrm, instead of HPET.
> 
> Only necessary changes are made for the new "use_acpi_alarm" mode, including
> 1. drop all the calls to HPET emulation code, including the HPET irq
>    handler for rtc interrupt.
> 2. enabling/disabling ACPI RTC Fixed event upon RTC UIE/AIE request.
> 3. acknowledge the RTC Alarm in ACPI RTC Fixed event handler.
> 
> There is no functional change made in this patch if the new mode is not
> enabled.
> 
> Note: this "use_acpi_alarm" mode is made based on the assumption that
> ACPI RTC Fixed event is reliable both at runtime and during system wakeup.
> And this has been verified on a couple of platforms I have, including
> a MS Surface Pro 4 (SKL), a Lenovo Yoga 900 (SKL), and a HP 9360 (KBL).
> 
> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
> ---
>  drivers/rtc/rtc-cmos.c | 111 +++++++++++++++++++++++++++++++++++--------------
>  1 file changed, 80 insertions(+), 31 deletions(-)
> 

I've applied the series but it didn't apply cleanly, please check
https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git/log/?h=rtc-next

-- 
Alexandre Belloni, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com



[Index of Archives]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux