diff options
Diffstat (limited to 'arch/arm/mm/proc-arm926.S')
-rw-r--r-- | arch/arm/mm/proc-arm926.S | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/arch/arm/mm/proc-arm926.S b/arch/arm/mm/proc-arm926.S index cd8f79c3a282..9f8fd91f918a 100644 --- a/arch/arm/mm/proc-arm926.S +++ b/arch/arm/mm/proc-arm926.S | |||
@@ -394,31 +394,26 @@ ENTRY(cpu_arm926_set_pte_ext) | |||
394 | 394 | ||
395 | /* Suspend/resume support: taken from arch/arm/plat-s3c24xx/sleep.S */ | 395 | /* Suspend/resume support: taken from arch/arm/plat-s3c24xx/sleep.S */ |
396 | .globl cpu_arm926_suspend_size | 396 | .globl cpu_arm926_suspend_size |
397 | .equ cpu_arm926_suspend_size, 4 * 4 | 397 | .equ cpu_arm926_suspend_size, 4 * 3 |
398 | #ifdef CONFIG_PM_SLEEP | 398 | #ifdef CONFIG_PM_SLEEP |
399 | ENTRY(cpu_arm926_do_suspend) | 399 | ENTRY(cpu_arm926_do_suspend) |
400 | stmfd sp!, {r4 - r7, lr} | 400 | stmfd sp!, {r4 - r6, lr} |
401 | mrc p15, 0, r4, c13, c0, 0 @ PID | 401 | mrc p15, 0, r4, c13, c0, 0 @ PID |
402 | mrc p15, 0, r5, c3, c0, 0 @ Domain ID | 402 | mrc p15, 0, r5, c3, c0, 0 @ Domain ID |
403 | mrc p15, 0, r6, c2, c0, 0 @ TTB address | 403 | mrc p15, 0, r6, c1, c0, 0 @ Control register |
404 | mrc p15, 0, r7, c1, c0, 0 @ Control register | 404 | stmia r0, {r4 - r6} |
405 | stmia r0, {r4 - r7} | 405 | ldmfd sp!, {r4 - r6, pc} |
406 | ldmfd sp!, {r4 - r7, pc} | ||
407 | ENDPROC(cpu_arm926_do_suspend) | 406 | ENDPROC(cpu_arm926_do_suspend) |
408 | 407 | ||
409 | ENTRY(cpu_arm926_do_resume) | 408 | ENTRY(cpu_arm926_do_resume) |
410 | mov ip, #0 | 409 | mov ip, #0 |
411 | mcr p15, 0, ip, c8, c7, 0 @ invalidate I+D TLBs | 410 | mcr p15, 0, ip, c8, c7, 0 @ invalidate I+D TLBs |
412 | mcr p15, 0, ip, c7, c7, 0 @ invalidate I+D caches | 411 | mcr p15, 0, ip, c7, c7, 0 @ invalidate I+D caches |
413 | ldmia r0, {r4 - r7} | 412 | ldmia r0, {r4 - r6} |
414 | mcr p15, 0, r4, c13, c0, 0 @ PID | 413 | mcr p15, 0, r4, c13, c0, 0 @ PID |
415 | mcr p15, 0, r5, c3, c0, 0 @ Domain ID | 414 | mcr p15, 0, r5, c3, c0, 0 @ Domain ID |
416 | mcr p15, 0, r6, c2, c0, 0 @ TTB address | 415 | mcr p15, 0, r1, c2, c0, 0 @ TTB address |
417 | mov r0, r7 @ control register | 416 | mov r0, r6 @ control register |
418 | mov r2, r6, lsr #14 @ get TTB0 base | ||
419 | mov r2, r2, lsl #14 | ||
420 | ldr r3, =PMD_TYPE_SECT | PMD_SECT_BUFFERABLE | \ | ||
421 | PMD_SECT_CACHEABLE | PMD_BIT4 | PMD_SECT_AP_WRITE | ||
422 | b cpu_resume_mmu | 417 | b cpu_resume_mmu |
423 | ENDPROC(cpu_arm926_do_resume) | 418 | ENDPROC(cpu_arm926_do_resume) |
424 | #endif | 419 | #endif |