lkml.org 
[lkml]   [2009]   [Oct]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: + rtc-disable-hpet-emulation-on-suspend.patch added to -mm tree

* akpm@linux-foundation.org <akpm@linux-foundation.org> wrote:

> ------------------------------------------------------
> Subject: rtc: disable hpet emulation on suspend
> From: Maxim Levitsky <maximlevitsky@gmail.com>
>
> I noticed that rtc wont generate interrupts after a resume from disk.
> Here hpet rtc emulation is used.
>
> Problem is that rtc hpet comparator, isn't reinitialized after resume.
> Easiest way to solve this, is always mask all hpet interrupts on suspend
> This is triggered, when suspending with alarm set.
>
>
> Otherwise, hpet driver will think it doesn't need to reinitialize
> the rtc comparator, thus rtc interrupts won't work.
>
> This emulation isn't need for wakealarm.

> - hpet_mask_rtc_irq_bit(mask);
>
> + /* shut down hpet emulation - we don't need it for alarm */
> + hpet_mask_rtc_irq_bit(RTC_PIE|RTC_AIE|RTC_UIE);
> cmos_checkintr(cmos, tmp);

Would be nice to also unconditionally reinitialize the hpet/rtc after
resume - regardless of what state we left it in.

Also, are you sure this does not break things like
CONFIG_PM_TEST_SUSPEND=y which rely on wakealarm?

Ingo


\
 
 \ /
  Last update: 2009-10-14 08:03    [W:0.053 / U:0.168 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site