Skip to content

Commit

Permalink
OMAP3: PM: MPU and CORE should stay awake if there is CAM domain ACTIVE
Browse files Browse the repository at this point in the history
MPU and CORE should stay awake if there is CAM domain ACTIVE. This is
because that module doesn't have wake-up capability.

This should replace the patch that is currently in the PM branch.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
  • Loading branch information
Tero Kristo authored and Kevin Hilman committed Nov 11, 2009
1 parent ecf157d commit c16c3f6
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions arch/arm/mach-omap2/pm34xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ static int (*_omap_save_secure_sram)(u32 *addr);

static struct powerdomain *mpu_pwrdm, *neon_pwrdm;
static struct powerdomain *core_pwrdm, *per_pwrdm;
static struct powerdomain *cam_pwrdm;

static int set_pwrdm_state(struct powerdomain *pwrdm, u32 state);

Expand Down Expand Up @@ -355,6 +356,9 @@ static void omap_sram_idle(void)
}
}

if (pwrdm_read_pwrst(cam_pwrdm) == PWRDM_POWER_ON)
omap2_clkdm_deny_idle(mpu_pwrdm->pwrdm_clkdms[0]);

/* CORE */
if (core_next_state < PWRDM_POWER_ON) {
omap_uart_prepare_idle(0);
Expand Down Expand Up @@ -434,6 +438,7 @@ static void omap_sram_idle(void)

pwrdm_post_transition();

omap2_clkdm_allow_idle(mpu_pwrdm->pwrdm_clkdms[0]);
}

/*
Expand Down Expand Up @@ -1067,6 +1072,7 @@ static int __init omap3_pm_init(void)
neon_pwrdm = pwrdm_lookup("neon_pwrdm");
per_pwrdm = pwrdm_lookup("per_pwrdm");
core_pwrdm = pwrdm_lookup("core_pwrdm");
cam_pwrdm = pwrdm_lookup("cam_pwrdm");

omap_push_sram_idle();
#ifdef CONFIG_SUSPEND
Expand Down

0 comments on commit c16c3f6

Please sign in to comment.