diff options
author | Paul Walmsley <paul@pwsan.com> | 2013-02-06 15:48:56 -0500 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2013-02-06 15:48:56 -0500 |
commit | 814a18a5d026464f56b3616704b985f9942b29a6 (patch) | |
tree | c5763da4922f25e2945512d18bced9647cd44d08 | |
parent | 1e3d8fe771881de323396aaa1efd20243fa974cb (diff) |
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>
Acked-by: Mark A. Greer <mgreer@animalcreek.com>
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c index 8bb2628df34e..ac7e03ec952f 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 = { | |||
3493 | .name = "davinci_emac", | 3493 | .name = "davinci_emac", |
3494 | .mpu_irqs = am35xx_emac_mpu_irqs, | 3494 | .mpu_irqs = am35xx_emac_mpu_irqs, |
3495 | .class = &am35xx_emac_class, | 3495 | .class = &am35xx_emac_class, |
3496 | .flags = HWMOD_NO_IDLEST, | 3496 | /* |
3497 | * According to Mark Greer, the MPU will not return from WFI | ||
3498 | * when the EMAC signals an interrupt. | ||
3499 | * http://www.spinics.net/lists/arm-kernel/msg174734.html | ||
3500 | */ | ||
3501 | .flags = (HWMOD_NO_IDLEST | HWMOD_BLOCK_WFI), | ||
3497 | }; | 3502 | }; |
3498 | 3503 | ||
3499 | /* l3_core -> davinci emac interface */ | 3504 | /* l3_core -> davinci emac interface */ |