All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nishanth Menon <nm@ti.com>
To: jean.pihet@newoldbits.com
Cc: linux-omap@vger.kernel.org, khilman@deeprootsystems.com,
	linux-arm-kernel@lists.infradead.org, Jean Pihet <j-pihet@ti.com>
Subject: Re: [PATCH 4/7] OMAP3: re-organize the ASM sleep code
Date: Fri, 17 Dec 2010 08:05:22 -0600	[thread overview]
Message-ID: <4D0B6E22.7000902@ti.com> (raw)
In-Reply-To: <1292580506-4421-5-git-send-email-j-pihet@ti.com>

jean.pihet@newoldbits.com had written, on 12/17/2010 04:08 AM, the 
following:
> From: Jean Pihet <j-pihet@ti.com>
> 
> Organize the code in the following sections:
> - register access macros,
> - API functions,
> - internal functions.
> 
> Tested on N900 and Beagleboard with full RET and OFF modes,
> using cpuidle and suspend.
> 
> Signed-off-by: Jean Pihet <j-pihet@ti.com>
> ---
>  arch/arm/mach-omap2/sleep34xx.S |  114 +++++++++++++++++++++------------------
>  1 files changed, 61 insertions(+), 53 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/sleep34xx.S b/arch/arm/mach-omap2/sleep34xx.S
> index 8e9f38f..beeb682 100644
> --- a/arch/arm/mach-omap2/sleep34xx.S
> +++ b/arch/arm/mach-omap2/sleep34xx.S
> @@ -79,6 +79,7 @@ ENTRY(get_restore_pointer)
>          ldmfd   sp!, {pc}     @ restore regs and return
>  ENTRY(get_restore_pointer_sz)
>          .word   . - get_restore_pointer
> +
formatting change - recommend a separate patch collating other 
formatting changes from other patches as well.

