[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YRpb4Fey2lM3aOAw@piout.net>
Date: Mon, 16 Aug 2021 14:36:48 +0200
From: Alexandre Belloni <alexandre.belloni@...tlin.com>
To: Tony W Wang-oc <TonyWWang-oc@...oxin.com>
Cc: a.zummo@...ertech.it, linux-rtc@...r.kernel.org,
linux-kernel@...r.kernel.org, TimGuo-oc@...oxin.com,
CooperYan@...oxin.com, QiyuanWang@...oxin.com,
HerryYang@...oxin.com, CobeChen@...oxin.com, YanchenSun@...oxin.com
Subject: Re: [PATCH] rtc: Fix set RTC time delay 500ms on some Zhaoxin SOCs
On 16/08/2021 18:03:13+0800, Tony W Wang-oc wrote:
>
> On 16/08/2021 16:24, Alexandre Belloni wrote:
> > Hello,
> >
> > On 16/08/2021 21:47:18+0800, Tony W Wang-oc wrote:
> >> When the RTC divider is changed from reset to an operating time base,
> >> the first update cycle should be 500ms later. But on some Zhaoxin SOCs,
> >> this first update cycle is one second later.
> >>
> >> So set RTC time on these Zhaoxin SOCs will causing 500ms delay.
> >>
> >
> > Can you explain what is the relationship between writing the divider and
> > the 500ms delay?
> >> Isn't the issue that you are using systohc and set_offset_nsec is set to
> > NSEC_PER_SEC / 2 ?
> >
> No.
> When using #hwclock -s to set RTC time and set_offset_nsec is
> NSEC_PER_SEC / 2, the function mc146818_set_time() requires the first
> update cycle after RTC divider be changed from reset to an operating
> mode is 500ms as the MC146818A spec specified. But on some Zhaoxin SOCs,
> the first update cycle of RTC is one second later after RTC divider be
> changed from reset to an operating mode. So the first update cycle after
> RTC divider be changed from reset to an operation mode on These SOCs
> will causing 500ms delay with current mc146818_set_time() implementation.
>
What happens with hwclock --delay=0 -s ?
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Powered by blists - more mailing lists