Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1284974

Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st

From Doug Anderson <dianders@chromium.org>
Newsgroups linux.kernel
Subject Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st
Date 2015-12-07 04:00 +0100
Message-ID <qCUbT-6VY-1@gated-at.bofh.it> (permalink)
References (5 earlier) <qCckx-3Lf-1@gated-at.bofh.it> <qCd6V-42I-3@gated-at.bofh.it> <qCfip-5IW-1@gated-at.bofh.it> <qCvwS-884-1@gated-at.bofh.it> <qCSWu-6fY-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Chris,

On Sun, Dec 6, 2015 at 5:33 PM, Chris Zhong <zyw@rock-chips.com> wrote:
> Hi Doug
>
> RK808 has a shadowed register for saving a "frozen" RTC time.
> When we setting "GET_TIME" to 1, the time will save in this shadowed
> register. So if we do not set the "GET_TIME", we always get the last time.
>
> read the old time before "get_time", and then read the time again for new
> time. If the old time earlier than 12.1 && new time later than 12.1, we
> should
> +1 day for the correct rtc time.
>
> On the other hand, we should set the "GET_TIME" after rk808_rtc_set_time,
> for restore the time before suspend/shut_down.

Ah, good idea using the shadow registers.  The whole point of the
shadow registers is to enable atomic read of time, right?  So if the
clock ticks as you are reading 23:59:59 you don't end up reading
23:59:00 or 24:59:59 (you'll get either 23:59:59 or 24:00:00).  So
right, time read will now be:

1. Read GET_TIME.  Confirm it's 1.
2. Read the time.
3. Set GET_TIME to 0.
4. Set GET_TIME to 1.
5. Read the time.

If time from #2 < 11/31 and time from #5 >= 11/31 then we do the
adjust.  If GET_TIME wasn't 1 in step #1 then we won't do any
adjusting unless the time is actually 11/31.

Between steps #4 and #5 we'll need to add a small delay since old code
used to use the setting to 0 as a delay (as commented).

We should presumably always leave GET_TIME as 1 unless we're actively
reading the time for the most reliability.  Also, if we've already
read the time this bootup, we can certainly optimize the above by
skipping #1 and #2.

-Doug
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] RTC: RK808: Work around hardware bug on November 31st Julius Werner <jwerner@chromium.org> - 2015-12-03 03:00 +0100
  Re: [rtc-linux] [PATCH] RTC: RK808: Work around hardware bug on  November 31st Alexandre Belloni <alexandre.belloni@free-electrons.com> - 2015-12-03 15:50 +0100
    Re: [rtc-linux] [PATCH] RTC: RK808: Work around hardware bug on  November 31st Julius Werner <jwerner@chromium.org> - 2015-12-03 18:00 +0100
  Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Doug Anderson <dianders@chromium.org> - 2015-12-05 01:00 +0100
    Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Julius Werner <jwerner@chromium.org> - 2015-12-05 01:30 +0100
      Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Doug Anderson <dianders@chromium.org> - 2015-12-05 02:00 +0100
        Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Julius Werner <jwerner@chromium.org> - 2015-12-05 03:00 +0100
          Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Doug Anderson <dianders@chromium.org> - 2015-12-05 05:10 +0100
            Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Doug Anderson <dianders@chromium.org> - 2015-12-05 06:00 +0100
              Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Julius Werner <jwerner@chromium.org> - 2015-12-05 08:20 +0100
                Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Doug Anderson <dianders@chromium.org> - 2015-12-06 01:40 +0100
                Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Chris Zhong <zyw@rock-chips.com> - 2015-12-07 02:40 +0100
                Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Doug Anderson <dianders@chromium.org> - 2015-12-07 04:00 +0100
                Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Doug Anderson <dianders@chromium.org> - 2015-12-07 04:00 +0100
                Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Chris Zhong <zyw@rock-chips.com> - 2015-12-07 04:10 +0100
                Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Julius Werner <jwerner@chromium.org> - 2015-12-07 21:30 +0100
                Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Julius Werner <jwerner@chromium.org> - 2015-12-07 23:50 +0100
                Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Doug Anderson <dianders@chromium.org> - 2015-12-08 02:20 +0100
                Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Julius Werner <jwerner@chromium.org> - 2015-12-08 02:50 +0100
                Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st Julius Werner <jwerner@chromium.org> - 2015-12-08 06:30 +0100
                [PATCH v2] RTC: RK808: Work around hardware bug on November 31st Julius Werner <jwerner@chromium.org> - 2015-12-08 06:30 +0100
                Re: [PATCH v2] RTC: RK808: Work around hardware bug on November 31st Doug Anderson <dianders@chromium.org> - 2015-12-09 06:50 +0100
                Re: [PATCH v2] RTC: RK808: Work around hardware bug on November 31st Julius Werner <jwerner@chromium.org> - 2015-12-09 22:40 +0100
                Re: [PATCH v2] RTC: RK808: Work around hardware bug on November 31st Alexandre Belloni <alexandre.belloni@free-electrons.com> - 2015-12-10 19:50 +0100
                Re: [PATCH v2] RTC: RK808: Work around hardware bug on November 31st Julius Werner <jwerner@chromium.org> - 2015-12-10 20:00 +0100

csiph-web