diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2014-03-28 10:22:04 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2014-05-29 19:48:54 -0400 |
commit | 3a43b581dac1e5e70169dd6267bef4503ec3da21 (patch) | |
tree | 8e20448569913001a4935ca25fd42946fa7ecd29 /arch/arm/mm | |
parent | 36bccb11a4ac7cc9d190c3062945f1c911a62801 (diff) |
ARM: l2c: always enable low power modes
Always enable the L2C low power modes on L2C-310 R3P0 and newer parts.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm')
-rw-r--r-- | arch/arm/mm/cache-l2x0.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c index 7e53214f7c36..6d8a0575a684 100644 --- a/arch/arm/mm/cache-l2x0.c +++ b/arch/arm/mm/cache-l2x0.c | |||
@@ -654,6 +654,18 @@ static void __init l2c310_enable(void __iomem *base, u32 aux, unsigned num_lock) | |||
654 | } | 654 | } |
655 | } | 655 | } |
656 | 656 | ||
657 | /* r3p0 or later has power control register */ | ||
658 | if (rev >= L310_CACHE_ID_RTL_R3P0) { | ||
659 | u32 power_ctrl; | ||
660 | |||
661 | l2c_write_sec(L310_DYNAMIC_CLK_GATING_EN | L310_STNDBY_MODE_EN, | ||
662 | base, L310_POWER_CTRL); | ||
663 | power_ctrl = readl_relaxed(base + L310_POWER_CTRL); | ||
664 | pr_info("L2C-310 dynamic clock gating %sabled, standby mode %sabled\n", | ||
665 | power_ctrl & L310_DYNAMIC_CLK_GATING_EN ? "en" : "dis", | ||
666 | power_ctrl & L310_STNDBY_MODE_EN ? "en" : "dis"); | ||
667 | } | ||
668 | |||
657 | l2c_enable(base, aux, num_lock); | 669 | l2c_enable(base, aux, num_lock); |
658 | } | 670 | } |
659 | 671 | ||