Re: [PATCH] rtc: brcmstb-waketimer: Set wktmr prescaler

2018-02-23 Thread Florian Fainelli
On 02/21/2018 05:15 PM, Justin Chen wrote:
> The HW default is one tick per second, however instead of assuming this,
> lets make sure the waketimer is actually one tick per second before
> arming the alarm.
> 
> Signed-off-by: Justin Chen 
> ---
>  drivers/rtc/rtc-brcmstb-waketimer.c | 4 
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/rtc/rtc-brcmstb-waketimer.c 
> b/drivers/rtc/rtc-brcmstb-waketimer.c
> index 796ac79..46116b7 100644
> --- a/drivers/rtc/rtc-brcmstb-waketimer.c
> +++ b/drivers/rtc/rtc-brcmstb-waketimer.c
> @@ -60,6 +60,10 @@ static void brcmstb_waketmr_set_alarm(struct 
> brcmstb_waketmr *timer,
>  {
>   brcmstb_waketmr_clear_alarm(timer);
>  
> + /* Make sure we are actually counting in seconds */
> + writel_relaxed(BRCMSTB_WKTMR_DEFAULT_FREQ,
> + timer->base + BRCMSTB_WKTMR_PRESCALER);

The change is correct, however you would likely want to use timer->rate
which makes sure that we either got the clock rate information from the
LCCF, or we got the correct fixed rate frequency. With that fixed:

Reviewed-by: Florian Fainelli 
-- 
Florian


Re: [PATCH] rtc: brcmstb-waketimer: Set wktmr prescaler

2018-02-23 Thread Florian Fainelli
On 02/21/2018 05:15 PM, Justin Chen wrote:
> The HW default is one tick per second, however instead of assuming this,
> lets make sure the waketimer is actually one tick per second before
> arming the alarm.
> 
> Signed-off-by: Justin Chen 
> ---
>  drivers/rtc/rtc-brcmstb-waketimer.c | 4 
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/rtc/rtc-brcmstb-waketimer.c 
> b/drivers/rtc/rtc-brcmstb-waketimer.c
> index 796ac79..46116b7 100644
> --- a/drivers/rtc/rtc-brcmstb-waketimer.c
> +++ b/drivers/rtc/rtc-brcmstb-waketimer.c
> @@ -60,6 +60,10 @@ static void brcmstb_waketmr_set_alarm(struct 
> brcmstb_waketmr *timer,
>  {
>   brcmstb_waketmr_clear_alarm(timer);
>  
> + /* Make sure we are actually counting in seconds */
> + writel_relaxed(BRCMSTB_WKTMR_DEFAULT_FREQ,
> + timer->base + BRCMSTB_WKTMR_PRESCALER);

The change is correct, however you would likely want to use timer->rate
which makes sure that we either got the clock rate information from the
LCCF, or we got the correct fixed rate frequency. With that fixed:

Reviewed-by: Florian Fainelli 
-- 
Florian


[PATCH] rtc: brcmstb-waketimer: Set wktmr prescaler

2018-02-21 Thread Justin Chen
The HW default is one tick per second, however instead of assuming this,
lets make sure the waketimer is actually one tick per second before
arming the alarm.

Signed-off-by: Justin Chen 
---
 drivers/rtc/rtc-brcmstb-waketimer.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/drivers/rtc/rtc-brcmstb-waketimer.c 
b/drivers/rtc/rtc-brcmstb-waketimer.c
index 796ac79..46116b7 100644
--- a/drivers/rtc/rtc-brcmstb-waketimer.c
+++ b/drivers/rtc/rtc-brcmstb-waketimer.c
@@ -60,6 +60,10 @@ static void brcmstb_waketmr_set_alarm(struct brcmstb_waketmr 
*timer,
 {
brcmstb_waketmr_clear_alarm(timer);
 
+   /* Make sure we are actually counting in seconds */
+   writel_relaxed(BRCMSTB_WKTMR_DEFAULT_FREQ,
+   timer->base + BRCMSTB_WKTMR_PRESCALER);
+
writel_relaxed(secs + 1, timer->base + BRCMSTB_WKTMR_ALARM);
 }
 
-- 
2.7.4



[PATCH] rtc: brcmstb-waketimer: Set wktmr prescaler

2018-02-21 Thread Justin Chen
The HW default is one tick per second, however instead of assuming this,
lets make sure the waketimer is actually one tick per second before
arming the alarm.

Signed-off-by: Justin Chen 
---
 drivers/rtc/rtc-brcmstb-waketimer.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/drivers/rtc/rtc-brcmstb-waketimer.c 
b/drivers/rtc/rtc-brcmstb-waketimer.c
index 796ac79..46116b7 100644
--- a/drivers/rtc/rtc-brcmstb-waketimer.c
+++ b/drivers/rtc/rtc-brcmstb-waketimer.c
@@ -60,6 +60,10 @@ static void brcmstb_waketmr_set_alarm(struct brcmstb_waketmr 
*timer,
 {
brcmstb_waketmr_clear_alarm(timer);
 
+   /* Make sure we are actually counting in seconds */
+   writel_relaxed(BRCMSTB_WKTMR_DEFAULT_FREQ,
+   timer->base + BRCMSTB_WKTMR_PRESCALER);
+
writel_relaxed(secs + 1, timer->base + BRCMSTB_WKTMR_ALARM);
 }
 
-- 
2.7.4