[PATCH 1/7] OMAP3: remove unused code from the ASM sleep code
Santosh Shilimkar
santosh.shilimkar at ti.com
Fri Dec 17 05:36:18 EST 2010
> -----Original Message-----
> From: linux-omap-owner at vger.kernel.org [mailto:linux-omap-
> owner at vger.kernel.org] On Behalf Of jean.pihet at newoldbits.com
> Sent: Friday, December 17, 2010 3:38 PM
> To: linux-omap at vger.kernel.org
> Cc: khilman at deeprootsystems.com; linux-arm-kernel at lists.infradead.org;
> Jean Pihet
> Subject: [PATCH 1/7] OMAP3: remove unused code from the ASM sleep code
>
> From: Jean Pihet <j-pihet at ti.com>
>
> Remove unused code:
> - macros,
> - variables,
> - unused semaphore locking API. This API shall be added back
> when needed,
> - infinite loops for debug.
>
> Tested on N900 and Beagleboard with full RET and OFF modes,
> using cpuidle and suspend.
>
> Signed-off-by: Jean Pihet <j-pihet at ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
> ---
> arch/arm/mach-omap2/pm.h | 1 -
> arch/arm/mach-omap2/sleep34xx.S | 58
++++------------------------------
> -----
> 2 files changed, 6 insertions(+), 53 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
> index aff39d0..e458b2a 100644
> --- a/arch/arm/mach-omap2/pm.h
> +++ b/arch/arm/mach-omap2/pm.h
> @@ -80,7 +80,6 @@ extern void save_secure_ram_context(u32 *addr);
> extern void omap3_save_scratchpad_contents(void);
>
> extern unsigned int omap24xx_idle_loop_suspend_sz;
> -extern unsigned int omap34xx_suspend_sz;
> extern unsigned int save_secure_ram_context_sz;
> extern unsigned int omap24xx_cpu_suspend_sz;
> extern unsigned int omap34xx_cpu_suspend_sz;
> diff --git a/arch/arm/mach-omap2/sleep34xx.S b/arch/arm/mach-
> omap2/sleep34xx.S
> index d2eda01..2191576 100644
> --- a/arch/arm/mach-omap2/sleep34xx.S
> +++ b/arch/arm/mach-omap2/sleep34xx.S
> @@ -35,11 +35,7 @@
>
> #define SDRC_SCRATCHPAD_SEM_V 0xfa00291c
>
> -#define PM_PREPWSTST_CORE_V OMAP34XX_PRM_REGADDR(CORE_MOD, \
> - OMAP3430_PM_PREPWSTST)
> #define PM_PREPWSTST_CORE_P 0x48306AE8
> -#define PM_PREPWSTST_MPU_V OMAP34XX_PRM_REGADDR(MPU_MOD, \
> - OMAP3430_PM_PREPWSTST)
> #define PM_PWSTCTRL_MPU_P OMAP3430_PRM_BASE + MPU_MOD +
> OMAP2_PM_PWSTCTRL
> #define CM_IDLEST1_CORE_V OMAP34XX_CM_REGADDR(CORE_MOD, CM_IDLEST1)
> #define CM_IDLEST_CKGEN_V OMAP34XX_CM_REGADDR(PLL_MOD, CM_IDLEST)
> @@ -62,36 +58,10 @@
> #define SDRC_DLLA_STATUS_V OMAP34XX_SDRC_REGADDR(SDRC_DLLA_STATUS)
> #define SDRC_DLLA_CTRL_V OMAP34XX_SDRC_REGADDR(SDRC_DLLA_CTRL)
>
> - .text
> -/* Function to acquire the semaphore in scratchpad */
> -ENTRY(lock_scratchpad_sem)
> - stmfd sp!, {lr} @ save registers on stack
> -wait_sem:
> - mov r0,#1
> - ldr r1, sdrc_scratchpad_sem
> -wait_loop:
> - ldr r2, [r1] @ load the lock value
> - cmp r2, r0 @ is the lock free ?
> - beq wait_loop @ not free...
> - swp r2, r0, [r1] @ semaphore free so lock it and proceed
> - cmp r2, r0 @ did we succeed ?
> - beq wait_sem @ no - try again
> - ldmfd sp!, {pc} @ restore regs and return
> -sdrc_scratchpad_sem:
> - .word SDRC_SCRATCHPAD_SEM_V
> -ENTRY(lock_scratchpad_sem_sz)
> - .word . - lock_scratchpad_sem
> -
> - .text
> -/* Function to release the scratchpad semaphore */
> -ENTRY(unlock_scratchpad_sem)
> - stmfd sp!, {lr} @ save registers on stack
> - ldr r3, sdrc_scratchpad_sem
> - mov r2,#0
> - str r2,[r3]
> - ldmfd sp!, {pc} @ restore regs and return
> -ENTRY(unlock_scratchpad_sem_sz)
> - .word . - unlock_scratchpad_sem
> +
> +/*
> + * API functions
> + */
>
> .text
> /* Function call to get the restore pointer for resume from OFF */
> @@ -178,8 +148,7 @@ ENTRY(es3_sdrc_fix_sz)
> /* Function to call rom code to save secure ram context */
> ENTRY(save_secure_ram_context)
> stmfd sp!, {r1-r12, lr} @ save registers on stack
> -save_secure_ram_debug:
> - /* b save_secure_ram_debug */ @ enable to debug save code
> +
> adr r3, api_params @ r3 points to parameters
> str r0, [r3,#0x4] @ r0 has sdram address
> ldr r12, high_mask
> @@ -219,8 +188,7 @@ ENTRY(save_secure_ram_context_sz)
> */
> ENTRY(omap34xx_cpu_suspend)
> stmfd sp!, {r0-r12, lr} @ save registers on stack
> -loop:
> - /*b loop*/ @Enable to debug by stepping through code
> +
> /* r0 contains restore pointer in sdram */
> /* r1 contains information about saving context */
> ldr r4, sdrc_power @ read the SDRC_POWER register
> @@ -252,7 +220,6 @@ loop:
>
> ldmfd sp!, {r0-r12, pc} @ restore regs and return
> restore_es3:
> - /*b restore_es3*/ @ Enable to debug restore code
> ldr r5, pm_prepwstst_core_p
> ldr r4, [r5]
> and r4, r4, #0x3
> @@ -272,7 +239,6 @@ copy_to_sram:
> b restore
>
> restore_3630:
> - /*b restore_es3630*/ @ Enable to debug restore code
> ldr r1, pm_prepwstst_core_p
> ldr r2, [r1]
> and r2, r2, #0x3
> @@ -284,7 +250,6 @@ restore_3630:
> str r2, [r1]
> /* Fall thru for the remaining logic */
> restore:
> - /* b restore*/ @ Enable to debug restore code
> /* Check what was the reason for mpu reset and store the reason
> in r9*/
> /* 1 - Only L1 and logic lost */
> /* 2 - Only L2 lost - In this case, we wont be here */
> @@ -493,7 +458,6 @@ usettbr0:
>
> ldmfd sp!, {r0-r12, pc} @ restore regs and return
> save_context_wfi:
> - /*b save_context_wfi*/ @ enable to debug save code
> mov r8, r0 /* Store SDRAM address in r8 */
> mrc p15, 0, r5, c1, c0, 1 @ Read Auxiliary Control Register
> mov r4, #0x1 @ Number of parameters for restore
call
> @@ -672,12 +636,8 @@ sdrc_dlla_status:
> .word SDRC_DLLA_STATUS_V
> sdrc_dlla_ctrl:
> .word SDRC_DLLA_CTRL_V
> -pm_prepwstst_core:
> - .word PM_PREPWSTST_CORE_V
> pm_prepwstst_core_p:
> .word PM_PREPWSTST_CORE_P
> -pm_prepwstst_mpu:
> - .word PM_PREPWSTST_MPU_V
> pm_pwstctrl_mpu:
> .word PM_PWSTCTRL_MPU_P
> scratchpad_base:
> @@ -686,12 +646,6 @@ sram_base:
> .word SRAM_BASE_P + 0x8000
> sdrc_power:
> .word SDRC_POWER_V
> -clk_stabilize_delay:
> - .word 0x000001FF
> -assoc_mask:
> - .word 0x3ff
> -numset_mask:
> - .word 0x7fff
> ttbrbit_mask:
> .word 0xFFFFC000
> table_index_mask:
> --
> 1.7.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the linux-arm-kernel
mailing list