All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] ARM: OMAP3: PM: don't explicitly enable the IO-chain interrupt
@ 2012-06-29  1:25 ` Javier Martinez Canillas
  0 siblings, 0 replies; 8+ messages in thread
From: Javier Martinez Canillas @ 2012-06-29  1:25 UTC (permalink / raw)
  To: Kevin Hilman
  Cc: Tony Lindgren, Russell King, Tero Kristo, linux-omap,
	linux-arm-kernel, Javier Martinez Canillas

commit 99b59df0 ARM: OMAP3: PM: fix shared PRCM interrupt leave disabled at boot

set the IRQ_NOAUTOEN flag to the PCRM IO-chain irq to avoid this
interrupt until the PM core code is ready to handle the interrupts.

It seems that this is not needed anymore after the OMAP PRCM I/O chain
code re-implementation introduced on merge commit:

9a17d88 Merge tag 'omap-devel-c-for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/

The IRQ_NOAUTOEN flags is not set for the PRCM I/O irq anymore on the
new implementation. This has the effect that a request_irq() for the
PRCM I/O chain irq will auto-enable the requested IRQ and a later call
to enable_irq() will lead to the following warning:

[    3.849334] WARNING: at kernel/irq/manage.c:436 enable_irq+0x3c/0x78()
[    3.856231] Unbalanced enable for IRQ 297
[    3.860473] Modules linked in:
[    3.863739] [<c001a114>] (unwind_backtrace+0x0/0xf0) from [<c003c7e8>] (warn_slowpath_common+0x4c/0x64)
[    3.873687] [<c003c7e8>] (warn_slowpath_common+0x4c/0x64) from [<c003c894>] (warn_slowpath_fmt+0x30/0x40)
[    3.883819] [<c003c894>] (warn_slowpath_fmt+0x30/0x40) from [<c00993e0>] (enable_irq+0x3c/0x78)
[    3.893035] [<c00993e0>] (enable_irq+0x3c/0x78) from [<c067b1e8>] (omap3_pm_init+0x328/0x5f4)
[    3.902099] [<c067b1e8>] (omap3_pm_init+0x328/0x5f4) from [<c067161c>] (init_machine_late+0x1c/0x28)
[    3.911773] [<c067161c>] (init_machine_late+0x1c/0x28) from [<c0008648>] (do_one_initcall+0x34/0x178)
[    3.921539] [<c0008648>] (do_one_initcall+0x34/0x178) from [<c066e8f4>] (kernel_init+0xfc/0x1c0)
[    3.930847] [<c066e8f4>] (kernel_init+0xfc/0x1c0) from [<c00140b0>] (kernel_thread_exit+0x0/0x8)
[    3.940246] ---[ end trace 55a0ad32ca2ca682 ]---

Signed-off-by: Javier Martinez Canillas <javier@dowhile0.org>
---

This patch was generated on top of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git
branch: master

 arch/arm/mach-omap2/pm34xx.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index e4fc88c..6f14e26 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -693,7 +693,6 @@ int __init omap3_pm_init(void)
 	ret = request_irq(omap_prcm_event_to_irq("io"),
 		_prcm_int_handle_io, IRQF_SHARED | IRQF_NO_SUSPEND, "pm_io",
 		omap3_pm_init);
-	enable_irq(omap_prcm_event_to_irq("io"));
 
 	if (ret) {
 		pr_err("pm: Failed to request pm_io irq\n");
-- 
1.7.7.6


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 1/1] ARM: OMAP3: PM: don't explicitly enable the IO-chain interrupt
@ 2012-06-29  1:25 ` Javier Martinez Canillas
  0 siblings, 0 replies; 8+ messages in thread
From: Javier Martinez Canillas @ 2012-06-29  1:25 UTC (permalink / raw)
  To: linux-arm-kernel

commit 99b59df0 ARM: OMAP3: PM: fix shared PRCM interrupt leave disabled at boot

set the IRQ_NOAUTOEN flag to the PCRM IO-chain irq to avoid this
interrupt until the PM core code is ready to handle the interrupts.

It seems that this is not needed anymore after the OMAP PRCM I/O chain
code re-implementation introduced on merge commit:

9a17d88 Merge tag 'omap-devel-c-for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/

The IRQ_NOAUTOEN flags is not set for the PRCM I/O irq anymore on the
new implementation. This has the effect that a request_irq() for the
PRCM I/O chain irq will auto-enable the requested IRQ and a later call
to enable_irq() will lead to the following warning:

[    3.849334] WARNING: at kernel/irq/manage.c:436 enable_irq+0x3c/0x78()
[    3.856231] Unbalanced enable for IRQ 297
[    3.860473] Modules linked in:
[    3.863739] [<c001a114>] (unwind_backtrace+0x0/0xf0) from [<c003c7e8>] (warn_slowpath_common+0x4c/0x64)
[    3.873687] [<c003c7e8>] (warn_slowpath_common+0x4c/0x64) from [<c003c894>] (warn_slowpath_fmt+0x30/0x40)
[    3.883819] [<c003c894>] (warn_slowpath_fmt+0x30/0x40) from [<c00993e0>] (enable_irq+0x3c/0x78)
[    3.893035] [<c00993e0>] (enable_irq+0x3c/0x78) from [<c067b1e8>] (omap3_pm_init+0x328/0x5f4)
[    3.902099] [<c067b1e8>] (omap3_pm_init+0x328/0x5f4) from [<c067161c>] (init_machine_late+0x1c/0x28)
[    3.911773] [<c067161c>] (init_machine_late+0x1c/0x28) from [<c0008648>] (do_one_initcall+0x34/0x178)
[    3.921539] [<c0008648>] (do_one_initcall+0x34/0x178) from [<c066e8f4>] (kernel_init+0xfc/0x1c0)
[    3.930847] [<c066e8f4>] (kernel_init+0xfc/0x1c0) from [<c00140b0>] (kernel_thread_exit+0x0/0x8)
[    3.940246] ---[ end trace 55a0ad32ca2ca682 ]---

Signed-off-by: Javier Martinez Canillas <javier@dowhile0.org>
---

This patch was generated on top of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git
branch: master

 arch/arm/mach-omap2/pm34xx.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index e4fc88c..6f14e26 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -693,7 +693,6 @@ int __init omap3_pm_init(void)
 	ret = request_irq(omap_prcm_event_to_irq("io"),
 		_prcm_int_handle_io, IRQF_SHARED | IRQF_NO_SUSPEND, "pm_io",
 		omap3_pm_init);
-	enable_irq(omap_prcm_event_to_irq("io"));
 
 	if (ret) {
 		pr_err("pm: Failed to request pm_io irq\n");
-- 
1.7.7.6

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] ARM: OMAP3: PM: don't explicitly enable the IO-chain interrupt
  2012-06-29  1:25 ` Javier Martinez Canillas
@ 2012-06-29 12:55   ` Kevin Hilman
  -1 siblings, 0 replies; 8+ messages in thread
From: Kevin Hilman @ 2012-06-29 12:55 UTC (permalink / raw)
  To: Javier Martinez Canillas, Paul Walmsley
  Cc: Tony Lindgren, Russell King, Tero Kristo, linux-omap, linux-arm-kernel

+Paul

Javier Martinez Canillas <javier@dowhile0.org> writes:

> commit 99b59df0 ARM: OMAP3: PM: fix shared PRCM interrupt leave disabled at boot
>
> set the IRQ_NOAUTOEN flag to the PCRM IO-chain irq to avoid this
> interrupt until the PM core code is ready to handle the interrupts.
>
> It seems that this is not needed anymore after the OMAP PRCM I/O chain
> code re-implementation introduced on merge commit:
>
> 9a17d88 Merge tag 'omap-devel-c-for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/
>
> The IRQ_NOAUTOEN flags is not set for the PRCM I/O irq anymore on the
> new implementation. This has the effect that a request_irq() for the
> PRCM I/O chain irq will auto-enable the requested IRQ and a later call
> to enable_irq() will lead to the following warning:

