From: john stultz <johnstul@us.ibm.com>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: rtc-linux@googlegroups.com, LKML <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Alessandro Zummo <a.zummo@towertech.it>,
Marcelo Roberto Jimenez <mroberto@cpti.cetuc.puc-rio.br>
Subject: Re: [rtc-linux] [PATCH 04/10] RTC: Cleanup rtc_class_ops->read_alarm()
Date: Tue, 22 Feb 2011 00:09:38 -0800 [thread overview]
Message-ID: <1298362178.4222.57.camel@work-vm> (raw)
In-Reply-To: <1298343333.4222.36.camel@work-vm>
On Mon, 2011-02-21 at 18:55 -0800, John Stultz wrote:
> On Tue, 2011-02-22 at 02:34 +0000, Mark Brown wrote:
> > Can you go into more detail on the rationale behind this virtualised
> > functionality and how it works? I'd really expect the RTC alarm to be
> > preserved over system reboots (on some systems it can be used to
> > initiate a boot) and that would mean that we need to go to the hardware
> > for at least the initial configuration.
[snip]
> Now, to your point about persistence across reboots:
>
> It is an interesting point to consider.
>
> So currently, if the hardware supports it, then the behavior should
> remain the same: As long as no application sets a new alarm, the
> previous alarm should persist in the RTC hardware.
>
> However, an application's ability to notice that such an alarm is set,
> is currently limited. So your point about reading the hardware to
> initialize the state is quite valid, and shows a good reason to preserve
> the read_alarm() method.
So I've been working on a fix for the issue described here, but have run
into a few complications:
1) Prior to my rework landing, on the rtc-cmos driver, after a reboot,
calls to rtc_read_alarm() do return the alarm time from hardware.
However, the AIE mode bit is off (even if it was left on). So the alarm
does not seem like it would persist across reboots, and the value
returned form rtc_read_alarm is technically invalid as the code to fill
in the -1 fields doesn't run.
I realize that the cmos is fairly simplistic, but do you have examples
of hardware where the AIE mode does persist on bootup?
2) One larger complication I see coming down the road with this is how
do we handle persistence with multiplexed events? If we have two
rtc_timers set to fire, one at 1pm and the other at 3pm. If we reboot
the box at noon, only the 1pm timer will persist.
This could cause some additional confusion if the first timer was a
posix-alarm-timer and the second was the classic wake alarm set
by /dev/rtc0. In that case, after a reboot at noon, the system will show
a 1pm wake alarm via /dev/rtc0.
I need to think more about #2. I suspect we could claim that soonest
alarm should be preserved regardless of what its source was.
Just so I can better get a grip of the cases your considering, could you
maybe give me some more detailed examples of where you'd like to see the
alarm timer be set and then persist across multiple power cycles before
firing? And how is that persistent value managed by the application
setting it?
thanks
-john
next prev parent reply other threads:[~2011-02-22 8:09 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-21 23:55 [PATCH 00/10] [RFC] RTC: Cleanups for 2.6.39 John Stultz
2011-02-21 23:55 ` [PATCH 01/10] RTC: Cleanup rtc_class_ops->irq_set_state John Stultz
2011-02-21 23:55 ` [PATCH 02/10] RTC: Cleanup rtc_class_ops->irq_set_freq() John Stultz
2011-02-21 23:55 ` [PATCH 03/10] RTC: Cleanup rtc_class_ops->update_irq_enable() John Stultz
2011-02-21 23:55 ` [PATCH 04/10] RTC: Cleanup rtc_class_ops->read_alarm() John Stultz
2011-02-22 2:34 ` [rtc-linux] " Mark Brown
2011-02-22 2:55 ` John Stultz
2011-02-22 8:09 ` john stultz [this message]
2011-02-22 12:51 ` Marcelo Roberto Jimenez
2011-02-22 19:35 ` john stultz
2011-02-22 19:51 ` Mark Brown
2011-02-22 19:58 ` john stultz
2011-02-22 21:26 ` Marcelo Roberto Jimenez
2011-02-22 18:16 ` Mark Brown
2011-02-22 19:51 ` john stultz
2011-02-22 20:00 ` Mark Brown
2011-02-22 20:22 ` john stultz
2011-02-22 21:05 ` Mark Brown
2011-02-22 21:21 ` john stultz
2011-02-22 21:27 ` Thomas Gleixner
2011-02-22 21:40 ` Mark Brown
2011-02-22 21:33 ` Mark Brown
2011-02-22 22:10 ` john stultz
2011-02-22 23:07 ` Mark Brown
2011-02-22 19:53 ` john stultz
2011-02-22 20:31 ` Mark Brown
2011-02-21 23:55 ` [PATCH 05/10] RTC: Clean out UIE icotl implementations John Stultz
2011-02-21 23:55 ` [PATCH 06/10] RTC: Include information about UIE and PIE in RTC driver proc John Stultz
2011-02-21 23:55 ` [PATCH 07/10] RTC: Remove UIE and PIE information from the sa1100 " John Stultz
2011-02-21 23:55 ` [PATCH 08/10] RTC: Fix the cross interrupt issue on rtc-test John Stultz
2011-02-21 23:55 ` [PATCH 09/10] RTC: sa1100: Update the sa1100 RTC driver John Stultz
2011-02-21 23:55 ` [PATCH 10/10] RTC: Fix up rtc.txt documentation to reflect changes to generic rtc layer John Stultz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1298362178.4222.57.camel@work-vm \
--to=johnstul@us.ibm.com \
--cc=a.zummo@towertech.it \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mroberto@cpti.cetuc.puc-rio.br \
--cc=rtc-linux@googlegroups.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox