* [PATCH] ARM: OMAP AM3517/05: hwmod data: block WFI when EMAC active
@ 2012-12-30 18:31 Paul Walmsley
2013-01-08 19:21 ` Paul Walmsley
0 siblings, 1 reply; 5+ messages in thread
From: Paul Walmsley @ 2012-12-30 18:31 UTC (permalink / raw)
To: linux-arm-kernel
According to Mark Greer, on OMAP AM3517/3505 chips, the EMAC is unable
to wake the ARM up from WFI:
http://www.spinics.net/lists/arm-kernel/msg174734.html
Further troubleshooting was unable to narrow the problem down. So we
don't have much choice other than to block WFI when the EMAC is active
with the HWMOD_BLOCK_WFI flag. However, for some reason, we don't
have an EMAC hwmod -- probably some bug in the data -- so set the flag
on the MDIO hwmod data instead.
Based on Mark's original patch. We're removing the omap_device-based
pm_lats code, so a different approach was needed.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Mark A. Greer <mgreer@animalcreek.com>
---
Applies after the WFI cleanup series -- intended for a post-cleanup fixes
pull request or a new feature pull request.
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index 8bb2628..4a68735 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -3439,7 +3439,13 @@ static struct omap_hwmod_class am35xx_mdio_class = {
static struct omap_hwmod am35xx_mdio_hwmod = {
.name = "davinci_mdio",
.class = &am35xx_mdio_class,
- .flags = HWMOD_NO_IDLEST,
+ /*
+ * According to Mark Greer, the MPU will not return from WFI
+ * when the EMAC signals an interrupt. We're missing an EMAC
+ * hwmod for some reason, so add the flag to the MDIO instead.
+ * http://www.spinics.net/lists/arm-kernel/msg174734.html
+ */
+ .flags = (HWMOD_NO_IDLEST | HWMOD_BLOCK_WFI),
};
/*
--
1.7.10.4
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH] ARM: OMAP AM3517/05: hwmod data: block WFI when EMAC active
2012-12-30 18:31 [PATCH] ARM: OMAP AM3517/05: hwmod data: block WFI when EMAC active Paul Walmsley
@ 2013-01-08 19:21 ` Paul Walmsley
2013-01-08 20:43 ` Mark A. Greer
0 siblings, 1 reply; 5+ messages in thread
From: Paul Walmsley @ 2013-01-08 19:21 UTC (permalink / raw)
To: linux-arm-kernel
On Sun, 30 Dec 2012, Paul Walmsley wrote:
> However, for some reason, we don't have an EMAC hwmod -- probably some
> bug in the data -- so set the flag on the MDIO hwmod data instead.
Mark and I discussed this in private E-mail. Looks like I managed to
confuse AM33xx and AM3517 :-( Here's the updated patch.
- Paul
From: Paul Walmsley <paul@pwsan.com>
Date: Sun, 30 Dec 2012 10:36:36 -0700
Subject: [PATCH] ARM: OMAP AM3517/05: hwmod data: block WFI when EMAC active
According to Mark Greer, on OMAP AM3517/3505 chips, the EMAC is unable
to wake the ARM up from WFI:
http://www.spinics.net/lists/arm-kernel/msg174734.html
Further troubleshooting was unable to narrow the problem down. So we
don't have much choice other than to block WFI when the EMAC is active
with the HWMOD_BLOCK_WFI flag.
Based on Mark's original patch. We're removing the omap_device-based
pm_lats code, so a different approach was needed.
This second version contains some corrections thanks to Mark's review.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Mark A. Greer <mgreer@animalcreek.com>
---
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index 8bb2628..7af28b7 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -3493,7 +3493,13 @@ static struct omap_hwmod am35xx_emac_hwmod = {
.name = "davinci_emac",
.mpu_irqs = am35xx_emac_mpu_irqs,
.class = &am35xx_emac_class,
- .flags = HWMOD_NO_IDLEST,
+ /*
+ * According to Mark Greer, the MPU will not return from WFI
+ * when the EMAC signals an interrupt. We're missing an EMAC
+ * hwmod for some reason, so add the flag to the MDIO instead.
+ * http://www.spinics.net/lists/arm-kernel/msg174734.html
+ */
+ .flags = (HWMOD_NO_IDLEST | HWMOD_BLOCK_WFI),
};
/* l3_core -> davinci emac interface */
--
1.7.10.4
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH] ARM: OMAP AM3517/05: hwmod data: block WFI when EMAC active
2013-01-08 19:21 ` Paul Walmsley
@ 2013-01-08 20:43 ` Mark A. Greer
2013-01-17 19:21 ` Paul Walmsley
0 siblings, 1 reply; 5+ messages in thread
From: Mark A. Greer @ 2013-01-08 20:43 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Jan 08, 2013 at 07:21:16PM +0000, Paul Walmsley wrote:
> On Sun, 30 Dec 2012, Paul Walmsley wrote:
Hi Paul.
> > However, for some reason, we don't have an EMAC hwmod -- probably some
> > bug in the data -- so set the flag on the MDIO hwmod data instead.
>
> Mark and I discussed this in private E-mail. Looks like I managed to
> confuse AM33xx and AM3517 :-( Here's the updated patch.
>
>
> - Paul
>
>
> From: Paul Walmsley <paul@pwsan.com>
> Date: Sun, 30 Dec 2012 10:36:36 -0700
> Subject: [PATCH] ARM: OMAP AM3517/05: hwmod data: block WFI when EMAC active
>
> According to Mark Greer, on OMAP AM3517/3505 chips, the EMAC is unable
> to wake the ARM up from WFI:
>
> http://www.spinics.net/lists/arm-kernel/msg174734.html
>
> Further troubleshooting was unable to narrow the problem down. So we
> don't have much choice other than to block WFI when the EMAC is active
> with the HWMOD_BLOCK_WFI flag.
>
> Based on Mark's original patch. We're removing the omap_device-based
> pm_lats code, so a different approach was needed.
>
> This second version contains some corrections thanks to Mark's review.
>
> Signed-off-by: Paul Walmsley <paul@pwsan.com>
> Cc: Mark A. Greer <mgreer@animalcreek.com>
> ---
> arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> index 8bb2628..7af28b7 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
> @@ -3493,7 +3493,13 @@ static struct omap_hwmod am35xx_emac_hwmod = {
> .name = "davinci_emac",
> .mpu_irqs = am35xx_emac_mpu_irqs,
> .class = &am35xx_emac_class,
> - .flags = HWMOD_NO_IDLEST,
> + /*
> + * According to Mark Greer, the MPU will not return from WFI
> + * when the EMAC signals an interrupt. We're missing an EMAC
> + * hwmod for some reason, so add the flag to the MDIO instead.
> + * http://www.spinics.net/lists/arm-kernel/msg174734.html
> + */
> + .flags = (HWMOD_NO_IDLEST | HWMOD_BLOCK_WFI),
> };
Sorry to nag but I think the comment needs to be updated to remove the
sentence about the missing EMAC hwmod.
Mark
--
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH] ARM: OMAP AM3517/05: hwmod data: block WFI when EMAC active
2013-01-08 20:43 ` Mark A. Greer
@ 2013-01-17 19:21 ` Paul Walmsley
2013-01-17 22:31 ` Mark A. Greer
0 siblings, 1 reply; 5+ messages in thread
From: Paul Walmsley @ 2013-01-17 19:21 UTC (permalink / raw)
To: linux-arm-kernel
Hi Mark
On Tue, 8 Jan 2013, Mark A. Greer wrote:
> Sorry to nag but I think the comment needs to be updated to remove the
> sentence about the missing EMAC hwmod.
You are absolutely right, and the correction is very much appreciated.
Updated patch follows.
- Paul
From: Paul Walmsley <paul@pwsan.com>
Date: Sun, 30 Dec 2012 10:36:36 -0700
Subject: [PATCH] ARM: OMAP AM3517/05: hwmod data: block WFI when EMAC active
According to Mark Greer, on OMAP AM3517/3505 chips, the EMAC is unable
to wake the ARM up from WFI:
http://www.spinics.net/lists/arm-kernel/msg174734.html
Further troubleshooting was unable to narrow the problem down. So we
don't have much choice other than to block WFI when the EMAC is active
with the HWMOD_BLOCK_WFI flag.
Based on Mark's original patch. We're removing the omap_device-based
pm_lats code, so a different approach was needed.
This third version contains some corrections thanks to Mark's review.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Mark A. Greer <mgreer@animalcreek.com>
---
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index 8bb2628..ac7e03e 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -3493,7 +3493,12 @@ static struct omap_hwmod am35xx_emac_hwmod = {
.name = "davinci_emac",
.mpu_irqs = am35xx_emac_mpu_irqs,
.class = &am35xx_emac_class,
- .flags = HWMOD_NO_IDLEST,
+ /*
+ * According to Mark Greer, the MPU will not return from WFI
+ * when the EMAC signals an interrupt.
+ * http://www.spinics.net/lists/arm-kernel/msg174734.html
+ */
+ .flags = (HWMOD_NO_IDLEST | HWMOD_BLOCK_WFI),
};
/* l3_core -> davinci emac interface */
--
1.7.10.4
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH] ARM: OMAP AM3517/05: hwmod data: block WFI when EMAC active
2013-01-17 19:21 ` Paul Walmsley
@ 2013-01-17 22:31 ` Mark A. Greer
0 siblings, 0 replies; 5+ messages in thread
From: Mark A. Greer @ 2013-01-17 22:31 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Jan 17, 2013 at 07:21:42PM +0000, Paul Walmsley wrote:
> Hi Mark
>
> On Tue, 8 Jan 2013, Mark A. Greer wrote:
>
> > Sorry to nag but I think the comment needs to be updated to remove the
> > sentence about the missing EMAC hwmod.
>
> You are absolutely right, and the correction is very much appreciated.
> Updated patch follows.
>
>
> - Paul
>
> From: Paul Walmsley <paul@pwsan.com>
> Date: Sun, 30 Dec 2012 10:36:36 -0700
> Subject: [PATCH] ARM: OMAP AM3517/05: hwmod data: block WFI when EMAC active
>
> According to Mark Greer, on OMAP AM3517/3505 chips, the EMAC is unable
> to wake the ARM up from WFI:
>
> http://www.spinics.net/lists/arm-kernel/msg174734.html
>
> Further troubleshooting was unable to narrow the problem down. So we
> don't have much choice other than to block WFI when the EMAC is active
> with the HWMOD_BLOCK_WFI flag.
>
> Based on Mark's original patch. We're removing the omap_device-based
> pm_lats code, so a different approach was needed.
>
> This third version contains some corrections thanks to Mark's review.
>
> Signed-off-by: Paul Walmsley <paul@pwsan.com>
> Cc: Mark A. Greer <mgreer@animalcreek.com>
> ---
FWIW,
Acked-by: Mark A. Greer <mgreer@animalcreek.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-01-17 22:31 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-30 18:31 [PATCH] ARM: OMAP AM3517/05: hwmod data: block WFI when EMAC active Paul Walmsley
2013-01-08 19:21 ` Paul Walmsley
2013-01-08 20:43 ` Mark A. Greer
2013-01-17 19:21 ` Paul Walmsley
2013-01-17 22:31 ` Mark A. Greer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox