From: Joonyoung Shim <jy0922.shim@samsung.com>
To: Krzysztof Kozlowski <k.kozlowski@samsung.com>,
Alexandre Belloni <alexandre.belloni@free-electrons.com>
Cc: rtc-linux@googlegroups.com, linux-samsung-soc@vger.kernel.org,
linux-kernel@vger.kernel.org, stable@vger.kernel.org,
a.zummo@towertech.it, sbkim73@samsung.com
Subject: Re: [PATCH] rtc: s5m: fix to update ctrl register
Date: Fri, 21 Aug 2015 15:58:36 +0900 [thread overview]
Message-ID: <55D6CC1C.9040402@samsung.com> (raw)
In-Reply-To: <55D67D14.9060809@samsung.com>
On 08/21/2015 10:21 AM, Krzysztof Kozlowski wrote:
> On 21.08.2015 10:00, Joonyoung Shim wrote:
>> On 08/21/2015 09:44 AM, Krzysztof Kozlowski wrote:
>>> On 21.08.2015 08:15, Alexandre Belloni wrote:
>>>> Hi,
>>>>
>>>> On 13/08/2015 at 17:49:24 +0900, Joonyoung Shim wrote :
>>>>> According to datasheet, the S2MPS13X and S2MPS14X should update write
>>>>> buffer via setting WUDR bit to high after ctrl register is updated.
>>>>>
>>>>> If not, ALARM interrupt of rtc-s5m doesn't happen first time when i use
>>>>> tools/testing/selftests/timers/rtctest.c test program and hour format is
>>>>> used to 12 hour mode in Odroid-XU3 board.
>>>>>
>>>>
>>>> >From what I understood, I should expect a v2 of tihat patch also setting
>>>> RUDR, is that right? OR would you prefer that I apply that one and then
>>>> fix RUDR in a following patch?
>>>
>>> Right, I would expect that as well... or a comment if this is not needed.
>>>
>>
>> Hmm, the driver only writes control register now, so i don't feel the
>> need of patch setting RUDR for control register.
>
> Yes, you're right. There is only regmap_write() (not
> remap_update_bits()) so your patch is completely fine. Thanks for
> explanation.
>
> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
>
Thanks for review.
I found one more issue, the RTC doesn't keep time on Odroid-XU3 board
when i turn on board after power off even if RTC battery is connected.
A difference with RTC driver of hardkernel kernel is that it sets
not only WUDR bit but also RUDR bit to high at the same time after
RTC_CTRL register is written. It's same with condition of only writing
ALARM registers like below description.
from S2MPS14 datasheet:
"3. For write only Alarm 0&1 Registers (0x0B~0x18), set WUDR & RUDR
bits to high."
So i tried it and it works well with keeping time. I'm not sure RTC of
S2MPS13 type also has a similar issue because it differs a little bit.
from S2MPS13 datasheet:
"3. For write only Alarm 0&1 Registers (0x0B~0x18), set WUDR & A_UDR
bits to high."
If S2MPS13 also has same issue, we can fix the problem via just below
patch.
diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c
index 8c70d78..bb8e888 100644
--- a/drivers/rtc/rtc-s5m.c
+++ b/drivers/rtc/rtc-s5m.c
@@ -635,6 +635,10 @@ static int s5m8767_rtc_init_reg(struct s5m_rtc_info *info)
case S2MPS13X:
data[0] = (0 << BCD_EN_SHIFT) | (1 << MODEL24_SHIFT);
ret = regmap_write(info->regmap, info->regs->ctrl, data[0]);
+ if (ret < 0)
+ break;
+
+ ret = s5m8767_rtc_set_alarm_reg(info);
break;
default:
But i can't find any reasonable reason about this fix from datasheet,
Thanks.
> Best regards,
> Krzysztof
>
>>
>>> Best regards,
>>> Krzysztof
>>>
>>>
>>>>
>>>>> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
>>>>> Cc: <stable@vger.kernel.org>
>>>>
>>>> can you update the stable tag with the kernel version introducing the
>>>> issue?
>>
>> Sure, i think it should be v3.16.
>>
>>>>
>>>>> ---
>>>>> drivers/rtc/rtc-s5m.c | 12 ++++++++++++
>>>>> 1 file changed, 12 insertions(+)
>>>>
>>>>> diff --git a/drivers/rtc/rtc-s5m.c b/drivers/rtc/rtc-s5m.c
>>>>> index 8c70d78..03828bb 100644
>>>>> --- a/drivers/rtc/rtc-s5m.c
>>>>> +++ b/drivers/rtc/rtc-s5m.c
>>>>> @@ -635,6 +635,18 @@ static int s5m8767_rtc_init_reg(struct s5m_rtc_info *info)
>>>>> case S2MPS13X:
>>>>> data[0] = (0 << BCD_EN_SHIFT) | (1 << MODEL24_SHIFT);
>>>>> ret = regmap_write(info->regmap, info->regs->ctrl, data[0]);
>>>>> + if (ret < 0)
>>>>> + break;
>>>>> +
>>>>> + ret = regmap_update_bits(info->regmap,
>>>>> + info->regs->rtc_udr_update,
>>>>> + info->regs->rtc_udr_mask,
>>>>> + info->regs->rtc_udr_mask);
>>>>
>>>> Very small indentation issue here, it should be aligned with the open
>>>> parenthesis.
>>
>> OK, i will.
>>
>> Thanks.
>>
>
>
next prev parent reply other threads:[~2015-08-21 6:58 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-13 8:49 [PATCH] rtc: s5m: fix to update ctrl register Joonyoung Shim
2015-08-13 10:02 ` [rtc-linux] " Krzysztof Kozlowski
2015-08-13 10:42 ` Krzysztof Kozlowski
2015-08-17 1:48 ` Joonyoung Shim
2015-08-17 1:47 ` Joonyoung Shim
2015-08-17 2:00 ` Krzysztof Kozlowski
2015-08-17 2:28 ` Joonyoung Shim
2015-08-17 3:51 ` Krzysztof Kozlowski
2015-08-20 23:15 ` Alexandre Belloni
2015-08-21 0:44 ` Krzysztof Kozlowski
2015-08-21 1:00 ` Joonyoung Shim
2015-08-21 1:21 ` Krzysztof Kozlowski
2015-08-21 6:58 ` Joonyoung Shim [this message]
2015-08-21 7:25 ` Krzysztof Kozlowski
2015-08-21 8:49 ` Joonyoung Shim
2015-08-21 9:22 ` Krzysztof Kozlowski
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=55D6CC1C.9040402@samsung.com \
--to=jy0922.shim@samsung.com \
--cc=a.zummo@towertech.it \
--cc=alexandre.belloni@free-electrons.com \
--cc=k.kozlowski@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=rtc-linux@googlegroups.com \
--cc=sbkim73@samsung.com \
--cc=stable@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).