All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Bedia, Vaibhav" <vaibhav.bedia@ti.com>
To: "AnilKumar, Chimata" <anilkumar@ti.com>,
	"a.zummo@towertech.it" <a.zummo@towertech.it>,
	"sameo@linux.intel.com" <sameo@linux.intel.com>,
	"tony@atomide.com" <tony@atomide.com>
Cc: Colin Foe-Parker <colin.foeparker@logicpd.com>,
	"rtc-linux@googlegroups.com" <rtc-linux@googlegroups.com>,
	"devicetree-discuss@lists.ozlabs.org"
	<devicetree-discuss@lists.ozlabs.org>,
	"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
	"grant.likely@secretlab.ca" <grant.likely@secretlab.ca>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: RE: [PATCH 2/4] rtc: OMAP: Add system pm_power_off to rtc driver
Date: Tue, 6 Nov 2012 05:45:34 +0000	[thread overview]
Message-ID: <B5906170F1614E41A8A28DE3B8D121433EC04226@DBDE01.ent.ti.com> (raw)
In-Reply-To: <1352108549-9341-3-git-send-email-anilkumar@ti.com>

On Mon, Nov 05, 2012 at 15:12:27, AnilKumar, Chimata wrote:
[...]
>  
> +#define SHUTDOWN_TIME_SEC		2
> +#define SECS_IN_MIN			60
> +#define WAIT_AFTER			(SECS_IN_MIN - SHUTDOWN_TIME_SEC)
> +#define WAIT_TIME_MS			(SHUTDOWN_TIME_SEC * 1000)
> +
>  static void __iomem	*rtc_base;
>  
[...]
> +
> +	/* Wait few seconds instead of rollover */
> +	do {
> +		omap_rtc_read_time(NULL, &tm);
> +		if (WAIT_AFTER <= tm.tm_sec)
> +			mdelay(WAIT_TIME_MS);
> +	} while (WAIT_AFTER <= tm.tm_sec);

This hardcoded wait for rollover doesn't look good. I see some
helper functions in rtc-lib.c which probably could be used for
converting the current time to elapsed seconds, add the delay and
then convert it back to the time to be programmed in RTC without
worrying about rollover. Why not use that?

> +
> +	/* Add shutdown time to the current value */
> +	tm.tm_sec += SHUTDOWN_TIME_SEC;
> +
> +	if (tm2bcd(&tm) < 0)
> +		return;
> +
> +	pr_info("System will go to power_off state in approx. %d secs\n",
> +			SHUTDOWN_TIME_SEC);
> +
> +	/* Set the ALARM2 time */
> +	rtc_write(tm.tm_sec, OMAP_RTC_ALARM2_SECONDS_REG);
> +	rtc_write(tm.tm_min, OMAP_RTC_ALARM2_MINUTES_REG);
> +	rtc_write(tm.tm_hour, OMAP_RTC_ALARM2_HOURS_REG);
> +	rtc_write(tm.tm_mday, OMAP_RTC_ALARM2_DAYS_REG);
> +	rtc_write(tm.tm_mon, OMAP_RTC_ALARM2_MONTHS_REG);
> +	rtc_write(tm.tm_year, OMAP_RTC_ALARM2_YEARS_REG);
> +
> +	/* Enable alarm2 interrupt */
> +	val = readl(rtc_base + OMAP_RTC_INTERRUPTS_REG);
> +	writel(val | OMAP_RTC_INTERRUPTS_IT_ALARM2,
> +				rtc_base + OMAP_RTC_INTERRUPTS_REG);
> +

These registers are not present in older versions of the IP so how
does that get handled?

You also need to describe the connection between the ALARM2 and the
power off logic in detail.

Regards,
Vaibhav

WARNING: multiple messages have this Message-ID (diff)
From: vaibhav.bedia@ti.com (Bedia, Vaibhav)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/4] rtc: OMAP: Add system pm_power_off to rtc driver
Date: Tue, 6 Nov 2012 05:45:34 +0000	[thread overview]
Message-ID: <B5906170F1614E41A8A28DE3B8D121433EC04226@DBDE01.ent.ti.com> (raw)
In-Reply-To: <1352108549-9341-3-git-send-email-anilkumar@ti.com>

On Mon, Nov 05, 2012 at 15:12:27, AnilKumar, Chimata wrote:
[...]
>  
> +#define SHUTDOWN_TIME_SEC		2
> +#define SECS_IN_MIN			60
> +#define WAIT_AFTER			(SECS_IN_MIN - SHUTDOWN_TIME_SEC)
> +#define WAIT_TIME_MS			(SHUTDOWN_TIME_SEC * 1000)
> +
>  static void __iomem	*rtc_base;
>  
[...]
> +
> +	/* Wait few seconds instead of rollover */
> +	do {
> +		omap_rtc_read_time(NULL, &tm);
> +		if (WAIT_AFTER <= tm.tm_sec)
> +			mdelay(WAIT_TIME_MS);
> +	} while (WAIT_AFTER <= tm.tm_sec);

This hardcoded wait for rollover doesn't look good. I see some
helper functions in rtc-lib.c which probably could be used for
converting the current time to elapsed seconds, add the delay and
then convert it back to the time to be programmed in RTC without
worrying about rollover. Why not use that?

> +
> +	/* Add shutdown time to the current value */
> +	tm.tm_sec += SHUTDOWN_TIME_SEC;
> +
> +	if (tm2bcd(&tm) < 0)
> +		return;
> +
> +	pr_info("System will go to power_off state in approx. %d secs\n",
> +			SHUTDOWN_TIME_SEC);
> +
> +	/* Set the ALARM2 time */
> +	rtc_write(tm.tm_sec, OMAP_RTC_ALARM2_SECONDS_REG);
> +	rtc_write(tm.tm_min, OMAP_RTC_ALARM2_MINUTES_REG);
> +	rtc_write(tm.tm_hour, OMAP_RTC_ALARM2_HOURS_REG);
> +	rtc_write(tm.tm_mday, OMAP_RTC_ALARM2_DAYS_REG);
> +	rtc_write(tm.tm_mon, OMAP_RTC_ALARM2_MONTHS_REG);
> +	rtc_write(tm.tm_year, OMAP_RTC_ALARM2_YEARS_REG);
> +
> +	/* Enable alarm2 interrupt */
> +	val = readl(rtc_base + OMAP_RTC_INTERRUPTS_REG);
> +	writel(val | OMAP_RTC_INTERRUPTS_IT_ALARM2,
> +				rtc_base + OMAP_RTC_INTERRUPTS_REG);
> +

These registers are not present in older versions of the IP so how
does that get handled?

You also need to describe the connection between the ALARM2 and the
power off logic in detail.

