* [PATCH] ARM: cpu_pj4b_suspend_size should base on cpu_v7_suspend_size
@ 2014-07-02 6:48 Shawn Guo
2014-07-02 7:12 ` Gregory CLEMENT
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Shawn Guo @ 2014-07-02 6:48 UTC (permalink / raw)
To: linux-arm-kernel
Since pj4b suspend/resume routines are implemented based on generic
ARMv7 ones, instead of hard-coding cpu_pj4b_suspend_size, we should have
it be cpu_v7_suspend_size plus pj4b specific bytes. Otherwise, if
cpu_v7_suspend_size gets updated alone, the pj4b suspend/resume will
likely be broken.
While at it, fix the comments in cpu_pj4b_do_resume, as we're restoring
CP15 registers rather than saving in there.
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
---
Completely untested.
arch/arm/mm/proc-v7.S | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index 3db2c2f04a30..604dda5f65cc 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -184,16 +184,16 @@ ENDPROC(cpu_pj4b_do_suspend)
ENTRY(cpu_pj4b_do_resume)
ldmia r0!, {r6 - r10}
- mcr p15, 1, r6, c15, c1, 0 @ save CP15 - extra features
- mcr p15, 1, r7, c15, c2, 0 @ save CP15 - Aux Func Modes Ctrl 0
- mcr p15, 1, r8, c15, c1, 2 @ save CP15 - Aux Debug Modes Ctrl 2
- mcr p15, 1, r9, c15, c1, 1 @ save CP15 - Aux Debug Modes Ctrl 1
- mcr p15, 0, r10, c9, c14, 0 @ save CP15 - PMC
+ mcr p15, 1, r6, c15, c1, 0 @ retore CP15 - extra features
+ mcr p15, 1, r7, c15, c2, 0 @ retore CP15 - Aux Func Modes Ctrl 0
+ mcr p15, 1, r8, c15, c1, 2 @ retore CP15 - Aux Debug Modes Ctrl 2
+ mcr p15, 1, r9, c15, c1, 1 @ retore CP15 - Aux Debug Modes Ctrl 1
+ mcr p15, 0, r10, c9, c14, 0 @ retore CP15 - PMC
b cpu_v7_do_resume
ENDPROC(cpu_pj4b_do_resume)
#endif
.globl cpu_pj4b_suspend_size
-.equ cpu_pj4b_suspend_size, 4 * 14
+.equ cpu_pj4b_suspend_size, cpu_v7_suspend_size + 4 * 5
#endif
--
1.8.3.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH] ARM: cpu_pj4b_suspend_size should base on cpu_v7_suspend_size
2014-07-02 6:48 [PATCH] ARM: cpu_pj4b_suspend_size should base on cpu_v7_suspend_size Shawn Guo
@ 2014-07-02 7:12 ` Gregory CLEMENT
2014-07-02 9:14 ` Gregory CLEMENT
2014-07-03 9:01 ` Shawn Guo
2 siblings, 0 replies; 4+ messages in thread
From: Gregory CLEMENT @ 2014-07-02 7:12 UTC (permalink / raw)
To: linux-arm-kernel
Hi Shawn,
On 02/07/2014 08:48, Shawn Guo wrote:
> Since pj4b suspend/resume routines are implemented based on generic
> ARMv7 ones, instead of hard-coding cpu_pj4b_suspend_size, we should have
> it be cpu_v7_suspend_size plus pj4b specific bytes. Otherwise, if
> cpu_v7_suspend_size gets updated alone, the pj4b suspend/resume will
> likely be broken.
It was something I thought I did but I forgot to push it! Thanks for having
spotted it. I am going to test it soon.
Thanks,
Gregory
>
> While at it, fix the comments in cpu_pj4b_do_resume, as we're restoring
> CP15 registers rather than saving in there.
>
> Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
> ---
> Completely untested.
>
> arch/arm/mm/proc-v7.S | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
> index 3db2c2f04a30..604dda5f65cc 100644
> --- a/arch/arm/mm/proc-v7.S
> +++ b/arch/arm/mm/proc-v7.S
> @@ -184,16 +184,16 @@ ENDPROC(cpu_pj4b_do_suspend)
>
> ENTRY(cpu_pj4b_do_resume)
> ldmia r0!, {r6 - r10}
> - mcr p15, 1, r6, c15, c1, 0 @ save CP15 - extra features
> - mcr p15, 1, r7, c15, c2, 0 @ save CP15 - Aux Func Modes Ctrl 0
> - mcr p15, 1, r8, c15, c1, 2 @ save CP15 - Aux Debug Modes Ctrl 2
> - mcr p15, 1, r9, c15, c1, 1 @ save CP15 - Aux Debug Modes Ctrl 1
> - mcr p15, 0, r10, c9, c14, 0 @ save CP15 - PMC
> + mcr p15, 1, r6, c15, c1, 0 @ retore CP15 - extra features
> + mcr p15, 1, r7, c15, c2, 0 @ retore CP15 - Aux Func Modes Ctrl 0
> + mcr p15, 1, r8, c15, c1, 2 @ retore CP15 - Aux Debug Modes Ctrl 2
> + mcr p15, 1, r9, c15, c1, 1 @ retore CP15 - Aux Debug Modes Ctrl 1
> + mcr p15, 0, r10, c9, c14, 0 @ retore CP15 - PMC
> b cpu_v7_do_resume
> ENDPROC(cpu_pj4b_do_resume)
> #endif
> .globl cpu_pj4b_suspend_size
> -.equ cpu_pj4b_suspend_size, 4 * 14
> +.equ cpu_pj4b_suspend_size, cpu_v7_suspend_size + 4 * 5
>
> #endif
>
>
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] ARM: cpu_pj4b_suspend_size should base on cpu_v7_suspend_size
2014-07-02 6:48 [PATCH] ARM: cpu_pj4b_suspend_size should base on cpu_v7_suspend_size Shawn Guo
2014-07-02 7:12 ` Gregory CLEMENT
@ 2014-07-02 9:14 ` Gregory CLEMENT
2014-07-03 9:01 ` Shawn Guo
2 siblings, 0 replies; 4+ messages in thread
From: Gregory CLEMENT @ 2014-07-02 9:14 UTC (permalink / raw)
To: linux-arm-kernel
Hi Shawn,
On 02/07/2014 08:48, Shawn Guo wrote:
> Since pj4b suspend/resume routines are implemented based on generic
> ARMv7 ones, instead of hard-coding cpu_pj4b_suspend_size, we should have
> it be cpu_v7_suspend_size plus pj4b specific bytes. Otherwise, if
> cpu_v7_suspend_size gets updated alone, the pj4b suspend/resume will
> likely be broken.
>
> While at it, fix the comments in cpu_pj4b_do_resume, as we're restoring
> CP15 registers rather than saving in there.
>
> Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
and
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Thanks,
Gregory
> ---
> Completely untested.
>
> arch/arm/mm/proc-v7.S | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
> index 3db2c2f04a30..604dda5f65cc 100644
> --- a/arch/arm/mm/proc-v7.S
> +++ b/arch/arm/mm/proc-v7.S
> @@ -184,16 +184,16 @@ ENDPROC(cpu_pj4b_do_suspend)
>
> ENTRY(cpu_pj4b_do_resume)
> ldmia r0!, {r6 - r10}
> - mcr p15, 1, r6, c15, c1, 0 @ save CP15 - extra features
> - mcr p15, 1, r7, c15, c2, 0 @ save CP15 - Aux Func Modes Ctrl 0
> - mcr p15, 1, r8, c15, c1, 2 @ save CP15 - Aux Debug Modes Ctrl 2
> - mcr p15, 1, r9, c15, c1, 1 @ save CP15 - Aux Debug Modes Ctrl 1
> - mcr p15, 0, r10, c9, c14, 0 @ save CP15 - PMC
> + mcr p15, 1, r6, c15, c1, 0 @ retore CP15 - extra features
> + mcr p15, 1, r7, c15, c2, 0 @ retore CP15 - Aux Func Modes Ctrl 0
> + mcr p15, 1, r8, c15, c1, 2 @ retore CP15 - Aux Debug Modes Ctrl 2
> + mcr p15, 1, r9, c15, c1, 1 @ retore CP15 - Aux Debug Modes Ctrl 1
> + mcr p15, 0, r10, c9, c14, 0 @ retore CP15 - PMC
> b cpu_v7_do_resume
> ENDPROC(cpu_pj4b_do_resume)
> #endif
> .globl cpu_pj4b_suspend_size
> -.equ cpu_pj4b_suspend_size, 4 * 14
> +.equ cpu_pj4b_suspend_size, cpu_v7_suspend_size + 4 * 5
>
> #endif
>
>
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] ARM: cpu_pj4b_suspend_size should base on cpu_v7_suspend_size
2014-07-02 6:48 [PATCH] ARM: cpu_pj4b_suspend_size should base on cpu_v7_suspend_size Shawn Guo
2014-07-02 7:12 ` Gregory CLEMENT
2014-07-02 9:14 ` Gregory CLEMENT
@ 2014-07-03 9:01 ` Shawn Guo
2 siblings, 0 replies; 4+ messages in thread
From: Shawn Guo @ 2014-07-03 9:01 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Jul 02, 2014 at 02:48:35PM +0800, Shawn Guo wrote:
> Since pj4b suspend/resume routines are implemented based on generic
> ARMv7 ones, instead of hard-coding cpu_pj4b_suspend_size, we should have
> it be cpu_v7_suspend_size plus pj4b specific bytes. Otherwise, if
> cpu_v7_suspend_size gets updated alone, the pj4b suspend/resume will
> likely be broken.
>
> While at it, fix the comments in cpu_pj4b_do_resume, as we're restoring
> CP15 registers rather than saving in there.
>
> Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
> ---
> Completely untested.
>
> arch/arm/mm/proc-v7.S | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
> index 3db2c2f04a30..604dda5f65cc 100644
> --- a/arch/arm/mm/proc-v7.S
> +++ b/arch/arm/mm/proc-v7.S
> @@ -184,16 +184,16 @@ ENDPROC(cpu_pj4b_do_suspend)
>
> ENTRY(cpu_pj4b_do_resume)
> ldmia r0!, {r6 - r10}
> - mcr p15, 1, r6, c15, c1, 0 @ save CP15 - extra features
> - mcr p15, 1, r7, c15, c2, 0 @ save CP15 - Aux Func Modes Ctrl 0
> - mcr p15, 1, r8, c15, c1, 2 @ save CP15 - Aux Debug Modes Ctrl 2
> - mcr p15, 1, r9, c15, c1, 1 @ save CP15 - Aux Debug Modes Ctrl 1
> - mcr p15, 0, r10, c9, c14, 0 @ save CP15 - PMC
> + mcr p15, 1, r6, c15, c1, 0 @ retore CP15 - extra features
> + mcr p15, 1, r7, c15, c2, 0 @ retore CP15 - Aux Func Modes Ctrl 0
> + mcr p15, 1, r8, c15, c1, 2 @ retore CP15 - Aux Debug Modes Ctrl 2
> + mcr p15, 1, r9, c15, c1, 1 @ retore CP15 - Aux Debug Modes Ctrl 1
> + mcr p15, 0, r10, c9, c14, 0 @ retore CP15 - PMC
s/retore/restore
I fixed the typo, added Gregory's Acked-by and Tested-by tags, and put
it into patch system as 8089/1.
Shawn
> b cpu_v7_do_resume
> ENDPROC(cpu_pj4b_do_resume)
> #endif
> .globl cpu_pj4b_suspend_size
> -.equ cpu_pj4b_suspend_size, 4 * 14
> +.equ cpu_pj4b_suspend_size, cpu_v7_suspend_size + 4 * 5
>
> #endif
>
> --
> 1.8.3.2
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-07-03 9:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-02 6:48 [PATCH] ARM: cpu_pj4b_suspend_size should base on cpu_v7_suspend_size Shawn Guo
2014-07-02 7:12 ` Gregory CLEMENT
2014-07-02 9:14 ` Gregory CLEMENT
2014-07-03 9:01 ` Shawn Guo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).