I noticed that warning too, but I don't think $SUBJECT patch is the
right fix.

We still need the IRQ_NOAUTOEN so that cases where PM is not enabled,
the IO chain interrupts are not enabled.

Looking closer, it looks like the merge of omap-devel-c-for-3.6 removed
the IRQ_NOAUTOEN in the merge resolution, which wasn't right.

I'll cook up a fix for this.

Kevin



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/1] ARM: OMAP3: PM: don't explicitly enable the IO-chain interrupt
@ 2012-06-29 12:55   ` Kevin Hilman
  0 siblings, 0 replies; 8+ messages in thread
From: Kevin Hilman @ 2012-06-29 12:55 UTC (permalink / raw)
  To: linux-arm-kernel

+Paul

Javier Martinez Canillas <javier@dowhile0.org> writes:

> commit 99b59df0 ARM: OMAP3: PM: fix shared PRCM interrupt leave disabled at boot
>
> set the IRQ_NOAUTOEN flag to the PCRM IO-chain irq to avoid this
> interrupt until the PM core code is ready to handle the interrupts.
>
> It seems that this is not needed anymore after the OMAP PRCM I/O chain
> code re-implementation introduced on merge commit:
>
> 9a17d88 Merge tag 'omap-devel-c-for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/
>
> The IRQ_NOAUTOEN flags is not set for the PRCM I/O irq anymore on the
> new implementation. This has the effect that a request_irq() for the
> PRCM I/O chain irq will auto-enable the requested IRQ and a later call
> to enable_irq() will lead to the following warning:

I noticed that warning too, but I don't think $SUBJECT patch is the
right fix.

We still need the IRQ_NOAUTOEN so that cases where PM is not enabled,
the IO chain interrupts are not enabled.

Looking closer, it looks like the merge of omap-devel-c-for-3.6 removed
the IRQ_NOAUTOEN in the merge resolution, which wasn't right.

I'll cook up a fix for this.

Kevin

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] ARM: OMAP3: PM: don't explicitly enable the IO-chain interrupt
  2012-06-29 12:55   ` Kevin Hilman
@ 2012-06-29 13:25     ` Javier Martinez Canillas
  -1 siblings, 0 replies; 8+ messages in thread
From: Javier Martinez Canillas @ 2012-06-29 13:25 UTC (permalink / raw)
  To: Kevin Hilman
  Cc: Javier Martinez Canillas, Paul Walmsley, Tony Lindgren,
	Russell King, Tero Kristo, linux-omap, linux-arm-kernel

On Fri, Jun 29, 2012 at 2:55 PM, Kevin Hilman <khilman@ti.com> wrote:
> +Paul
>
> Javier Martinez Canillas <javier@dowhile0.org> writes:
>
>> commit 99b59df0 ARM: OMAP3: PM: fix shared PRCM interrupt leave disabled at boot
>>
>> set the IRQ_NOAUTOEN flag to the PCRM IO-chain irq to avoid this
>> interrupt until the PM core code is ready to handle the interrupts.
>>
>> It seems that this is not needed anymore after the OMAP PRCM I/O chain
>> code re-implementation introduced on merge commit:
>>
>> 9a17d88 Merge tag 'omap-devel-c-for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/
>>
>> The IRQ_NOAUTOEN flags is not set for the PRCM I/O irq anymore on the
>> new implementation. This has the effect that a request_irq() for the
>> PRCM I/O chain irq will auto-enable the requested IRQ and a later call
>> to enable_irq() will lead to the following warning:
>
> I noticed that warning too, but I don't think $SUBJECT patch is the
> right fix.
>
> We still need the IRQ_NOAUTOEN so that cases where PM is not enabled,
> the IO chain interrupts are not enabled.
>
> Looking closer, it looks like the merge of omap-devel-c-for-3.6 removed
> the IRQ_NOAUTOEN in the merge resolution, which wasn't right.
>
> I'll cook up a fix for this.
>
> Kevin
>
>

Hi Kevin,

Yes, I can confirme you that the IRQ_NOAUTOEN was gone. I didn't know
if the right solution was to set that flag again or to just remove the
duplicated enable_irq(). I should had tag my patch with RFC instead of
PATCH I guess :-)

Thanks a lot and best regards,
Javier

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/1] ARM: OMAP3: PM: don't explicitly enable the IO-chain interrupt
@ 2012-06-29 13:25     ` Javier Martinez Canillas
  0 siblings, 0 replies; 8+ messages in thread
