From: Tero Kristo <t-kristo@ti.com>
To: Kevin Hilman <khilman@ti.com>
Cc: "T Krishnamoorthy, Balaji" <balajitk@ti.com>,
linux-omap@vger.kernel.org, paul@pwsan.com,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 00/19] ARM: OMAP4 device off support
Date: Fri, 20 Apr 2012 17:43:22 +0300 [thread overview]
Message-ID: <1334933002.2149.44.camel@sokoban> (raw)
In-Reply-To: <87vckupkxj.fsf@ti.com>
On Fri, 2012-04-20 at 06:55 -0700, Kevin Hilman wrote:
> Tero Kristo <t-kristo@ti.com> writes:
>
> [...]
>
> >> I tried your branch on gp/emu devices but could not reproduce this issue.
> >> My observation is that while resuming, omap_hsmmc.1 eMMC is
> >> trying to turn on phoenix vaux1 regulator via i2c which fails due
> >> to controller timeout.
> >> Note: eMMC is present only on sdp/blaze
> >
> > Did you try this with off-mode enabled and did you check the device
> > actually goes to off? (see pm_debug/count and verify core off count is
> > increasing.) And as said, I was only able to see this problem on a blaze
> > device, panda works fine. But yes, you are probably right and it is not
> > an MMC driver issue but I2C.
>
> Can you try the patch below? It sounds like the same problem.
Doesn't help with this one. I guess I2C loses context during device off
and it is not restored properly.
-Tero
>
> Kevin
>
>
> From 999f34629140f436099050eb7aac514bfd2a2235 Mon Sep 17 00:00:00 2001
> From: NeilBrown <neilb@suse.de>
> Date: Fri, 30 Dec 2011 12:40:30 +1100
> Subject: [PATCH] OMAP/I2C - Fix timeout problem during suspend.
>
> On a board with OMAP3 processor and TWL4030 Power management,
> we need to talk to the TWL4030 during late suspend but cannot
> because the I2C interrupt is disabled (as late suspend disables
> interrupt).
>
> e.g. I get messages like:
>
> [ 62.161102] musb-omap2430 musb-omap2430: LATE power domain suspend
> [ 63.167205] omap_i2c omap_i2c.1: controller timed out
> [ 63.183044] twl: i2c_read failed to transfer all messages
> [ 64.182861] omap_i2c omap_i2c.1: controller timed out
> [ 64.198455] twl: i2c_write failed to transfer all messages
> [ 65.198455] omap_i2c omap_i2c.1: controller timed out
> [ 65.203765] twl: i2c_write failed to transfer all messages
>
> The stack shows omap2430_runtime_suspend calling twl4030_set_suspend
> which tries to power-down the USB PHY (twl4030_phy_suspend ->
> twl4030_phy_power -> __twl4030_phy_power which as a nice WARN_ON
> that helps).
>
> Then we get the same in resume:
>
> [ 69.603912] musb-omap2430 musb-omap2430: EARLY power domain resume
> [ 70.610473] omap_i2c omap_i2c.1: controller timed out
> [ 70.626129] twl: i2c_write failed to transfer all messages
> etc.
>
> So don't disable interrupts for I2C.
>
> Signed-off-by: NeilBrown <neilb@suse.de>
> ---
> drivers/i2c/busses/i2c-omap.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index 801df60..e024c50 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -1092,7 +1092,7 @@ omap_i2c_probe(struct platform_device *pdev)
>
> isr = (dev->rev < OMAP_I2C_OMAP1_REV_2) ? omap_i2c_omap1_isr :
> omap_i2c_isr;
> - r = request_irq(dev->irq, isr, 0, pdev->name, dev);
> + r = request_irq(dev->irq, isr, IRQF_NO_SUSPEND, pdev->name, dev);
>
> if (r) {
> dev_err(dev->dev, "failure requesting irq %i\n", dev->irq);
WARNING: multiple messages have this Message-ID (diff)
From: t-kristo@ti.com (Tero Kristo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 00/19] ARM: OMAP4 device off support
Date: Fri, 20 Apr 2012 17:43:22 +0300 [thread overview]
Message-ID: <1334933002.2149.44.camel@sokoban> (raw)
In-Reply-To: <87vckupkxj.fsf@ti.com>
On Fri, 2012-04-20 at 06:55 -0700, Kevin Hilman wrote:
> Tero Kristo <t-kristo@ti.com> writes:
>
> [...]
>
> >> I tried your branch on gp/emu devices but could not reproduce this issue.
> >> My observation is that while resuming, omap_hsmmc.1 eMMC is
> >> trying to turn on phoenix vaux1 regulator via i2c which fails due
> >> to controller timeout.
> >> Note: eMMC is present only on sdp/blaze
> >
> > Did you try this with off-mode enabled and did you check the device
> > actually goes to off? (see pm_debug/count and verify core off count is
> > increasing.) And as said, I was only able to see this problem on a blaze
> > device, panda works fine. But yes, you are probably right and it is not
> > an MMC driver issue but I2C.
>
> Can you try the patch below? It sounds like the same problem.
Doesn't help with this one. I guess I2C loses context during device off
and it is not restored properly.
-Tero
>
> Kevin
>
>
> From 999f34629140f436099050eb7aac514bfd2a2235 Mon Sep 17 00:00:00 2001
> From: NeilBrown <neilb@suse.de>
> Date: Fri, 30 Dec 2011 12:40:30 +1100
> Subject: [PATCH] OMAP/I2C - Fix timeout problem during suspend.
>
> On a board with OMAP3 processor and TWL4030 Power management,
> we need to talk to the TWL4030 during late suspend but cannot
> because the I2C interrupt is disabled (as late suspend disables
> interrupt).
>
> e.g. I get messages like:
>
> [ 62.161102] musb-omap2430 musb-omap2430: LATE power domain suspend
> [ 63.167205] omap_i2c omap_i2c.1: controller timed out
> [ 63.183044] twl: i2c_read failed to transfer all messages
> [ 64.182861] omap_i2c omap_i2c.1: controller timed out
> [ 64.198455] twl: i2c_write failed to transfer all messages
> [ 65.198455] omap_i2c omap_i2c.1: controller timed out
> [ 65.203765] twl: i2c_write failed to transfer all messages
>
> The stack shows omap2430_runtime_suspend calling twl4030_set_suspend
> which tries to power-down the USB PHY (twl4030_phy_suspend ->
> twl4030_phy_power -> __twl4030_phy_power which as a nice WARN_ON
> that helps).
>
> Then we get the same in resume:
>
> [ 69.603912] musb-omap2430 musb-omap2430: EARLY power domain resume
> [ 70.610473] omap_i2c omap_i2c.1: controller timed out
> [ 70.626129] twl: i2c_write failed to transfer all messages
> etc.
>
> So don't disable interrupts for I2C.
>
> Signed-off-by: NeilBrown <neilb@suse.de>
> ---
> drivers/i2c/busses/i2c-omap.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index 801df60..e024c50 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -1092,7 +1092,7 @@ omap_i2c_probe(struct platform_device *pdev)
>
> isr = (dev->rev < OMAP_I2C_OMAP1_REV_2) ? omap_i2c_omap1_isr :
> omap_i2c_isr;
> - r = request_irq(dev->irq, isr, 0, pdev->name, dev);
> + r = request_irq(dev->irq, isr, IRQF_NO_SUSPEND, pdev->name, dev);
>
> if (r) {
> dev_err(dev->dev, "failure requesting irq %i\n", dev->irq);
next prev parent reply other threads:[~2012-04-20 14:43 UTC|newest]
Thread overview: 126+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-20 9:33 [PATCH 00/19] ARM: OMAP4 device off support Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 01/19] ARM: OMAP4: PM: save/restore all DPLL settings in OFF mode Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-23 16:09 ` Jon Hunter
2012-04-23 16:09 ` Jon Hunter
2012-04-25 7:33 ` Tero Kristo
2012-04-25 7:33 ` Tero Kristo
2012-04-25 15:12 ` Jon Hunter
2012-04-25 15:12 ` Jon Hunter
2012-05-04 19:22 ` Tony Lindgren
2012-05-04 19:22 ` Tony Lindgren
2012-05-02 10:10 ` Bedia, Vaibhav
2012-05-02 10:10 ` Bedia, Vaibhav
2012-05-02 10:18 ` Shilimkar, Santosh
2012-05-02 10:18 ` Shilimkar, Santosh
2012-05-02 10:55 ` Bedia, Vaibhav
2012-05-02 10:55 ` Bedia, Vaibhav
2012-05-02 11:00 ` Shilimkar, Santosh
2012-05-02 11:00 ` Shilimkar, Santosh
2012-05-02 11:40 ` Bedia, Vaibhav
2012-05-02 11:40 ` Bedia, Vaibhav
2012-05-02 11:46 ` Shilimkar, Santosh
2012-05-02 11:46 ` Shilimkar, Santosh
2012-05-02 11:55 ` Bedia, Vaibhav
2012-05-02 11:55 ` Bedia, Vaibhav
2012-05-02 11:47 ` Menon, Nishanth
2012-05-02 11:47 ` Menon, Nishanth
2012-05-02 11:55 ` Bedia, Vaibhav
2012-05-02 11:55 ` Bedia, Vaibhav
2012-05-02 11:58 ` Shilimkar, Santosh
2012-05-02 11:58 ` Shilimkar, Santosh
2012-05-02 12:10 ` Bedia, Vaibhav
2012-05-02 12:10 ` Bedia, Vaibhav
2012-04-20 9:33 ` [PATCH 02/19] ARM: OMAP4: PM: save/restore all CM1/2 " Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-05-09 23:27 ` Kevin Hilman
2012-05-09 23:27 ` Kevin Hilman
2012-05-11 14:30 ` Tero Kristo
2012-05-11 14:30 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 03/19] ARM: OMAP4: PM: powerdomain: Add HWSAR flag to L3INIT Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 04/19] ARM: OMAP4: Add SAR ROM base address Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 05/19] ARM: OMAP4: PM: Add SAR backup support towards device OFF Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-24 16:35 ` Tony Lindgren
2012-04-24 16:35 ` Tony Lindgren
2012-04-25 7:18 ` Tero Kristo
2012-04-25 7:18 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 06/19] ARM: OMAP4: Auto generate SAR layout contents Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-24 16:37 ` Tony Lindgren
2012-04-24 16:37 ` Tony Lindgren
2012-04-20 9:33 ` [PATCH 07/19] ARM: OMAP4: SAR: generate overwrite data based on SAR ROM contents Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 08/19] ARM: OMAP4: PM: Add device-off support Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-24 17:46 ` Jon Hunter
2012-04-24 17:46 ` Jon Hunter
2012-04-25 7:30 ` Tero Kristo
2012-04-25 7:30 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 09/19] ARM: OMAP4: PM: add errata support Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 10/19] ARM: OMAP4: PM: Work-around for ROM code BUG of IVAHD/TESLA Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-24 17:50 ` Jon Hunter
2012-04-24 17:50 ` Jon Hunter
2012-04-25 7:31 ` Tero Kristo
2012-04-25 7:31 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 11/19] ARM: OMAP4: PM: save/restore CM L3INSTR registers when MPU hits OSWR/OFF mode Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-24 17:57 ` Jon Hunter
2012-04-24 17:57 ` Jon Hunter
2012-04-25 7:31 ` Tero Kristo
2012-04-25 7:31 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 12/19] ARM: OMAP4: PM: update ROM return address for OSWR and OFF Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-24 16:39 ` Tony Lindgren
2012-04-24 16:39 ` Tony Lindgren
2012-04-25 7:24 ` Tero Kristo
2012-04-25 7:24 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 13/19] ARM: OMAP4: PM: Mark the PPI and SPI interrupts as non-secure for GP Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 14/19] ARM: OMAP4: wakeupgen: enable clocks for save_secure_all Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 15/19] ARM: OMAP4430: PM: workaround for DDR corruption on second CS Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-24 18:22 ` Jon Hunter
2012-04-24 18:22 ` Jon Hunter
2012-04-25 7:26 ` Tero Kristo
2012-04-25 7:26 ` Tero Kristo
2012-04-25 7:59 ` Shilimkar, Santosh
2012-04-25 7:59 ` Shilimkar, Santosh
2012-04-25 15:16 ` Jon Hunter
2012-04-25 15:16 ` Jon Hunter
2012-04-26 6:19 ` Shilimkar, Santosh
2012-04-26 6:19 ` Shilimkar, Santosh
2012-04-20 9:33 ` [PATCH 16/19] TEMP: ARM: OMAP4: prevent voltage transitions Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 17/19] ARM: OMAP4: put cpu1 back to sleep if no wake request Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 18/19] ARM: OMAP4460: wakeupgen: set GIC_CPU0 backup status flag always Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-20 9:33 ` [PATCH 19/19] ARM: OMAP4: powerdomain: update mpu / core off counters during device off Tero Kristo
2012-04-20 9:33 ` Tero Kristo
2012-04-20 12:20 ` [PATCH 00/19] ARM: OMAP4 device off support T Krishnamoorthy, Balaji
2012-04-20 12:20 ` T Krishnamoorthy, Balaji
2012-04-20 12:58 ` Tero Kristo
2012-04-20 12:58 ` Tero Kristo
2012-04-20 13:55 ` Kevin Hilman
2012-04-20 13:55 ` Kevin Hilman
2012-04-20 14:43 ` Tero Kristo [this message]
2012-04-20 14:43 ` Tero Kristo
2012-04-20 14:51 ` Datta, Shubhrajyoti
2012-04-20 14:51 ` Datta, Shubhrajyoti
2012-04-20 15:07 ` Tero Kristo
2012-04-20 15:07 ` Tero Kristo
2012-04-23 6:28 ` Shubhrajyoti Datta
2012-04-23 6:28 ` Shubhrajyoti Datta
2012-05-09 22:46 ` Kevin Hilman
2012-05-09 22:46 ` Kevin Hilman
2012-05-09 23:14 ` Russell King - ARM Linux
2012-05-09 23:14 ` Russell King - ARM Linux
2012-05-10 9:47 ` Tero Kristo
2012-05-10 9:47 ` Tero Kristo
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=1334933002.2149.44.camel@sokoban \
--to=t-kristo@ti.com \
--cc=balajitk@ti.com \
--cc=khilman@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=paul@pwsan.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.