>  	.text
>  /* Function call to get the restore pointer for 3630 resume from OFF */
>  ENTRY(get_omap3630_restore_pointer)
> @@ -89,9 +90,18 @@ ENTRY(get_omap3630_restore_pointer_sz)
>          .word   . - get_omap3630_restore_pointer
>  
>  	.text
> +/* Function call to get the restore pointer for ES3 to resume from OFF */
> +ENTRY(get_es3_restore_pointer)
> +	stmfd	sp!, {lr}	@ save registers on stack
> +	adr	r0, restore_es3
> +	ldmfd	sp!, {pc}	@ restore regs and return
> +ENTRY(get_es3_restore_pointer_sz)
> +	.word	. - get_es3_restore_pointer
> +
> +	.text
btw, if you prefer me to introduce the enable_omap3630_l2_on_restore 
toggle after get_es3_restore_pointer, I can do that.
>  /*
>   * L2 cache needs to be toggled for stable OFF mode functionality on 3630.
> - * This function sets up a fflag that will allow for this toggling to take
> + * This function sets up a flag that will allow for this toggling to take
Thanks on the fflag/flag :) - but this probably belongs to my patch ;) 
could you comment on my latest rev, I will fix it there.

>   * place on 3630. Hopefully some version in the future maynot need this
>   */
>  ENTRY(enable_omap3630_toggle_l2_on_restore)
> @@ -101,58 +111,6 @@ ENTRY(enable_omap3630_toggle_l2_on_restore)
>  	str	r1, l2dis_3630
>          ldmfd   sp!, {pc}     @ restore regs and return
>  
> -	.text
> -/* Function call to get the restore pointer for for ES3 to resume from OFF */
> -ENTRY(get_es3_restore_pointer)
> -	stmfd	sp!, {lr}	@ save registers on stack
> -	adr	r0, restore_es3
> -	ldmfd	sp!, {pc}	@ restore regs and return
> -ENTRY(get_es3_restore_pointer_sz)
> -	.word	. - get_es3_restore_pointer
> -
> -ENTRY(es3_sdrc_fix)
> -	ldr	r4, sdrc_syscfg		@ get config addr
> -	ldr	r5, [r4]		@ get value
> -	tst	r5, #0x100		@ is part access blocked
> -	it	eq
> -	biceq	r5, r5, #0x100		@ clear bit if set
> -	str	r5, [r4]		@ write back change
> -	ldr	r4, sdrc_mr_0		@ get config addr
> -	ldr	r5, [r4]		@ get value
> -	str	r5, [r4]		@ write back change
> -	ldr	r4, sdrc_emr2_0		@ get config addr
> -	ldr	r5, [r4]		@ get value
> -	str	r5, [r4]		@ write back change
> -	ldr	r4, sdrc_manual_0	@ get config addr
> -	mov	r5, #0x2		@ autorefresh command
> -	str	r5, [r4]		@ kick off refreshes
> -	ldr	r4, sdrc_mr_1		@ get config addr
> -	ldr	r5, [r4]		@ get value
> -	str	r5, [r4]		@ write back change
> -	ldr	r4, sdrc_emr2_1		@ get config addr
> -	ldr	r5, [r4]		@ get value
> -	str	r5, [r4]		@ write back change
> -	ldr	r4, sdrc_manual_1	@ get config addr
> -	mov	r5, #0x2		@ autorefresh command
> -	str	r5, [r4]		@ kick off refreshes
> -	bx	lr
> -sdrc_syscfg:
> -	.word	SDRC_SYSCONFIG_P
> -sdrc_mr_0:
> -	.word	SDRC_MR_0_P
> -sdrc_emr2_0:
> -	.word	SDRC_EMR2_0_P
> -sdrc_manual_0:
> -	.word	SDRC_MANUAL_0_P
> -sdrc_mr_1:
> -	.word	SDRC_MR_1_P
> -sdrc_emr2_1:
> -	.word	SDRC_EMR2_1_P
> -sdrc_manual_1:
> -	.word	SDRC_MANUAL_1_P
> -ENTRY(es3_sdrc_fix_sz)
> -	.word	. - es3_sdrc_fix
> -
>  /* Function to call rom code to save secure ram context */
>  ENTRY(save_secure_ram_context)
>  	stmfd	sp!, {r1-r12, lr}	@ save registers on stack
> @@ -577,6 +535,56 @@ skip_l2_inval:
>  	/* restore regs and return */
>  	ldmfd   sp!, {r0-r12, pc}
>  
> +
> +/*
> + * Internal functions
> + */
> +
> +	.text
> +ENTRY(es3_sdrc_fix)
> +	ldr	r4, sdrc_syscfg		@ get config addr
> +	ldr	r5, [r4]		@ get value
> +	tst	r5, #0x100		@ is part access blocked
> +	it	eq
> +	biceq	r5, r5, #0x100		@ clear bit if set
> +	str	r5, [r4]		@ write back change
> +	ldr	r4, sdrc_mr_0		@ get config addr
> +	ldr	r5, [r4]		@ get value
> +	str	r5, [r4]		@ write back change
> +	ldr	r4, sdrc_emr2_0		@ get config addr
> +	ldr	r5, [r4]		@ get value
> +	str	r5, [r4]		@ write back change
> +	ldr	r4, sdrc_manual_0	@ get config addr
> +	mov	r5, #0x2		@ autorefresh command
> +	str	r5, [r4]		@ kick off refreshes
> +	ldr	r4, sdrc_mr_1		@ get config addr
> +	ldr	r5, [r4]		@ get value
> +	str	r5, [r4]		@ write back change
> +	ldr	r4, sdrc_emr2_1		@ get config addr
> +	ldr	r5, [r4]		@ get value
> +	str	r5, [r4]		@ write back change
> +	ldr	r4, sdrc_manual_1	@ get config addr
> +	mov	r5, #0x2		@ autorefresh command
> +	str	r5, [r4]		@ kick off refreshes
> +	bx	lr
> +
> +sdrc_syscfg:
> +	.word	SDRC_SYSCONFIG_P
> +sdrc_mr_0:
> +	.word	SDRC_MR_0_P
> +sdrc_emr2_0:
> +	.word	SDRC_EMR2_0_P
> +sdrc_manual_0:
> +	.word	SDRC_MANUAL_0_P
> +sdrc_mr_1:
> +	.word	SDRC_MR_1_P
> +sdrc_emr2_1:
> +	.word	SDRC_EMR2_1_P
> +sdrc_manual_1:
> +	.word	SDRC_MANUAL_1_P
> +ENTRY(es3_sdrc_fix_sz)
> +	.word	. - es3_sdrc_fix
> +
>  /* Make sure SDRC accesses are ok */
>  wait_sdrc_ok:
>  
Tested-by: Nishanth Menon <nm@ti.com>
Tested on:
SDP3630
SDP3430
Test script:
http://pastebin.mozilla.org/889933

-- 
Regards,
Nishanth Menon

WARNING: multiple messages have this Message-ID (diff)
From: nm@ti.com (Nishanth Menon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/7] OMAP3: re-organize the ASM sleep code
Date: Fri, 17 Dec 2010 08:05:22 -0600	[thread overview]
Message-ID: <4D0B6E22.7000902@ti.com> (raw)
In-Reply-To: <1292580506-4421-5-git-send-email-j-pihet@ti.com>

jean.pihet at newoldbits.com had written, on 12/17/2010 04:08 AM, the 
following:
> From: Jean Pihet <j-pihet@ti.com>
> 
> Organize the code in the following sections:
> - register access macros,
> - API functions,
> - internal functions.
> 
> Tested on N900 and Beagleboard with full RET and OFF modes,
> using cpuidle and suspend.
> 
> Signed-off-by: Jean Pihet <j-pihet@ti.com>
> ---
>  arch/arm/mach-omap2/sleep34xx.S |  114 +++++++++++++++++++++------------------
>  1 files changed, 61 insertions(+), 53 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/sleep34xx.S b/arch/arm/mach-omap2/sleep34xx.S
> index 8e9f38f..beeb682 100644
> --- a/arch/arm/mach-omap2/sleep34xx.S
> +++ b/arch/arm/mach-omap2/sleep34xx.S
> @@ -79,6 +79,7 @@ ENTRY(get_restore_pointer)
>          ldmfd   sp!, {pc}     @ restore regs and return
>  ENTRY(get_restore_pointer_sz)
>          .word   . - get_restore_pointer
> +
formatting change - recommend a separate patch collating other 
formatting changes from other patches as well.

>  	.text
>  /* Function call to get the restore pointer for 3630 resume from OFF */
>  ENTRY(get_omap3630_restore_pointer)
> @@ -89,9 +90,18 @@ ENTRY(get_omap3630_restore_pointer_sz)
>          .word   . - get_omap3630_restore_pointer
>  
>  	.text
> +/* Function call to get the restore pointer for ES3 to resume from OFF */
> +ENTRY(get_es3_restore_pointer)
> +	stmfd	sp!, {lr}	@ save registers on stack
> +	adr	r0, restore_es3
> +	ldmfd	sp!, {pc}	@ restore regs and return
> +ENTRY(get_es3_restore_pointer_sz)
> +	.word	. - get_es3_restore_pointer
> +
> +	.text
btw, if you prefer me to introduce the enable_omap3630_l2_on_restore 
toggle after get_es3_restore_pointer, I can do that.
>  /*
>   * L2 cache needs to be toggled for stable OFF mode functionality on 3630.
> - * This function sets up a fflag that will allow for this toggling to take
> + * This function sets up a flag that will allow for this toggling to take
Thanks on the fflag/flag :) - but this probably belongs to my patch ;) 
could you comment on my latest rev, I will fix it there.

>   * place on 3630. Hopefully some version in the future maynot need this
>   */
>  ENTRY(enable_omap3630_toggle_l2_on_restore)
> @@ -101,58 +111,6 @@ ENTRY(enable_omap3630_toggle_l2_on_restore)
>  	str	r1, l2dis_3630
>          ldmfd   sp!, {pc}     @ restore regs and return
>  
> -	.text
> -/* Function call to get the restore pointer for for ES3 to resume from OFF */
> -ENTRY(get_es3_restore_pointer)
> -	stmfd	sp!, {lr}	@ save registers on stack
> -	adr	r0, restore_es3
> -	ldmfd	sp!, {pc}	@ restore regs and return
> -ENTRY(get_es3_restore_pointer_sz)
> -	.word	. - get_es3_restore_pointer
> -
> -ENTRY(es3_sdrc_fix)
> -	ldr	r4, sdrc_syscfg		@ get config addr
> -	ldr	r5, [r4]		@ get value
> -	tst	r5, #0x100		@ is part access blocked
> -	it	eq
> -	biceq	r5, r5, #0x100		@ clear bit if set
> -	str	r5, [r4]		@ write back change
> -	ldr	r4, sdrc_mr_0		@ get config addr
> -	ldr	r5, [r4]		@ get value
> -	str	r5, [r4]		@ write back change
> -	ldr	r4, sdrc_emr2_0		@ get config addr
> -	ldr	r5, [r4]		@ get value
> -	str	r5, [r4]		@ write back change
> -	ldr	r4, sdrc_manual_0	@ get config addr
> -	mov	r5, #0x2		@ autorefresh command
> -	str	r5, [r4]		@ kick off refreshes
> -	ldr	r4, sdrc_mr_1		@ get config addr
> -	ldr	r5, [r4]		@ get value
> -	str	r5, [r4]		@ write back change
> -	ldr	r4, sdrc_emr2_1		@ get config addr
> -	ldr	r5, [r4]		@ get value
> -	str	r5, [r4]		@ write back change
> -	ldr	r4, sdrc_manual_1	@ get config addr
> -	mov	r5, #0x2		@ autorefresh command
> -	str	r5, [r4]		@ kick off refreshes
> -	bx	lr
> -sdrc_syscfg:
> -	.word	SDRC_SYSCONFIG_P
> -sdrc_mr_0:
> -	.word	SDRC_MR_0_P
> -sdrc_emr2_0:
> -	.word	SDRC_EMR2_0_P
> -sdrc_manual_0:
> -	.word	SDRC_MANUAL_0_P
> -sdrc_mr_1:
> -	.word	SDRC_MR_1_P
> -sdrc_emr2_1:
> -	.word	SDRC_EMR2_1_P
> -sdrc_manual_1:
> -	.word	SDRC_MANUAL_1_P
> -ENTRY(es3_sdrc_fix_sz)
> -	.word	. - es3_sdrc_fix
> -
>  /* Function to call rom code to save secure ram context */
>  ENTRY(save_secure_ram_context)
>  	stmfd	sp!, {r1-r12, lr}	@ save registers on stack
> @@ -577,6 +535,56 @@ skip_l2_inval:
>  	/* restore regs and return */
>  	ldmfd   sp!, {r0-r12, pc}
>  
> +
> +/*
> + * Internal functions
> + */
> +
> +	.text
> +ENTRY(es3_sdrc_fix)
> +	ldr	r4, sdrc_syscfg		@ get config addr
> +	ldr	r5, [r4]		@ get value
> +	tst	r5, #0x100		@ is part access blocked
> +	it	eq
> +	biceq	r5, r5, #0x100		@ clear bit if set
> +	str	r5, [r4]		@ write back change
> +	ldr	r4, sdrc_mr_0		@ get config addr
> +	ldr	r5, [r4]		@ get value
> +	str	r5, [r4]		@ write back change
> +	ldr	r4, sdrc_emr2_0		@ get config addr
> +	ldr	r5, [r4]		@ get value
> +	str	r5, [r4]		@ write back change
> +	ldr	r4, sdrc_manual_0	@ get config addr
> +	mov	r5, #0x2		@ autorefresh command
> +	str	r5, [r4]		@ kick off refreshes
> +	ldr	r4, sdrc_mr_1		@ get config addr
> +	ldr	r5, [r4]		@ get value
> +	str	r5, [r4]		@ write back change
> +	ldr	r4, sdrc_emr2_1		@ get config addr
> +	ldr	r5, [r4]		@ get value
> +	str	r5, [r4]		@ write back change
> +	ldr	r4, sdrc_manual_1	@ get config addr
> +	mov	r5, #0x2		@ autorefresh command
> +	str	r5, [r4]		@ kick off refreshes
> +	bx	lr
> +
> +sdrc_syscfg:
> +	.word	SDRC_SYSCONFIG_P
> +sdrc_mr_0:
> +	.word	SDRC_MR_0_P
> +sdrc_emr2_0:
> +	.word	SDRC_EMR2_0_P
> +sdrc_manual_0:
> +	.word	SDRC_MANUAL_0_P
> +sdrc_mr_1:
> +	.word	SDRC_MR_1_P
> +sdrc_emr2_1:
> +	.word	SDRC_EMR2_1_P
> +sdrc_manual_1:
> +	.word	SDRC_MANUAL_1_P
> +ENTRY(es3_sdrc_fix_sz)
> +	.word	. - es3_sdrc_fix
> +
>  /* Make sure SDRC accesses are ok */
>  wait_sdrc_ok:
>  
Tested-by: Nishanth Menon <nm@ti.com>
Tested on:
SDP3630
SDP3430
Test script:
http://pastebin.mozilla.org/889933

-- 
Regards,
Nishanth Menon

  parent reply	other threads:[~2010-12-17 14:05 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
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 [this message]
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 4/7] OMAP3: re-organize 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 4/7] OMAP3: re-organize 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=4D0B6E22.7000902@ti.com \
    --to=nm@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.