ARM: pm: omap34xx: no need to save all registers in sleep34xx.S
The ABI allows called functions to corrupt r0-r3 and ip (r12). So its pointless saving these registers in the suspend code - the calling function will expect them to be corrupted and so won't rely on their contents after resume. Reviewed-by: Kevin Hilman <khilman@ti.com> Tested-by: Kevin Hilman <khilman@ti.com> Acked-by: Jean Pihet <j-pihet@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
a9503d2185
commit
857c1b81f8
|
@ -133,7 +133,7 @@ ENDPROC(enable_omap3630_toggle_l2_on_restore)
|
||||||
/* Function to call rom code to save secure ram context */
|
/* Function to call rom code to save secure ram context */
|
||||||
.align 3
|
.align 3
|
||||||
ENTRY(save_secure_ram_context)
|
ENTRY(save_secure_ram_context)
|
||||||
stmfd sp!, {r1-r12, lr} @ save registers on stack
|
stmfd sp!, {r4 - r11, lr} @ save registers on stack
|
||||||
adr r3, api_params @ r3 points to parameters
|
adr r3, api_params @ r3 points to parameters
|
||||||
str r0, [r3,#0x4] @ r0 has sdram address
|
str r0, [r3,#0x4] @ r0 has sdram address
|
||||||
ldr r12, high_mask
|
ldr r12, high_mask
|
||||||
|
@ -152,7 +152,7 @@ ENTRY(save_secure_ram_context)
|
||||||
nop
|
nop
|
||||||
nop
|
nop
|
||||||
nop
|
nop
|
||||||
ldmfd sp!, {r1-r12, pc}
|
ldmfd sp!, {r4 - r11, pc}
|
||||||
.align
|
.align
|
||||||
sram_phy_addr_mask:
|
sram_phy_addr_mask:
|
||||||
.word SRAM_BASE_P
|
.word SRAM_BASE_P
|
||||||
|
@ -187,7 +187,7 @@ ENTRY(save_secure_ram_context_sz)
|
||||||
*/
|
*/
|
||||||
.align 3
|
.align 3
|
||||||
ENTRY(omap34xx_cpu_suspend)
|
ENTRY(omap34xx_cpu_suspend)
|
||||||
stmfd sp!, {r0-r12, lr} @ save registers on stack
|
stmfd sp!, {r4 - r11, lr} @ save registers on stack
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* r0 contains CPU context save/restore pointer in sdram
|
* r0 contains CPU context save/restore pointer in sdram
|
||||||
|
@ -329,7 +329,7 @@ omap3_do_wfi:
|
||||||
* == Exit point from non-OFF modes ==
|
* == Exit point from non-OFF modes ==
|
||||||
* ===================================
|
* ===================================
|
||||||
*/
|
*/
|
||||||
ldmfd sp!, {r0-r12, pc} @ restore regs and return
|
ldmfd sp!, {r4 - r11, pc} @ restore regs and return
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -572,7 +572,7 @@ usettbr0:
|
||||||
* ==============================
|
* ==============================
|
||||||
*/
|
*/
|
||||||
restoremmu_on:
|
restoremmu_on:
|
||||||
ldmfd sp!, {r0-r12, pc} @ restore regs and return
|
ldmfd sp!, {r4 - r11, pc} @ restore regs and return
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue