[PATCH 5/8] OMAP4: PM: TEMP: Prevent l3init from idling/force sleep
From: paul@pwsan.com (Paul Walmsley)
Date: 2011-06-23 15:04:20
Also in:
linux-omap
Hi Rajendra, On Thu, 9 Jun 2011, Rajendra Nayak wrote:
quoted hunk ↗ jump to hunk
Since MMC driver is yet to be adapted to runtime PM and still uses direct clock calls to enable/disable module, its needed that the clockdomain (for MMC) is always kept force enabled since the next few patches move the clockdomain handling from clock framework to hwmod framework and break MMC. This will certainlly gate any CORE low power transitions. Signed-off-by: Rajendra Nayak <redacted> --- arch/arm/mach-omap2/clockdomains44xx_data.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)diff --git a/arch/arm/mach-omap2/clockdomains44xx_data.c b/arch/arm/mach-omap2/clockdomains44xx_data.c index a607ec1..ff38764 100644 --- a/arch/arm/mach-omap2/clockdomains44xx_data.c +++ b/arch/arm/mach-omap2/clockdomains44xx_data.c@@ -493,7 +493,7 @@ static struct clockdomain l3_init_44xx_clkdm = { .dep_bit = OMAP4430_L3INIT_STATDEP_SHIFT, .wkdep_srcs = l3_init_wkup_sleep_deps, .sleepdep_srcs = l3_init_wkup_sleep_deps, - .flags = CLKDM_CAN_HWSUP_SWSUP, + .flags = CLKDM_CAN_FORCE_WAKEUP, .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP4430), };
Since this is basically a hack to work around limitations of the current
MMC driver, if we accept something like this, I think it should come with
a big warning message and comment. Something like this in
omap44xx_clockdomains_init():
/*
* XXX The OMAP L3 interconnect hardware is able to enter
* hardware-supervised idle. But because the OMAP HSMMC
* driver still hasn't been converted to use runtime PM, if
* the L3 is allowed to enter hwsup idle, the kernel will
* crash. Once the MMC driver is fixed (which patches have
* been posted to do, with subject line "OMAP: HSMMC: cleanup
* and runtime pm") the change to the l3_init_44xx_clkdm
* flags should be dropped. It limits the low-power state that
* the chip can enter.
*/
pr_warn("WARNING: OMAP4 low power states artificially limited, due
to unconverted HSMMC driver\n");
- Paul