Regards,
Vaibhav

  parent reply	other threads:[~2012-11-06  5:45 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-05  9:42 [PATCH 0/4] pm: Add power off control AnilKumar Ch
2012-11-05  9:42 ` AnilKumar Ch
2012-11-05  9:42 ` [PATCH 1/4] mfd: tps65217: Set PMIC to shutdowm on PWR_EN toggle AnilKumar Ch
2012-11-05  9:42   ` AnilKumar Ch
     [not found]   ` <1352108549-9341-2-git-send-email-anilkumar-l0cyMroinI0@public.gmane.org>
2012-11-05 16:59     ` Benoit Cousson
2012-11-05 16:59       ` Benoit Cousson
     [not found]       ` <5097F078.50701-l0cyMroinI0@public.gmane.org>
2012-11-06  5:13         ` AnilKumar, Chimata
2012-11-06  5:13           ` AnilKumar, Chimata
2012-11-14  2:23       ` Mark Brown
2012-11-14  2:23         ` Mark Brown
     [not found]         ` <20121114022341.GM4415-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-11-14  5:10           ` AnilKumar, Chimata
2012-11-14  5:10             ` AnilKumar, Chimata
2012-11-14  6:11         ` AnilKumar, Chimata
2012-11-14  6:11           ` AnilKumar, Chimata
2012-11-14  6:21           ` Mark Brown
2012-11-14  6:21             ` Mark Brown
     [not found]             ` <20121114062117.GC7407-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-11-14  6:49               ` AnilKumar, Chimata
2012-11-14  6:49                 ` AnilKumar, Chimata
2012-11-14  7:00                 ` Mark Brown
2012-11-14  7:00                   ` Mark Brown
     [not found]                   ` <20121114070046.GE7407-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-11-14 10:08                     ` Benoit Cousson
2012-11-14 10:08                       ` Benoit Cousson
2012-11-14 10:24                       ` Mark Brown
2012-11-14 10:24                         ` Mark Brown
     [not found]                         ` <20121114102452.GI7407-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-11-16  6:16                           ` AnilKumar, Chimata
2012-11-16  6:16                             ` AnilKumar, Chimata
2012-11-05  9:42 ` [PATCH 2/4] rtc: OMAP: Add system pm_power_off to rtc driver AnilKumar Ch
2012-11-05  9:42   ` AnilKumar Ch
     [not found]   ` <1352108549-9341-3-git-send-email-anilkumar-l0cyMroinI0@public.gmane.org>
2012-11-05 16:43     ` Benoit Cousson
2012-11-05 16:43       ` Benoit Cousson
     [not found]       ` <5097ECAD.9010101-l0cyMroinI0@public.gmane.org>
2012-11-05 17:39         ` Colin FoeParker
2012-11-05 17:39           ` Colin FoeParker
2012-11-06  5:07       ` AnilKumar, Chimata
2012-11-06  5:07         ` AnilKumar, Chimata
2012-11-06 16:56         ` Benoit Cousson
2012-11-06 16:56           ` Benoit Cousson
     [not found]           ` <50994156.4080305-l0cyMroinI0@public.gmane.org>
2012-11-12  9:47             ` AnilKumar, Chimata
2012-11-12  9:47               ` AnilKumar, Chimata
2012-11-14  5:01           ` AnilKumar, Chimata
2012-11-14  5:01             ` AnilKumar, Chimata
2012-11-14  5:21             ` Mark Brown
2012-11-14  5:21               ` Mark Brown
2012-11-14  5:50           ` AnilKumar, Chimata
2012-11-14  5:50             ` AnilKumar, Chimata
2012-11-14  6:00             ` Mark Brown
2012-11-14  6:00               ` Mark Brown
2012-11-06  5:45   ` Bedia, Vaibhav [this message]
2012-11-06  5:45     ` Bedia, Vaibhav
     [not found]     ` <B5906170F1614E41A8A28DE3B8D121433EC04226-Er742YJ7I/eIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2012-11-12  9:47       ` AnilKumar, Chimata
2012-11-12  9:47         ` AnilKumar, Chimata
2012-11-16  6:13     ` AnilKumar, Chimata
2012-11-16  6:13       ` AnilKumar, Chimata
2012-11-16 10:47     ` AnilKumar, Chimata
2012-11-16 10:47       ` AnilKumar, Chimata
2012-11-05  9:42 ` [PATCH 3/4] ARM: dts: AM33XX: Set pmic-shutdown-controller for BeagleBone AnilKumar Ch
2012-11-05  9:42   ` AnilKumar Ch
     [not found] ` <1352108549-9341-1-git-send-email-anilkumar-l0cyMroinI0@public.gmane.org>
2012-11-05  9:42   ` [PATCH 4/4] ARM: dts: AM33XX: Enable system power off control in am335x-bone AnilKumar Ch
2012-11-05  9:42     ` AnilKumar Ch

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=B5906170F1614E41A8A28DE3B8D121433EC04226@DBDE01.ent.ti.com \
    --to=vaibhav.bedia@ti.com \
    --cc=a.zummo@towertech.it \
    --cc=anilkumar@ti.com \
    --cc=colin.foeparker@logicpd.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=rob.herring@calxeda.com \
    --cc=rtc-linux@googlegroups.com \
    --cc=sameo@linux.intel.com \
    --cc=tony@atomide.com \
    /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.