aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Miao <eric.miao@linaro.org>2011-12-21 22:55:01 -0500
committerShawn Guo <shawn.guo@linaro.org>2011-12-25 21:18:59 -0500
commit733d1724d7c5c79113d8063d3d9d93e8c80cea82 (patch)
tree667b61e18807b0fe2cb884c480d5933a5e4db19a
parent46ec1b26901ea7bd0dc3287e8dbd1221b3a51fed (diff)
ARM: imx6q: resume PL310 only when CACHE_L2X0 defined
Original patch from Lothar Waßmann, this patch fixes a building error when CONFIG_CACHE_L2X0 is not defined. Cc: Lothar Waßmann <lw@karo-electronics.de> Signed-off-by: Eric Miao <eric.miao@linaro.org> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
-rw-r--r--arch/arm/mach-imx/head-v7.S13
-rw-r--r--arch/arm/mach-imx/pm-imx6q.c2
2 files changed, 11 insertions, 4 deletions
diff --git a/arch/arm/mach-imx/head-v7.S b/arch/arm/mach-imx/head-v7.S
index a59cae747af4..cec23a857c7e 100644
--- a/arch/arm/mach-imx/head-v7.S
+++ b/arch/arm/mach-imx/head-v7.S
@@ -80,6 +80,7 @@ ENDPROC(v7_secondary_startup)
80 .data 80 .data
81 .align 81 .align
82 82
83#ifdef CONFIG_CACHE_L2X0
83 .macro pl310_resume 84 .macro pl310_resume
84 ldr r2, phys_l2x0_saved_regs 85 ldr r2, phys_l2x0_saved_regs
85 ldr r0, [r2, #L2X0_R_PHY_BASE] @ get physical base of l2x0 86 ldr r0, [r2, #L2X0_R_PHY_BASE] @ get physical base of l2x0
@@ -89,13 +90,17 @@ ENDPROC(v7_secondary_startup)
89 str r1, [r0, #L2X0_CTRL] @ re-enable L2 90 str r1, [r0, #L2X0_CTRL] @ re-enable L2
90 .endm 91 .endm
91 92
93 .globl phys_l2x0_saved_regs
94phys_l2x0_saved_regs:
95 .long 0
96#else
97 .macro pl310_resume
98 .endm
99#endif
100
92ENTRY(v7_cpu_resume) 101ENTRY(v7_cpu_resume)
93 bl v7_invalidate_l1 102 bl v7_invalidate_l1
94 pl310_resume 103 pl310_resume
95 b cpu_resume 104 b cpu_resume
96ENDPROC(v7_cpu_resume) 105ENDPROC(v7_cpu_resume)
97
98 .globl phys_l2x0_saved_regs
99phys_l2x0_saved_regs:
100 .long 0
101#endif 106#endif
diff --git a/arch/arm/mach-imx/pm-imx6q.c b/arch/arm/mach-imx/pm-imx6q.c
index f20f191d7cca..f7b0c2b1b905 100644
--- a/arch/arm/mach-imx/pm-imx6q.c
+++ b/arch/arm/mach-imx/pm-imx6q.c
@@ -64,7 +64,9 @@ void __init imx6q_pm_init(void)
64 * address of the data structure used by l2x0 core to save registers, 64 * address of the data structure used by l2x0 core to save registers,
65 * and later restore the necessary ones in imx6q resume entry. 65 * and later restore the necessary ones in imx6q resume entry.
66 */ 66 */
67#ifdef CONFIG_CACHE_L2X0
67 phys_l2x0_saved_regs = __pa(&l2x0_saved_regs); 68 phys_l2x0_saved_regs = __pa(&l2x0_saved_regs);
69#endif
68 70
69 suspend_set_ops(&imx6q_pm_ops); 71 suspend_set_ops(&imx6q_pm_ops);
70} 72}