From: Javier Martinez Canillas @ 2012-06-29 13:25 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jun 29, 2012 at 2:55 PM, Kevin Hilman <khilman@ti.com> wrote:
> +Paul
>
> Javier Martinez Canillas <javier@dowhile0.org> writes:
>
>> commit 99b59df0 ARM: OMAP3: PM: fix shared PRCM interrupt leave disabled at boot
>>
>> set the IRQ_NOAUTOEN flag to the PCRM IO-chain irq to avoid this
>> interrupt until the PM core code is ready to handle the interrupts.
>>
>> It seems that this is not needed anymore after the OMAP PRCM I/O chain
>> code re-implementation introduced on merge commit:
>>
>> 9a17d88 Merge tag 'omap-devel-c-for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/
>>
>> The IRQ_NOAUTOEN flags is not set for the PRCM I/O irq anymore on the
>> new implementation. This has the effect that a request_irq() for the
>> PRCM I/O chain irq will auto-enable the requested IRQ and a later call
>> to enable_irq() will lead to the following warning:
>
> I noticed that warning too, but I don't think $SUBJECT patch is the
> right fix.
>
> We still need the IRQ_NOAUTOEN so that cases where PM is not enabled,
> the IO chain interrupts are not enabled.
>
> Looking closer, it looks like the merge of omap-devel-c-for-3.6 removed
> the IRQ_NOAUTOEN in the merge resolution, which wasn't right.
>
> I'll cook up a fix for this.
>
> Kevin
>
>

Hi Kevin,

Yes, I can confirme you that the IRQ_NOAUTOEN was gone. I didn't know
if the right solution was to set that flag again or to just remove the
duplicated enable_irq(). I should had tag my patch with RFC instead of
PATCH I guess :-)

Thanks a lot and best regards,
Javier

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] ARM: OMAP3: PM: don't explicitly enable the IO-chain interrupt
  2012-06-29 13:25     ` Javier Martinez Canillas
@ 2012-06-29 14:07       ` Kevin Hilman
  -1 siblings, 0 replies; 8+ messages in thread
From: Kevin Hilman @ 2012-06-29 14:07 UTC (permalink / raw)
  To: Javier Martinez Canillas
  Cc: Javier Martinez Canillas, Paul Walmsley, Tony Lindgren,
	Russell King, Tero Kristo, linux-omap, linux-arm-kernel

Javier Martinez Canillas <martinez.javier@gmail.com> writes:

> On Fri, Jun 29, 2012 at 2:55 PM, Kevin Hilman <khilman@ti.com> wrote:
>> +Paul
>>
>> Javier Martinez Canillas <javier@dowhile0.org> writes:
>>
>>> commit 99b59df0 ARM: OMAP3: PM: fix shared PRCM interrupt leave disabled at boot
>>>
>>> set the IRQ_NOAUTOEN flag to the PCRM IO-chain irq to avoid this
>>> interrupt until the PM core code is ready to handle the interrupts.
>>>
>>> It seems that this is not needed anymore after the OMAP PRCM I/O chain
>>> code re-implementation introduced on merge commit:
>>>
>>> 9a17d88 Merge tag 'omap-devel-c-for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/
>>>
>>> The IRQ_NOAUTOEN flags is not set for the PRCM I/O irq anymore on the
>>> new implementation. This has the effect that a request_irq() for the
>>> PRCM I/O chain irq will auto-enable the requested IRQ and a later call
>>> to enable_irq() will lead to the following warning:
>>
>> I noticed that warning too, but I don't think $SUBJECT patch is the
>> right fix.
>>
>> We still need the IRQ_NOAUTOEN so that cases where PM is not enabled,
>> the IO chain interrupts are not enabled.
>>
>> Looking closer, it looks like the merge of omap-devel-c-for-3.6 removed
>> the IRQ_NOAUTOEN in the merge resolution, which wasn't right.
>>
>> I'll cook up a fix for this.
>>
>> Kevin
>>
>>
>
> Hi Kevin,
>
> Yes, I can confirme you that the IRQ_NOAUTOEN was gone. I didn't know
> if the right solution was to set that flag again or to just remove the
> duplicated enable_irq(). I should had tag my patch with RFC instead of
> PATCH I guess :-)

