ARM: pm: only use preallocated page table during resume
Only use the preallocated page table during the resume, not while suspending. This avoids the overhead of having to switch unnecessarily to the resume page table in the suspend path. Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Tested-by: Shawn Guo <shawn.guo@linaro.org> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
此提交包含在:
@@ -168,20 +168,19 @@ ENTRY(cpu_sa1100_set_pte_ext)
|
||||
mov pc, lr
|
||||
|
||||
.globl cpu_sa1100_suspend_size
|
||||
.equ cpu_sa1100_suspend_size, 4*4
|
||||
.equ cpu_sa1100_suspend_size, 4 * 3
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
ENTRY(cpu_sa1100_do_suspend)
|
||||
stmfd sp!, {r4 - r7, lr}
|
||||
stmfd sp!, {r4 - r6, lr}
|
||||
mrc p15, 0, r4, c3, c0, 0 @ domain ID
|
||||
mrc p15, 0, r5, c2, c0, 0 @ translation table base addr
|
||||
mrc p15, 0, r6, c13, c0, 0 @ PID
|
||||
mrc p15, 0, r7, c1, c0, 0 @ control reg
|
||||
stmia r0, {r4 - r7} @ store cp regs
|
||||
ldmfd sp!, {r4 - r7, pc}
|
||||
mrc p15, 0, r5, c13, c0, 0 @ PID
|
||||
mrc p15, 0, r6, c1, c0, 0 @ control reg
|
||||
stmia r0, {r4 - r6} @ store cp regs
|
||||
ldmfd sp!, {r4 - r6, pc}
|
||||
ENDPROC(cpu_sa1100_do_suspend)
|
||||
|
||||
ENTRY(cpu_sa1100_do_resume)
|
||||
ldmia r0, {r4 - r7} @ load cp regs
|
||||
ldmia r0, {r4 - r6} @ load cp regs
|
||||
mov ip, #0
|
||||
mcr p15, 0, ip, c8, c7, 0 @ flush I+D TLBs
|
||||
mcr p15, 0, ip, c7, c7, 0 @ flush I&D cache
|
||||
@@ -189,9 +188,9 @@ ENTRY(cpu_sa1100_do_resume)
|
||||
mcr p15, 0, ip, c9, c0, 5 @ allow user space to use RB
|
||||
|
||||
mcr p15, 0, r4, c3, c0, 0 @ domain ID
|
||||
mcr p15, 0, r5, c2, c0, 0 @ translation table base addr
|
||||
mcr p15, 0, r6, c13, c0, 0 @ PID
|
||||
mov r0, r7 @ control register
|
||||
mcr p15, 0, r1, c2, c0, 0 @ translation table base addr
|
||||
mcr p15, 0, r5, c13, c0, 0 @ PID
|
||||
mov r0, r6 @ control register
|
||||
b cpu_resume_mmu
|
||||
ENDPROC(cpu_sa1100_do_resume)
|
||||
#endif
|
||||
|
新增問題並參考
封鎖使用者