* [PATCH 0/2] OMAP3: wdtimer: Fix CORE idle
@ 2011-03-10 10:54 Kalle Jokiniemi
2011-03-10 10:54 ` [PATCH 1/2] Watchdog: omap_wdt: add fine grain runtime-pm Kalle Jokiniemi
` (2 more replies)
0 siblings, 3 replies; 16+ messages in thread
From: Kalle Jokiniemi @ 2011-03-10 10:54 UTC (permalink / raw)
To: paul, khilman, tony; +Cc: linux-omap, Kalle Jokiniemi
These patches fix the issue where the wdtimer blocks CORE idle
transitions on n900 (OMAP3). The root cause was that SMART idle
mode in wdtimer did not allow the CORE idle transition to happen.
Paul, I added your S-o-bs to the patches already. Please check
that they are ok by you.
Paul Walmsley (2):
Watchdog: omap_wdt: add fine grain runtime-pm
OMAP3: wdtimer: Fix CORE idle transition
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 1 +
drivers/watchdog/omap_wdt.c | 25 +++++++++++++++++++++++--
2 files changed, 24 insertions(+), 2 deletions(-)
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/2] Watchdog: omap_wdt: add fine grain runtime-pm
2011-03-10 10:54 [PATCH 0/2] OMAP3: wdtimer: Fix CORE idle Kalle Jokiniemi
@ 2011-03-10 10:54 ` Kalle Jokiniemi
2011-03-10 13:02 ` Paul Walmsley
2011-03-10 10:54 ` [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition Kalle Jokiniemi
2011-03-10 11:08 ` [PATCH 0/2] OMAP3: wdtimer: Fix CORE idle Paul Walmsley
2 siblings, 1 reply; 16+ messages in thread
From: Kalle Jokiniemi @ 2011-03-10 10:54 UTC (permalink / raw)
To: paul, khilman, tony; +Cc: linux-omap, Kalle Jokiniemi
From: Paul Walmsley <paul@pwsan.com>
The omap_wdt should only be in full active state when the
registers are being accessed. Otherwise the device can be
on lower power mode.
This patch is based on a patch created by Atal
Shargorodsky: http://lkml.org/lkml/2009/3/10/266.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
Tested-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
---
drivers/watchdog/omap_wdt.c | 25 +++++++++++++++++++++++--
1 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/drivers/watchdog/omap_wdt.c b/drivers/watchdog/omap_wdt.c
index 3dd4971..2b4acb8 100644
--- a/drivers/watchdog/omap_wdt.c
+++ b/drivers/watchdog/omap_wdt.c
@@ -124,6 +124,8 @@ static void omap_wdt_set_timeout(struct omap_wdt_dev *wdev)
u32 pre_margin = GET_WLDR_VAL(timer_margin);
void __iomem *base = wdev->base;
+ pm_runtime_get_sync(wdev->dev);
+
/* just count up at 32 KHz */
while (__raw_readl(base + OMAP_WATCHDOG_WPS) & 0x04)
cpu_relax();
@@ -131,6 +133,8 @@ static void omap_wdt_set_timeout(struct omap_wdt_dev *wdev)
__raw_writel(pre_margin, base + OMAP_WATCHDOG_LDR);
while (__raw_readl(base + OMAP_WATCHDOG_WPS) & 0x04)
cpu_relax();
+
+ pm_runtime_put_sync(wdev->dev);
}
/*
@@ -160,6 +164,8 @@ static int omap_wdt_open(struct inode *inode, struct file *file)
omap_wdt_ping(wdev); /* trigger loading of new timeout value */
omap_wdt_enable(wdev);
+ pm_runtime_put_sync(wdev->dev);
+
return nonseekable_open(inode, file);
}
@@ -171,6 +177,7 @@ static int omap_wdt_release(struct inode *inode, struct file *file)
* Shut off the timer unless NOWAYOUT is defined.
*/
#ifndef CONFIG_WATCHDOG_NOWAYOUT
+ pm_runtime_get_sync(wdev->dev);
omap_wdt_disable(wdev);
@@ -190,9 +197,11 @@ static ssize_t omap_wdt_write(struct file *file, const char __user *data,
/* Refresh LOAD_TIME. */
if (len) {
+ pm_runtime_get_sync(wdev->dev);
spin_lock(&wdt_lock);
omap_wdt_ping(wdev);
spin_unlock(&wdt_lock);
+ pm_runtime_put_sync(wdev->dev);
}
return len;
}
@@ -224,15 +233,18 @@ static long omap_wdt_ioctl(struct file *file, unsigned int cmd,
return put_user(omap_prcm_get_reset_sources(),
(int __user *)arg);
case WDIOC_KEEPALIVE:
+ pm_runtime_get_sync(wdev->dev);
spin_lock(&wdt_lock);
omap_wdt_ping(wdev);
spin_unlock(&wdt_lock);
+ pm_runtime_put_sync(wdev->dev);
return 0;
case WDIOC_SETTIMEOUT:
if (get_user(new_margin, (int __user *)arg))
return -EFAULT;
omap_wdt_adjust_timeout(new_margin);
+ pm_runtime_get_sync(wdev->dev);
spin_lock(&wdt_lock);
omap_wdt_disable(wdev);
omap_wdt_set_timeout(wdev);
@@ -240,6 +252,7 @@ static long omap_wdt_ioctl(struct file *file, unsigned int cmd,
omap_wdt_ping(wdev);
spin_unlock(&wdt_lock);
+ pm_runtime_put_sync(wdev->dev);
/* Fall */
case WDIOC_GETTIMEOUT:
return put_user(timer_margin, (int __user *)arg);
@@ -345,8 +358,11 @@ static void omap_wdt_shutdown(struct platform_device *pdev)
{
struct omap_wdt_dev *wdev = platform_get_drvdata(pdev);
- if (wdev->omap_wdt_users)
+ if (wdev->omap_wdt_users) {
+ pm_runtime_get_sync(wdev->dev);
omap_wdt_disable(wdev);
+ pm_runtime_put_sync(wdev->dev);
+ }
}
static int __devexit omap_wdt_remove(struct platform_device *pdev)
@@ -381,8 +397,11 @@ static int omap_wdt_suspend(struct platform_device *pdev, pm_message_t state)
{
struct omap_wdt_dev *wdev = platform_get_drvdata(pdev);
- if (wdev->omap_wdt_users)
+ if (wdev->omap_wdt_users) {
+ pm_runtime_get_sync(wdev->dev);
omap_wdt_disable(wdev);
+ pm_runtime_put_sync(wdev->dev);
+ }
return 0;
}
@@ -392,8 +411,10 @@ static int omap_wdt_resume(struct platform_device *pdev)
struct omap_wdt_dev *wdev = platform_get_drvdata(pdev);
if (wdev->omap_wdt_users) {
+ pm_runtime_get_sync(wdev->dev);
omap_wdt_enable(wdev);
omap_wdt_ping(wdev);
+ pm_runtime_put_sync(wdev->dev);
}
return 0;
--
1.7.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition
2011-03-10 10:54 [PATCH 0/2] OMAP3: wdtimer: Fix CORE idle Kalle Jokiniemi
2011-03-10 10:54 ` [PATCH 1/2] Watchdog: omap_wdt: add fine grain runtime-pm Kalle Jokiniemi
@ 2011-03-10 10:54 ` Kalle Jokiniemi
2011-03-10 11:22 ` Cousson, Benoit
2011-03-10 11:08 ` [PATCH 0/2] OMAP3: wdtimer: Fix CORE idle Paul Walmsley
2 siblings, 1 reply; 16+ messages in thread
From: Kalle Jokiniemi @ 2011-03-10 10:54 UTC (permalink / raw)
To: paul, khilman, tony; +Cc: linux-omap, Kalle Jokiniemi
From: Paul Walmsley <paul@pwsan.com>
The HW superwised smart idle for wdtimer in OMAP3 prevents
CORE power domain idle transitions. Disable it by swithing
to SW supervised transitions.
Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
---
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index 196a834..a99a4f3 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -1293,6 +1293,7 @@ static struct omap_hwmod omap3xxx_wd_timer2_hwmod = {
.slaves = omap3xxx_wd_timer2_slaves,
.slaves_cnt = ARRAY_SIZE(omap3xxx_wd_timer2_slaves),
.omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
+ .flags = HWMOD_SWSUP_SIDLE,
};
/* UART common */
--
1.7.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 0/2] OMAP3: wdtimer: Fix CORE idle
2011-03-10 10:54 [PATCH 0/2] OMAP3: wdtimer: Fix CORE idle Kalle Jokiniemi
2011-03-10 10:54 ` [PATCH 1/2] Watchdog: omap_wdt: add fine grain runtime-pm Kalle Jokiniemi
2011-03-10 10:54 ` [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition Kalle Jokiniemi
@ 2011-03-10 11:08 ` Paul Walmsley
2 siblings, 0 replies; 16+ messages in thread
From: Paul Walmsley @ 2011-03-10 11:08 UTC (permalink / raw)
To: Kalle Jokiniemi; +Cc: khilman, tony, linux-omap
On Thu, 10 Mar 2011, Kalle Jokiniemi wrote:
> These patches fix the issue where the wdtimer blocks CORE idle
> transitions on n900 (OMAP3). The root cause was that SMART idle
> mode in wdtimer did not allow the CORE idle transition to happen.
>
> Paul, I added your S-o-bs to the patches already. Please check
> that they are ok by you.
Thanks, they look mostly fine to me. What do you think about saying
something like this in the commit message on the first one?
This patch is based on a patch created by Kalle Jokiniemi:
https://patchwork.kernel.org/patch/618231/
which is itself based on a patch created by Atal
Shargorodsky: http://lkml.org/lkml/2009/3/10/266.
Also, I guess we should get an Acked-by for the second patch from Wim Van
Sebroeck <wim@iguana.be> since he is the maintainer. Could you forward a
copy of the second patch to linux-watchdog@vger.kernel.org and Wim and
request his Ack?
thanks,
- Paul
>
> Paul Walmsley (2):
> Watchdog: omap_wdt: add fine grain runtime-pm
> OMAP3: wdtimer: Fix CORE idle transition
>
> arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 1 +
> drivers/watchdog/omap_wdt.c | 25 +++++++++++++++++++++++--
> 2 files changed, 24 insertions(+), 2 deletions(-)
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition
2011-03-10 10:54 ` [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition Kalle Jokiniemi
@ 2011-03-10 11:22 ` Cousson, Benoit
2011-03-10 12:32 ` kalle.jokiniemi
0 siblings, 1 reply; 16+ messages in thread
From: Cousson, Benoit @ 2011-03-10 11:22 UTC (permalink / raw)
To: Kalle Jokiniemi
Cc: paul@pwsan.com, Hilman, Kevin, tony@atomide.com,
linux-omap@vger.kernel.org
On 3/10/2011 11:54 AM, Kalle Jokiniemi wrote:
> From: Paul Walmsley<paul@pwsan.com>
>
> The HW superwised smart idle for wdtimer in OMAP3 prevents
> CORE power domain idle transitions. Disable it by swithing
> to SW supervised transitions.
We should probably highlight that this looks like a HW bug.
Smartidle and clockactivity are supposed to be supported by this module
on OMAP3.
Some further investigation with TI HW folks are needed to understand that.
Regards,
Benoit
>
> Signed-off-by: Kalle Jokiniemi<kalle.jokiniemi@nokia.com>
> Signed-off-by: Paul Walmsley<paul@pwsan.com>
> ---
> arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> index 196a834..a99a4f3 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> @@ -1293,6 +1293,7 @@ static struct omap_hwmod omap3xxx_wd_timer2_hwmod = {
> .slaves = omap3xxx_wd_timer2_slaves,
> .slaves_cnt = ARRAY_SIZE(omap3xxx_wd_timer2_slaves),
> .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
> + .flags = HWMOD_SWSUP_SIDLE,
> };
>
> /* UART common */
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition
2011-03-10 12:10 [PATCH v2 " Kalle Jokiniemi
@ 2011-03-10 12:10 ` Kalle Jokiniemi
2011-03-10 14:52 ` Paul Walmsley
0 siblings, 1 reply; 16+ messages in thread
From: Kalle Jokiniemi @ 2011-03-10 12:10 UTC (permalink / raw)
To: linux-watchdog, wim, khilman, linux-omap, tony
Cc: jhnikula, ilkka.koskinen, Paul Walmsley, Kalle Jokiniemi,
Benoit Cousson
From: Paul Walmsley <paul@pwsan.com>
The HW superwised smart idle for wdtimer in OMAP3 prevents
CORE power domain idle transitions. Disable it by swithing
to SW supervised transitions.
This could be a hardware bug in the OMAP3 wdtimer2 block.
Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
---
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index 196a834..ebd3309 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -1293,6 +1293,11 @@ static struct omap_hwmod omap3xxx_wd_timer2_hwmod = {
.slaves = omap3xxx_wd_timer2_slaves,
.slaves_cnt = ARRAY_SIZE(omap3xxx_wd_timer2_slaves),
.omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
+ /*
+ * XXX: Use software supervised mode, HW supervised smartidle seems to
+ * block CORE power domain idle transitions. Maybe a HW bug in wdt2?
+ */
+ .flags = HWMOD_SWSUP_SIDLE,
};
/* UART common */
--
1.7.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* RE: [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition
2011-03-10 11:22 ` Cousson, Benoit
@ 2011-03-10 12:32 ` kalle.jokiniemi
0 siblings, 0 replies; 16+ messages in thread
From: kalle.jokiniemi @ 2011-03-10 12:32 UTC (permalink / raw)
To: b-cousson; +Cc: paul, khilman, tony, linux-omap
Hi,
> -----Original Message-----
> From: ext Cousson, Benoit [mailto:b-cousson@ti.com]
> Sent: 10. maaliskuuta 2011 13:23
> To: Jokiniemi Kalle (Nokia-MS/Tampere)
> Cc: paul@pwsan.com; Hilman, Kevin; tony@atomide.com; linux-
> omap@vger.kernel.org
> Subject: Re: [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition
>
> On 3/10/2011 11:54 AM, Kalle Jokiniemi wrote:
> > From: Paul Walmsley<paul@pwsan.com>
> >
> > The HW superwised smart idle for wdtimer in OMAP3 prevents CORE
> power
> > domain idle transitions. Disable it by swithing to SW supervised
> > transitions.
>
> We should probably highlight that this looks like a HW bug.
> Smartidle and clockactivity are supposed to be supported by this module on
> OMAP3.
>
> Some further investigation with TI HW folks are needed to understand that.
I added a comment also to the code in the last version of the 2/2 patch, in case you find something and want to do some improvements.
- Kalle
>
> Regards,
> Benoit
>
> >
> > Signed-off-by: Kalle Jokiniemi<kalle.jokiniemi@nokia.com>
> > Signed-off-by: Paul Walmsley<paul@pwsan.com>
> > ---
> > arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 1 +
> > 1 files changed, 1 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> > b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> > index 196a834..a99a4f3 100644
> > --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> > +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> > @@ -1293,6 +1293,7 @@ static struct omap_hwmod
> omap3xxx_wd_timer2_hwmod = {
> > .slaves = omap3xxx_wd_timer2_slaves,
> > .slaves_cnt = ARRAY_SIZE(omap3xxx_wd_timer2_slaves),
> > .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
> > + .flags = HWMOD_SWSUP_SIDLE,
> > };
> >
> > /* UART common */
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/2] Watchdog: omap_wdt: add fine grain runtime-pm
2011-03-10 10:54 ` [PATCH 1/2] Watchdog: omap_wdt: add fine grain runtime-pm Kalle Jokiniemi
@ 2011-03-10 13:02 ` Paul Walmsley
2011-03-10 13:04 ` Paul Walmsley
` (2 more replies)
0 siblings, 3 replies; 16+ messages in thread
From: Paul Walmsley @ 2011-03-10 13:02 UTC (permalink / raw)
To: Kalle Jokiniemi; +Cc: khilman, Cousson, Benoit, tony, linux-omap
[-- Attachment #1: Type: TEXT/PLAIN, Size: 757 bytes --]
Hello Kalle,
On Thu, 10 Mar 2011, Kalle Jokiniemi wrote:
> From: Paul Walmsley <paul@pwsan.com>
>
> The omap_wdt should only be in full active state when the
> registers are being accessed. Otherwise the device can be
> on lower power mode.
>
> This patch is based on a patch created by Atal
> Shargorodsky: http://lkml.org/lkml/2009/3/10/266.
>
> Signed-off-by: Paul Walmsley <paul@pwsan.com>
> Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
> Tested-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
Regarding Benoît's E-mail about this patch, I wonder if this patch is
still needed. If you have the time, would you be willing to do yet
another test with the HWMOD_SWSUP_SIDLE patch, but without this one?
- Paul
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/2] Watchdog: omap_wdt: add fine grain runtime-pm
2011-03-10 13:02 ` Paul Walmsley
@ 2011-03-10 13:04 ` Paul Walmsley
2011-03-11 7:32 ` kalle.jokiniemi
2011-03-11 7:31 ` kalle.jokiniemi
2011-03-11 7:37 ` kalle.jokiniemi
2 siblings, 1 reply; 16+ messages in thread
From: Paul Walmsley @ 2011-03-10 13:04 UTC (permalink / raw)
To: Kalle Jokiniemi; +Cc: khilman, Cousson, Benoit, tony, linux-omap
[-- Attachment #1: Type: TEXT/PLAIN, Size: 435 bytes --]
On Thu, 10 Mar 2011, Paul Walmsley wrote:
> Regarding Benoît's E-mail about this patch, I wonder if this patch is
> still needed. If you have the time, would you be willing to do yet
> another test with the HWMOD_SWSUP_SIDLE patch, but without this one?
Sigh, I take this back. I don't think it will work without the
fine-grained runtime PM control patch, since the WDTIMER will be in
no-idle the entire time.
- Paul
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition
2011-03-10 12:10 ` [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition Kalle Jokiniemi
@ 2011-03-10 14:52 ` Paul Walmsley
2011-03-14 10:34 ` kalle.jokiniemi
0 siblings, 1 reply; 16+ messages in thread
From: Paul Walmsley @ 2011-03-10 14:52 UTC (permalink / raw)
To: Kalle Jokiniemi
Cc: linux-watchdog, wim, khilman, linux-omap, tony, jhnikula,
ilkka.koskinen, Benoit Cousson
On Thu, 10 Mar 2011, Kalle Jokiniemi wrote:
> From: Paul Walmsley <paul@pwsan.com>
>
> The HW superwised smart idle for wdtimer in OMAP3 prevents
> CORE power domain idle transitions. Disable it by swithing
> to SW supervised transitions.
>
> This could be a hardware bug in the OMAP3 wdtimer2 block.
>
> Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
> Signed-off-by: Paul Walmsley <paul@pwsan.com>
> Cc: Benoit Cousson <b-cousson@ti.com>
I've queued this one for 2.6.39, since it seems pretty clear that
target smart-idle mode doesn't work with this IP block.
Probably we'll need to do the same thing for OMAP2420/2430, but I'm not
going to touch those right now, since we're so close to the merge window.
- Paul
^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [PATCH 1/2] Watchdog: omap_wdt: add fine grain runtime-pm
2011-03-10 13:02 ` Paul Walmsley
2011-03-10 13:04 ` Paul Walmsley
@ 2011-03-11 7:31 ` kalle.jokiniemi
2011-03-11 7:37 ` kalle.jokiniemi
2 siblings, 0 replies; 16+ messages in thread
From: kalle.jokiniemi @ 2011-03-11 7:31 UTC (permalink / raw)
To: paul; +Cc: khilman, b-cousson, tony, linux-omap
> -----Original Message-----
> From: ext Paul Walmsley [mailto:paul@pwsan.com]
> Sent: 10. maaliskuuta 2011 15:02
> To: Jokiniemi Kalle (Nokia-MS/Tampere)
> Cc: khilman@ti.com; Cousson, Benoit; tony@atomide.com; linux-
> omap@vger.kernel.org
> Subject: Re: [PATCH 1/2] Watchdog: omap_wdt: add fine grain runtime-pm
>
> Hello Kalle,
>
> On Thu, 10 Mar 2011, Kalle Jokiniemi wrote:
>
> > From: Paul Walmsley <paul@pwsan.com>
> >
> > The omap_wdt should only be in full active state when the registers
> > are being accessed. Otherwise the device can be on lower power mode.
> >
> > This patch is based on a patch created by Atal
> > Shargorodsky: http://lkml.org/lkml/2009/3/10/266.
> >
> > Signed-off-by: Paul Walmsley <paul@pwsan.com>
> > Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
> > Tested-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
>
> Regarding Benoît's E-mail about this patch, I wonder if this patch is still
> needed. If you have the time, would you be willing to do yet another test
> with the HWMOD_SWSUP_SIDLE patch, but without this one?
I did that already, no luck... If we want to make it work without the runtime-pm patch, then we need to switch the wdtimer2 to force idle mode. If you're uncomfortable with the idlemode priority patch, maybe we do some quirk flag that enables force idle mode for modules that have it.
- Kalle
>
>
> - Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [PATCH 1/2] Watchdog: omap_wdt: add fine grain runtime-pm
2011-03-10 13:04 ` Paul Walmsley
@ 2011-03-11 7:32 ` kalle.jokiniemi
0 siblings, 0 replies; 16+ messages in thread
From: kalle.jokiniemi @ 2011-03-11 7:32 UTC (permalink / raw)
To: paul; +Cc: khilman, b-cousson, tony, linux-omap
> -----Original Message-----
> From: ext Paul Walmsley [mailto:paul@pwsan.com]
> Sent: 10. maaliskuuta 2011 15:04
> To: Jokiniemi Kalle (Nokia-MS/Tampere)
> Cc: khilman@ti.com; Cousson, Benoit; tony@atomide.com; linux-
> omap@vger.kernel.org
> Subject: Re: [PATCH 1/2] Watchdog: omap_wdt: add fine grain runtime-pm
>
> On Thu, 10 Mar 2011, Paul Walmsley wrote:
>
> > Regarding Benoît's E-mail about this patch, I wonder if this patch is
> > still needed. If you have the time, would you be willing to do yet
> > another test with the HWMOD_SWSUP_SIDLE patch, but without this one?
>
> Sigh, I take this back. I don't think it will work without the fine-grained
> runtime PM control patch, since the WDTIMER will be in no-idle the entire
> time.
Yes, correct...
- Kalle
>
> - Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [PATCH 1/2] Watchdog: omap_wdt: add fine grain runtime-pm
2011-03-10 13:02 ` Paul Walmsley
2011-03-10 13:04 ` Paul Walmsley
2011-03-11 7:31 ` kalle.jokiniemi
@ 2011-03-11 7:37 ` kalle.jokiniemi
2 siblings, 0 replies; 16+ messages in thread
From: kalle.jokiniemi @ 2011-03-11 7:37 UTC (permalink / raw)
To: paul; +Cc: khilman, b-cousson, tony, linux-omap
Hi,
> -----Original Message-----
> From: Jokiniemi Kalle (Nokia-MS/Tampere)
>
> I did that already, no luck... If we want to make it work without the runtime-
> pm patch, then we need to switch the wdtimer2 to force idle mode. If you're
> uncomfortable with the idlemode priority patch, maybe we do some quirk
> flag that enables force idle mode for modules that have it.
Never mind that, I see this is going in already...
Thanks everyone for helping out with this one. I'll backport this to MeeGo N900 kernel, so we'll get working cpu idle there ;)
- Kalle
^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition
2011-03-10 14:52 ` Paul Walmsley
@ 2011-03-14 10:34 ` kalle.jokiniemi
2011-03-14 19:27 ` Paul Walmsley
0 siblings, 1 reply; 16+ messages in thread
From: kalle.jokiniemi @ 2011-03-14 10:34 UTC (permalink / raw)
To: paul
Cc: linux-watchdog, wim, khilman, linux-omap, tony, jhnikula,
ilkka.koskinen, b-cousson
Hi Paul,
> -----Original Message-----
> From: ext Paul Walmsley [mailto:paul@pwsan.com]
> Sent: 10. maaliskuuta 2011 16:53
> > From: Paul Walmsley <paul@pwsan.com>
> >
> > The HW superwised smart idle for wdtimer in OMAP3 prevents CORE
> power
> > domain idle transitions. Disable it by swithing to SW supervised
> > transitions.
> >
> > This could be a hardware bug in the OMAP3 wdtimer2 block.
> >
> > Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
> > Signed-off-by: Paul Walmsley <paul@pwsan.com>
> > Cc: Benoit Cousson <b-cousson@ti.com>
>
> I've queued this one for 2.6.39, since it seems pretty clear that target smart-
> idle mode doesn't work with this IP block.
What about the 1/2 patch? Is that going in, and to which kernel version (our integrator would like to put in a note when we can remove the back ported patch)
- Kalle
>
> Probably we'll need to do the same thing for OMAP2420/2430, but I'm not
> going to touch those right now, since we're so close to the merge window.
>
>
> - Paul
^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition
2011-03-14 10:34 ` kalle.jokiniemi
@ 2011-03-14 19:27 ` Paul Walmsley
2011-03-15 6:57 ` kalle.jokiniemi
0 siblings, 1 reply; 16+ messages in thread
From: Paul Walmsley @ 2011-03-14 19:27 UTC (permalink / raw)
To: kalle.jokiniemi
Cc: linux-watchdog, wim, khilman, linux-omap, tony, jhnikula,
ilkka.koskinen, b-cousson
Hello Kalle,
On Mon, 14 Mar 2011, kalle.jokiniemi@nokia.com wrote:
> What about the 1/2 patch? Is that going in, and to which kernel version
> (our integrator would like to put in a note when we can remove the back
> ported patch)
It's queued for Linus for the upcoming merge window:
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=0503add9d251db22ba2f610fb8d9b7743a9786da
Thread here:
http://www.spinics.net/lists/linux-omap/msg48381.html
If there aren't further comments on the watchdog patch, and Linus is okay
with the branch, it should appear in 2.6.39.
- Paul
^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition
2011-03-14 19:27 ` Paul Walmsley
@ 2011-03-15 6:57 ` kalle.jokiniemi
0 siblings, 0 replies; 16+ messages in thread
From: kalle.jokiniemi @ 2011-03-15 6:57 UTC (permalink / raw)
To: paul
Cc: linux-watchdog, wim, khilman, linux-omap, tony, jhnikula,
ilkka.koskinen, b-cousson
Hi,
> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> owner@vger.kernel.org] On Behalf Of ext Paul Walmsley
> Sent: 14. maaliskuuta 2011 21:27
> To: Jokiniemi Kalle (Nokia-MS/Tampere)
> Cc: linux-watchdog@vger.kernel.org; wim@iguana.be; khilman@ti.com;
> linux-omap@vger.kernel.org; tony@atomide.com; jhnikula@gmail.com;
> Koskinen Ilkka (Nokia-MS/Tampere); b-cousson@ti.com
> Subject: RE: [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition
>
> Hello Kalle,
>
> On Mon, 14 Mar 2011, kalle.jokiniemi@nokia.com wrote:
>
> > What about the 1/2 patch? Is that going in, and to which kernel
> > version (our integrator would like to put in a note when we can remove
> > the back ported patch)
>
> It's queued for Linus for the upcoming merge window:
>
> http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-
> 2.6.git;a=commit;h=0503add9d251db22ba2f610fb8d9b7743a9786da
>
> Thread here:
>
> http://www.spinics.net/lists/linux-omap/msg48381.html
>
> If there aren't further comments on the watchdog patch, and Linus is okay
> with the branch, it should appear in 2.6.39.
Thanks for the confirmation.
- Kalle
>
>
>
> - Paul
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in the
> body of a message to majordomo@vger.kernel.org More majordomo info at
> http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2011-03-15 6:58 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-10 10:54 [PATCH 0/2] OMAP3: wdtimer: Fix CORE idle Kalle Jokiniemi
2011-03-10 10:54 ` [PATCH 1/2] Watchdog: omap_wdt: add fine grain runtime-pm Kalle Jokiniemi
2011-03-10 13:02 ` Paul Walmsley
2011-03-10 13:04 ` Paul Walmsley
2011-03-11 7:32 ` kalle.jokiniemi
2011-03-11 7:31 ` kalle.jokiniemi
2011-03-11 7:37 ` kalle.jokiniemi
2011-03-10 10:54 ` [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition Kalle Jokiniemi
2011-03-10 11:22 ` Cousson, Benoit
2011-03-10 12:32 ` kalle.jokiniemi
2011-03-10 11:08 ` [PATCH 0/2] OMAP3: wdtimer: Fix CORE idle Paul Walmsley
-- strict thread matches above, loose matches on Subject: below --
2011-03-10 12:10 [PATCH v2 " Kalle Jokiniemi
2011-03-10 12:10 ` [PATCH 2/2] OMAP3: wdtimer: Fix CORE idle transition Kalle Jokiniemi
2011-03-10 14:52 ` Paul Walmsley
2011-03-14 10:34 ` kalle.jokiniemi
2011-03-14 19:27 ` Paul Walmsley
2011-03-15 6:57 ` kalle.jokiniemi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox