aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/idle_e500.S
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2008-06-19 10:40:31 -0400
committerKumar Gala <galak@kernel.crashing.org>2008-06-26 02:49:03 -0400
commitaba11fc50c925bbd6fb25d54eae2f86277a3b107 (patch)
tree52c85a46371ca4ef05042600507ecd5bdcfa2842 /arch/powerpc/kernel/idle_e500.S
parentfc4033b2f8b1482022bff3d05505a1b1631bb6de (diff)
powerpc/e500mc: flush L2 on NAP for e500mc
If we have an L2CSR register (e500mc) we need to flush the L2 before going to nap. We use the HW flush mechanism provided in that register. The code reuses the CPU_FTR_604_PERF_MON bit as it is no longer used by any code in the kernel. Additionally we didn't reuse the exist L2CR feature bit as this is intended for the 7xxx L2CR register and L2CSR is part of the new Freescale "Book-E" registers. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/idle_e500.S')
-rw-r--r--arch/powerpc/kernel/idle_e500.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/idle_e500.S b/arch/powerpc/kernel/idle_e500.S
index 267adec2491b..06304034b393 100644
--- a/arch/powerpc/kernel/idle_e500.S
+++ b/arch/powerpc/kernel/idle_e500.S
@@ -47,6 +47,15 @@ BEGIN_FTR_SECTION
47 mtlr r0 47 mtlr r0
48 lis r3,HID0_NAP@h 48 lis r3,HID0_NAP@h
49END_FTR_SECTION_IFSET(CPU_FTR_CAN_NAP) 49END_FTR_SECTION_IFSET(CPU_FTR_CAN_NAP)
50BEGIN_FTR_SECTION
51 msync
52 li r7,L2CSR0_L2FL@l
53 mtspr SPRN_L2CSR0,r7
542:
55 mfspr r7,SPRN_L2CSR0
56 andi. r4,r7,L2CSR0_L2FL@l
57 bne 2b
58END_FTR_SECTION_IFSET(CPU_FTR_L2CSR|CPU_FTR_CAN_NAP)
501: 591:
51 /* Go to NAP or DOZE now */ 60 /* Go to NAP or DOZE now */
52 mfspr r4,SPRN_HID0 61 mfspr r4,SPRN_HID0