Re: [PATCH 1/2] rtc: da9063: set range

From: Wolfram Sang
Date: Tue Apr 02 2019 - 05:34:06 EST


Hi Alexandre,

> I had a look at the driver and I guess you have a 9063AD while Steve
> uses another model.
>
> That explains why you need the uie_unsupported flag. The 9063AD can only
> do alarms on a minute boundary.

Bingo! Nice catch. I was on the wrong track because we have an early
boot quirk handling for the DA on this platform and I was searching
there for side effects. Makes all sense now. Thanks a lot for your help!

> Since the move to hr_timer, the uie are done using the classic alarm or
> they are emulated by the core. This improved the situation for many RTCs
> that don't have a separate UIE but this made it worse for a few (and
> this is an example). I have plan to work on this but didn't have the
> time yet.

I understand. That explains why my RTC knowledge from a few years ago
feels so outdated :)

> I suggest the following patch:
>
> ===
>
> From 37b2ab7d537e76e42bde64cf4b57701b0ed8e8cd Mon Sep 17 00:00:00 2001
> From: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
> Date: Tue, 2 Apr 2019 10:06:46 +0200
> Subject: [PATCH] rtc: da9063: set uie_unsupported when relevant
>
> The DA9063AD doesn't support alarms on any seconds and its granularity is
> the minute. Set uie_unsupported in that case.
>
> Reported-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>

Please use this address:

Reported-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>

> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>

And probably Geert wants his "+renesas" address, too:

Geert Uytterhoeven <geert+renesas@xxxxxxxxx>

> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
> ---
> drivers/rtc/rtc-da9063.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/rtc/rtc-da9063.c b/drivers/rtc/rtc-da9063.c
> index 1b792bcea3c7..53e690b0f3a2 100644
> --- a/drivers/rtc/rtc-da9063.c
> +++ b/drivers/rtc/rtc-da9063.c
> @@ -475,6 +475,9 @@ static int da9063_rtc_probe(struct platform_device *pdev)
> da9063_data_to_tm(data, &rtc->alarm_time, rtc);
> rtc->rtc_sync = false;
>
> + if (config->rtc_data_start != RTC_SEC)
> + rtc->rtc_dev->uie_unsupported = 1;
> +

I think we should have a comment here, like:

/* FIXME: Make use of the TICK interrupt once the RTC core supports it */

So, this helps the UIE test:

Reviewed-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Tested-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>

And I guess we have to live with two of the alarm tests failing because
of the minute granularity?

Regards,

Wolfram

Attachment: signature.asc
Description: PGP signature