All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sergei Shtylyov <sshtylyov@mvista.com>
To: Maarten ter Huurne <maarten@treewalker.org>
Cc: Ralf Baechle <ralf@linux-mips.org>,
	Lars-Peter Clausen <lars@metafoo.de>,
	linux-mips@linux-mips.org
Subject: Re: [PATCH] MIPS: JZ4740: reset: Initialize hibernate wakeup counters.
Date: Fri, 30 Mar 2012 16:23:31 +0400	[thread overview]
Message-ID: <4F75A5C3.9000405@mvista.com> (raw)
In-Reply-To: <1333037998-18762-1-git-send-email-maarten@treewalker.org>

Hello.

On 29-03-2012 20:19, Maarten ter Huurne wrote:

> In hibernation mode only the wakeup logic and the RTC are left running,
> so this is what users perceive as power down.

> If the counters are not initialized, the corresponding pin (typically
> connected to the power button) has to be asserted for two seconds
> before the device wakes up. Most users expect a shorter wakeup time.

> I took the timing values of 100 ms and 60 ms from BouKiCHi's patch for
> the Dingoo A320 kernel.

> Signed-off-by: Maarten ter Huurne<maarten@treewalker.org>
> Acked-by: Lars-Peter Clausen<lars@metafoo.de>
> ---
>   arch/mips/jz4740/reset.c |   46 ++++++++++++++++++++++++++++++++++++++++------
>   1 files changed, 40 insertions(+), 6 deletions(-)

> diff --git a/arch/mips/jz4740/reset.c b/arch/mips/jz4740/reset.c
> index 5f1fb95..e6d1d7b 100644
> --- a/arch/mips/jz4740/reset.c
> +++ b/arch/mips/jz4740/reset.c
[...]
> @@ -53,21 +56,52 @@ static void jz4740_restart(char *command)
[...]
> -static void jz4740_power_off(void)
> +static inline void jz4740_rtc_wait_ready(void __iomem *rtc_base)
>   {
> -	void __iomem *rtc_base = ioremap(JZ4740_RTC_BASE_ADDR, 0x24);
>   	uint32_t ctrl;
> -

    Do not remove the empty line here.

>   	do {
>   		ctrl = readl(rtc_base + JZ_REG_RTC_CTRL);
>   	} while (!(ctrl&  JZ_RTC_CTRL_WRDY));
> +}
> +
> +static void jz4740_power_off(void)
> +{
> +	void __iomem *rtc_base = ioremap(JZ4740_RTC_BASE_ADDR, 0x38);
> +	unsigned long long wakeup_filter_ticks;
> +	unsigned long long reset_counter_ticks;
> +
> +	/* Set minimum wakeup pin assertion time: 100 ms.
> +	   Range is 0 to 2 sec if RTC is clocked at 32 kHz. */
> +	wakeup_filter_ticks = (100 * jz4740_clock_bdata.rtc_rate) / 1000;
> +	if (wakeup_filter_ticks<  JZ_RTC_WAKEUP_FILTER_MASK)
> +		wakeup_filter_ticks&= JZ_RTC_WAKEUP_FILTER_MASK;
> +	else
> +		wakeup_filter_ticks = JZ_RTC_WAKEUP_FILTER_MASK;
> +	jz4740_rtc_wait_ready(rtc_base);
> +	writel(wakeup_filter_ticks, rtc_base + JZ_REG_RTC_WAKEUP_FILTER);

    Writing 64-bit variable to a 32-bit register?

> +	/* Set reset pin low-level assertion time after wakeup: 60 ms.
> +	   Range is 0 to 125 ms if RTC is clocked at 32 kHz. */

    The preferred style for multi-line comments is this:

/*
  * bla
  * bla
  */

> +	reset_counter_ticks = (60 * jz4740_clock_bdata.rtc_rate) / 1000;
> +	if (reset_counter_ticks<  JZ_RTC_RESET_COUNTER_MASK)
> +		reset_counter_ticks&= JZ_RTC_RESET_COUNTER_MASK;
> +	else
> +		reset_counter_ticks = JZ_RTC_RESET_COUNTER_MASK;
> +	jz4740_rtc_wait_ready(rtc_base);
> +	writel(reset_counter_ticks, rtc_base + JZ_REG_RTC_RESET_COUNTER);

    Writing 64-bit variable to a 32-bit register?

WBR, Sergei

  reply	other threads:[~2012-03-30 12:25 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-29 16:19 [PATCH] MIPS: JZ4740: reset: Initialize hibernate wakeup counters Maarten ter Huurne
2012-03-30 12:23 ` Sergei Shtylyov [this message]
2012-03-30 14:07   ` Maarten ter Huurne
2012-03-30 14:18     ` Maarten ter Huurne
2012-03-30 14:32     ` Maarten ter Huurne

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=4F75A5C3.9000405@mvista.com \
    --to=sshtylyov@mvista.com \
    --cc=lars@metafoo.de \
    --cc=linux-mips@linux-mips.org \
    --cc=maarten@treewalker.org \
    --cc=ralf@linux-mips.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.