[PATCH 5/8] OMAP4: PM: TEMP: Prevent l3init from idling/force sleep
Paul Walmsley
paul at pwsan.com
Thu Jun 23 11:04:20 EDT 2011
Hi Rajendra,
On Thu, 9 Jun 2011, Rajendra Nayak wrote:
> 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 <rnayak at ti.com>
> ---
> 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
More information about the linux-arm-kernel
mailing list