No worries.   I just sent a patch adding back the IRQ_NOAUTOEN.

Thanks for reporting the bug.  I had noticed the boot time errors to but
had not yet got to looking into them.  Your patch made me dig deeper.

Thanks,

Kevin



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/1] ARM: OMAP3: PM: don't explicitly enable the IO-chain interrupt
@ 2012-06-29 14:07       ` Kevin Hilman
  0 siblings, 0 replies; 8+ messages in thread
From: Kevin Hilman @ 2012-06-29 14:07 UTC (permalink / raw)
  To: linux-arm-kernel

Javier Martinez Canillas <martinez.javier@gmail.com> writes:

> On Fri, Jun 29, 2012 at 2:55 PM, Kevin Hilman <khilman@ti.com> wrote:
>> +Paul
>>
>> Javier Martinez Canillas <javier@dowhile0.org> writes:
>>
>>> commit 99b59df0 ARM: OMAP3: PM: fix shared PRCM interrupt leave disabled at boot
>>>
>>> set the IRQ_NOAUTOEN flag to the PCRM IO-chain irq to avoid this
>>> interrupt until the PM core code is ready to handle the interrupts.
>>>
>>> It seems that this is not needed anymore after the OMAP PRCM I/O chain
>>> code re-implementation introduced on merge commit:
>>>
>>> 9a17d88 Merge tag 'omap-devel-c-for-3.6' of git://git.kernel.org/pub/scm/linux/kernel/
>>>
>>> The IRQ_NOAUTOEN flags is not set for the PRCM I/O irq anymore on the
>>> new implementation. This has the effect that a request_irq() for the
>>> PRCM I/O chain irq will auto-enable the requested IRQ and a later call
>>> to enable_irq() will lead to the following warning:
>>
>> I noticed that warning too, but I don't think $SUBJECT patch is the
>> right fix.
>>
>> We still need the IRQ_NOAUTOEN so that cases where PM is not enabled,
>> the IO chain interrupts are not enabled.
>>
>> Looking closer, it looks like the merge of omap-devel-c-for-3.6 removed
>> the IRQ_NOAUTOEN in the merge resolution, which wasn't right.
>>
>> I'll cook up a fix for this.
>>
>> Kevin
>>
>>
>
> Hi Kevin,
>
> Yes, I can confirme you that the IRQ_NOAUTOEN was gone. I didn't know
> if the right solution was to set that flag again or to just remove the
> duplicated enable_irq(). I should had tag my patch with RFC instead of
> PATCH I guess :-)

No worries.   I just sent a patch adding back the IRQ_NOAUTOEN.

Thanks for reporting the bug.  I had noticed the boot time errors to but
had not yet got to looking into them.  Your patch made me dig deeper.

Thanks,

Kevin

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-06-29 14:07 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-29  1:25 [PATCH 1/1] ARM: OMAP3: PM: don't explicitly enable the IO-chain interrupt Javier Martinez Canillas
2012-06-29  1:25 ` Javier Martinez Canillas
2012-06-29 12:55 ` Kevin Hilman
2012-06-29 12:55   ` Kevin Hilman
2012-06-29 13:25   ` Javier Martinez Canillas
2012-06-29 13:25     ` Javier Martinez Canillas
2012-06-29 14:07     ` Kevin Hilman
2012-06-29 14:07       ` Kevin Hilman

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.