diff options
Diffstat (limited to 'arch/arm/mm/proc-sa1100.S')
-rw-r--r-- | arch/arm/mm/proc-sa1100.S | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/arch/arm/mm/proc-sa1100.S b/arch/arm/mm/proc-sa1100.S index 69e7f2ef7384..7d91545d089b 100644 --- a/arch/arm/mm/proc-sa1100.S +++ b/arch/arm/mm/proc-sa1100.S | |||
@@ -168,20 +168,19 @@ ENTRY(cpu_sa1100_set_pte_ext) | |||
168 | mov pc, lr | 168 | mov pc, lr |
169 | 169 | ||
170 | .globl cpu_sa1100_suspend_size | 170 | .globl cpu_sa1100_suspend_size |
171 | .equ cpu_sa1100_suspend_size, 4*4 | 171 | .equ cpu_sa1100_suspend_size, 4 * 3 |
172 | #ifdef CONFIG_PM_SLEEP | 172 | #ifdef CONFIG_PM_SLEEP |
173 | ENTRY(cpu_sa1100_do_suspend) | 173 | ENTRY(cpu_sa1100_do_suspend) |
174 | stmfd sp!, {r4 - r7, lr} | 174 | stmfd sp!, {r4 - r6, lr} |
175 | mrc p15, 0, r4, c3, c0, 0 @ domain ID | 175 | mrc p15, 0, r4, c3, c0, 0 @ domain ID |
176 | mrc p15, 0, r5, c2, c0, 0 @ translation table base addr | 176 | mrc p15, 0, r5, c13, c0, 0 @ PID |
177 | mrc p15, 0, r6, c13, c0, 0 @ PID | 177 | mrc p15, 0, r6, c1, c0, 0 @ control reg |
178 | mrc p15, 0, r7, c1, c0, 0 @ control reg | 178 | stmia r0, {r4 - r6} @ store cp regs |
179 | stmia r0, {r4 - r7} @ store cp regs | 179 | ldmfd sp!, {r4 - r6, pc} |
180 | ldmfd sp!, {r4 - r7, pc} | ||
181 | ENDPROC(cpu_sa1100_do_suspend) | 180 | ENDPROC(cpu_sa1100_do_suspend) |
182 | 181 | ||
183 | ENTRY(cpu_sa1100_do_resume) | 182 | ENTRY(cpu_sa1100_do_resume) |
184 | ldmia r0, {r4 - r7} @ load cp regs | 183 | ldmia r0, {r4 - r6} @ load cp regs |
185 | mov ip, #0 | 184 | mov ip, #0 |
186 | mcr p15, 0, ip, c8, c7, 0 @ flush I+D TLBs | 185 | mcr p15, 0, ip, c8, c7, 0 @ flush I+D TLBs |
187 | mcr p15, 0, ip, c7, c7, 0 @ flush I&D cache | 186 | mcr p15, 0, ip, c7, c7, 0 @ flush I&D cache |
@@ -189,13 +188,9 @@ ENTRY(cpu_sa1100_do_resume) | |||
189 | mcr p15, 0, ip, c9, c0, 5 @ allow user space to use RB | 188 | mcr p15, 0, ip, c9, c0, 5 @ allow user space to use RB |
190 | 189 | ||
191 | mcr p15, 0, r4, c3, c0, 0 @ domain ID | 190 | mcr p15, 0, r4, c3, c0, 0 @ domain ID |
192 | mcr p15, 0, r5, c2, c0, 0 @ translation table base addr | 191 | mcr p15, 0, r1, c2, c0, 0 @ translation table base addr |
193 | mcr p15, 0, r6, c13, c0, 0 @ PID | 192 | mcr p15, 0, r5, c13, c0, 0 @ PID |
194 | mov r0, r7 @ control register | 193 | mov r0, r6 @ control register |
195 | mov r2, r5, lsr #14 @ get TTB0 base | ||
196 | mov r2, r2, lsl #14 | ||
197 | ldr r3, =PMD_TYPE_SECT | PMD_SECT_BUFFERABLE | \ | ||
198 | PMD_SECT_CACHEABLE | PMD_SECT_AP_WRITE | ||
199 | b cpu_resume_mmu | 194 | b cpu_resume_mmu |
200 | ENDPROC(cpu_sa1100_do_resume) | 195 | ENDPROC(cpu_sa1100_do_resume) |
201 | #endif | 196 | #endif |