From: Santosh Shilimkar <santosh.shilimkar@ti.com>
To: jean.pihet@newoldbits.com, linux-omap@vger.kernel.org
Cc: khilman@deeprootsystems.com,
linux-arm-kernel@lists.infradead.org,
Jean Pihet-XID <j-pihet@ti.com>
Subject: RE: [PATCH 1/7] OMAP3: remove unused code from the ASM sleep code
Date: Fri, 17 Dec 2010 16:06:18 +0530 [thread overview]
Message-ID: <b2ac8ad467272d73b6884d42d4c7db1b@mail.gmail.com> (raw)
In-Reply-To: <1292580506-4421-2-git-send-email-j-pihet@ti.com>
> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> owner@vger.kernel.org] On Behalf Of jean.pihet@newoldbits.com
> Sent: Friday, December 17, 2010 3:38 PM
> To: linux-omap@vger.kernel.org
> Cc: khilman@deeprootsystems.com; linux-arm-kernel@lists.infradead.org;
> Jean Pihet
> Subject: [PATCH 1/7] OMAP3: remove unused code from the ASM sleep code
>
> From: Jean Pihet <j-pihet@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@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@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@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: santosh.shilimkar@ti.com (Santosh Shilimkar)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/7] OMAP3: remove unused code from the ASM sleep code
Date: Fri, 17 Dec 2010 16:06:18 +0530 [thread overview]
Message-ID: <b2ac8ad467272d73b6884d42d4c7db1b@mail.gmail.com> (raw)
In-Reply-To: <1292580506-4421-2-git-send-email-j-pihet@ti.com>
> -----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@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@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@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
next prev parent reply other threads:[~2010-12-17 10:36 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-17 10:08 [PATCH 0/7 v5] OMAP3: clean up ASM sleep code jean.pihet
2010-12-17 10:08 ` jean.pihet at newoldbits.com
2010-12-17 10:08 ` [PATCH 1/7] OMAP3: remove unused code from the " jean.pihet
2010-12-17 10:08 ` jean.pihet at newoldbits.com
2010-12-17 10:36 ` Santosh Shilimkar [this message]
2010-12-17 10:36 ` Santosh Shilimkar
2010-12-17 13:18 ` Nishanth Menon
2010-12-17 13:18 ` Nishanth Menon
2010-12-17 10:08 ` [PATCH 2/7] OMAP2+: use global values for the SRAM PA addresses jean.pihet
2010-12-17 10:08 ` jean.pihet at newoldbits.com
2010-12-17 10:36 ` Santosh Shilimkar
2010-12-17 10:36 ` Santosh Shilimkar
2010-12-17 13:34 ` Nishanth Menon
2010-12-17 13:34 ` Nishanth Menon
2010-12-17 14:59 ` Jean Pihet
2010-12-17 14:59 ` Jean Pihet
2010-12-17 15:00 ` Nishanth Menon
2010-12-17 15:00 ` Nishanth Menon
2010-12-17 10:08 ` [PATCH 3/7] OMAP3: remove hardcoded values from the ASM sleep code jean.pihet
2010-12-17 10:08 ` jean.pihet at newoldbits.com
2010-12-17 10:36 ` Santosh Shilimkar
2010-12-17 10:36 ` Santosh Shilimkar
2010-12-17 13:51 ` Nishanth Menon
2010-12-17 13:51 ` Nishanth Menon
2010-12-17 10:08 ` [PATCH 4/7] OMAP3: re-organize " jean.pihet
2010-12-17 10:08 ` jean.pihet at newoldbits.com
2010-12-17 10:37 ` Santosh Shilimkar
2010-12-17 10:37 ` Santosh Shilimkar
2010-12-17 14:05 ` Nishanth Menon
2010-12-17 14:05 ` Nishanth Menon
2010-12-17 10:08 ` [PATCH 5/7] OMAP3: rework of the ASM sleep code execution paths jean.pihet
2010-12-17 10:08 ` jean.pihet at newoldbits.com
2010-12-17 10:37 ` Santosh Shilimkar
2010-12-17 10:37 ` Santosh Shilimkar
2010-12-17 15:35 ` Nishanth Menon
2010-12-17 15:35 ` Nishanth Menon
2010-12-18 15:54 ` Jean Pihet
2010-12-18 15:54 ` Jean Pihet
2010-12-17 10:08 ` [PATCH 6/7] OMAP3: add comments for low power code errata jean.pihet
2010-12-17 10:08 ` jean.pihet at newoldbits.com
2010-12-17 10:37 ` Santosh Shilimkar
2010-12-17 10:37 ` Santosh Shilimkar
2010-12-17 15:43 ` Nishanth Menon
2010-12-17 15:43 ` Nishanth Menon
2010-12-17 10:08 ` [PATCH 7/7] OMAP3: ASM sleep code format rework jean.pihet
2010-12-17 10:08 ` jean.pihet at newoldbits.com
2010-12-17 10:37 ` Santosh Shilimkar
2010-12-17 10:37 ` Santosh Shilimkar
2010-12-17 15:58 ` Nishanth Menon
2010-12-17 15:58 ` Nishanth Menon
2010-12-18 15:56 ` Jean Pihet
2010-12-18 15:56 ` Jean Pihet
2010-12-17 23:02 ` [PATCH 0/7 v5] OMAP3: clean up ASM sleep code Kevin Hilman
2010-12-17 23:02 ` Kevin Hilman
2010-12-17 23:07 ` Jean Pihet
2010-12-17 23:07 ` Jean Pihet
2010-12-17 23:22 ` Nishanth Menon
2010-12-17 23:22 ` Nishanth Menon
2010-12-18 15:51 ` Jean Pihet
2010-12-18 15:51 ` Jean Pihet
-- strict thread matches above, loose matches on Subject: below --
2010-12-18 15:44 [PATCH 0/7 v6] " jean.pihet
2010-12-18 15:44 ` [PATCH 1/7] OMAP3: remove unused code from the " jean.pihet
2010-12-18 15:44 ` jean.pihet at newoldbits.com
2010-12-16 17:50 [PATCH 0/7 v4] OMAP3: clean up " jean.pihet
2010-12-16 17:50 ` [PATCH 1/7] OMAP3: remove unused code from the " jean.pihet
2010-12-16 17:50 ` jean.pihet at newoldbits.com
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b2ac8ad467272d73b6884d42d4c7db1b@mail.gmail.com \
--to=santosh.shilimkar@ti.com \
--cc=j-pihet@ti.com \
--cc=jean.pihet@newoldbits.com \
--cc=khilman@deeprootsystems.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.