From: Alexandre Belloni <alexandre.belloni@bootlin•com>
To: Ran Bi <ran.bi@mediatek•com>
Cc: Mark Rutland <mark.rutland@arm•com>,
Alessandro Zummo <a.zummo@towertech•it>,
Flora Fu <flora.fu@mediatek•com>,
srv_heupstream@mediatek•com, devicetree@vger•kernel.org,
Sean Wang <sean.wang@mediatek•com>,
linux-kernel@vger•kernel.org, YT Shen <yt.shen@mediatek•com>,
Rob Herring <robh+dt@kernel•org>,
linux-mediatek@lists•infradead.org,
Matthias Brugger <matthias.bgg@gmail•com>,
Yingjoe Chen <yingjoe.chen@mediatek•com>,
Eddie Huang <eddie.huang@mediatek•com>,
linux-arm-kernel@lists•infradead.org, linux-rtc@vger•kernel.org
Subject: Re: [PATCH 2/3] rtc: Add support for the MediaTek MT2712 RTC
Date: Wed, 17 Jul 2019 11:06:55 +0200 [thread overview]
Message-ID: <20190717090655.GA21823@piout.net> (raw)
In-Reply-To: <1563353694.19945.33.camel@mhfsdcap03>
On 17/07/2019 16:54:54+0800, Ran Bi wrote:
> > > +
> > > +/* we map HW YEAR 0 to 1968 not 1970 because 2000 is the leap year */
> > > +#define RTC_MIN_YEAR 1968
> > > +#define RTC_BASE_YEAR 1900
> > > +#define RTC_MIN_YEAR_OFFSET (RTC_MIN_YEAR - RTC_BASE_YEAR)
> >
> > Do not do that. If this RTC range starts in 200, ths is what the driver
> > has to support, you should not care about dates before 2000. Note that
> > the RTC core can still properly shift the range if it is absolutely
> > necessary.
> >
>
> Do we need to care about default alarm date 1970-01-01? Or can I just
> set it to 2000-01-01?
>
You never have to set a default value. It doesn't add any value versus
an unknown value.
> > > +
> > > +static inline u32 rtc_readl(struct mt2712_rtc *rtc, u32 reg)
> >
> > Please use a more descriptive prefix than just rtc_.
> >
>
> Do you mean it's better to use prefix "mt2712_rtc_"?
>
Yes.
> > > +
> > > + /*
> > > + * register status was not correct,
> > > + * need set time and alarm to default
> > > + */
> > > + if (p1 != RTC_POWERKEY1_KEY || p2 != RTC_POWERKEY2_KEY
> > > + || !valid_rtc_time(rtc)) {
> > > + reset_rtc_time(rtc);
> >
> > Do not do that. This is valuable information. If the time is invalid,
> > report it as such in read_time and read_alarm. Resetting the time here
> > will lead to more issues later (i.e. userspace is not able to know
> > whether the time is set correctly or not).
> >
>
> When RTC's power run out, RTC will lost it's registers value and time
> data at next boot up. We even cannot know what the date and time it
> shows. We want to check this state here and set a default RTC date. Do
> you think it's no need here and the date should be set by system?
>
If I understand correctly, the POWERKEY register will lose their value.
This means that you know that the time is incorrect. instead of setting
it to a default value and losing that valuable information, simply check
for that in read_time and return EINVAL in that case. then on the next
set_time invocation, you can set the POWERKEY registers and set the time
to a known value.
--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-07-17 9:07 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-02 3:21 [PATCH 0/3] Add Support for MediaTek MT2712 RTC Ran Bi
2019-07-02 3:21 ` [PATCH 1/3] bindings: rtc: add bindings for " Ran Bi
2019-07-22 22:51 ` Rob Herring
2019-07-02 3:21 ` [PATCH 2/3] rtc: Add support for the MediaTek " Ran Bi
2019-07-13 21:12 ` Alexandre Belloni
2019-07-17 8:54 ` Ran Bi
2019-07-17 9:06 ` Alexandre Belloni [this message]
2019-07-02 3:21 ` [PATCH 3/3] arm64: dts: add rtc nodes for MT2712 Ran Bi
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=20190717090655.GA21823@piout.net \
--to=alexandre.belloni@bootlin$(echo .)com \
--cc=a.zummo@towertech$(echo .)it \
--cc=devicetree@vger$(echo .)kernel.org \
--cc=eddie.huang@mediatek$(echo .)com \
--cc=flora.fu@mediatek$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-mediatek@lists$(echo .)infradead.org \
--cc=linux-rtc@vger$(echo .)kernel.org \
--cc=mark.rutland@arm$(echo .)com \
--cc=matthias.bgg@gmail$(echo .)com \
--cc=ran.bi@mediatek$(echo .)com \
--cc=robh+dt@kernel$(echo .)org \
--cc=sean.wang@mediatek$(echo .)com \
--cc=srv_heupstream@mediatek$(echo .)com \
--cc=yingjoe.chen@mediatek$(echo .)com \
--cc=yt.shen@mediatek$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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