* [RFC] [PATCH] ARM: save/restore power control register on Cortex-A9 suspend/resume
@ 2014-07-01 12:45 Chander Kashyap
2014-07-01 12:48 ` Russell King - ARM Linux
0 siblings, 1 reply; 5+ messages in thread
From: Chander Kashyap @ 2014-07-01 12:45 UTC (permalink / raw)
To: linux-arm-kernel
The CP15 power register holds clock latency and dynamic clock gating settings
for Cortex-A9 processor, which lost during the suspend/resume. So it needs to
be saved/restored on suspend/resume.
Signed-off-by: Chander Kashyap <k.chander@samsung.com>
---
It is depedent on: ARM: save/restore diagnostic register on Cortex-A9 suspend/resume
http://www.spinics.net/lists/arm-kernel/msg340506.html
arch/arm/mm/proc-v7.S | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index e26bfaa..9905df5 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -163,12 +163,14 @@ ENDPROC(cpu_v7_do_resume)
globl_equ cpu_ca9mp_switch_mm, cpu_v7_switch_mm
globl_equ cpu_ca9mp_set_pte_ext, cpu_v7_set_pte_ext
.globl cpu_ca9mp_suspend_size
-.equ cpu_ca9mp_suspend_size, cpu_v7_suspend_size + 1 * 4
+.equ cpu_ca9mp_suspend_size, cpu_v7_suspend_size + 2 * 4
#ifdef CONFIG_ARM_CPU_SUSPEND
ENTRY(cpu_ca9mp_do_suspend)
stmfd sp!, {r4}
mrc p15, 0, r4, c15, c0, 1 @ Diagnostic register
stmia r0!, {r4}
+ mrc p15, 0, r4, c15, c0, 0 @ Power register
+ stmia r0!, {r4}
ldmfd sp!, {r4}
b cpu_v7_do_suspend
ENDPROC(cpu_ca9mp_do_suspend)
@@ -176,6 +178,8 @@ ENDPROC(cpu_ca9mp_do_suspend)
ENTRY(cpu_ca9mp_do_resume)
ldmia r0!, {r4}
mcr p15, 0, r4, c15, c0, 1 @ Diagnostic register
+ ldmia r0!, {r4}
+ mcr p15, 0, r4, c15, c0, 0 @ Power register
b cpu_v7_do_resume
ENDPROC(cpu_ca9mp_do_resume)
#endif
--
1.7.9.5
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [RFC] [PATCH] ARM: save/restore power control register on Cortex-A9 suspend/resume
2014-07-01 12:45 [RFC] [PATCH] ARM: save/restore power control register on Cortex-A9 suspend/resume Chander Kashyap
@ 2014-07-01 12:48 ` Russell King - ARM Linux
2014-07-02 3:16 ` Chander Kashyap
0 siblings, 1 reply; 5+ messages in thread
From: Russell King - ARM Linux @ 2014-07-01 12:48 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Jul 01, 2014 at 06:15:49PM +0530, Chander Kashyap wrote:
> The CP15 power register holds clock latency and dynamic clock gating settings
> for Cortex-A9 processor, which lost during the suspend/resume. So it needs to
> be saved/restored on suspend/resume.
>
> Signed-off-by: Chander Kashyap <k.chander@samsung.com>
> ---
> It is depedent on: ARM: save/restore diagnostic register on Cortex-A9 suspend/resume
> http://www.spinics.net/lists/arm-kernel/msg340506.html
>
> arch/arm/mm/proc-v7.S | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
> index e26bfaa..9905df5 100644
> --- a/arch/arm/mm/proc-v7.S
> +++ b/arch/arm/mm/proc-v7.S
> @@ -163,12 +163,14 @@ ENDPROC(cpu_v7_do_resume)
> globl_equ cpu_ca9mp_switch_mm, cpu_v7_switch_mm
> globl_equ cpu_ca9mp_set_pte_ext, cpu_v7_set_pte_ext
> .globl cpu_ca9mp_suspend_size
> -.equ cpu_ca9mp_suspend_size, cpu_v7_suspend_size + 1 * 4
> +.equ cpu_ca9mp_suspend_size, cpu_v7_suspend_size + 2 * 4
> #ifdef CONFIG_ARM_CPU_SUSPEND
> ENTRY(cpu_ca9mp_do_suspend)
> stmfd sp!, {r4}
> mrc p15, 0, r4, c15, c0, 1 @ Diagnostic register
> stmia r0!, {r4}
> + mrc p15, 0, r4, c15, c0, 0 @ Power register
> + stmia r0!, {r4}
> ldmfd sp!, {r4}
Please combine these - yes, it'll be a larger change, but it'll be much
better.
stmfd sp!, {r4-r5}
mrc p15, 0, r4, c15, c0, 1 @ Diagnostic register
mrc p15, 0, r5, c15, c0, 0 @ Power register
stmia r0!, {r4-r5}
ldmfd sp!, {r4-r5}
> b cpu_v7_do_suspend
> ENDPROC(cpu_ca9mp_do_suspend)
> @@ -176,6 +178,8 @@ ENDPROC(cpu_ca9mp_do_suspend)
> ENTRY(cpu_ca9mp_do_resume)
> ldmia r0!, {r4}
> mcr p15, 0, r4, c15, c0, 1 @ Diagnostic register
> + ldmia r0!, {r4}
> + mcr p15, 0, r4, c15, c0, 0 @ Power register
ldmia r0!, {r4-r5}
mcr p15, 0, r4, c15, c0, 1 @ Diagnostic register
mcr p15, 0, r5, c15, c0, 0 @ Power register
> b cpu_v7_do_resume
> ENDPROC(cpu_ca9mp_do_resume)
> #endif
Thanks.
--
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [RFC] [PATCH] ARM: save/restore power control register on Cortex-A9 suspend/resume
2014-07-01 12:48 ` Russell King - ARM Linux
@ 2014-07-02 3:16 ` Chander Kashyap
2014-07-02 3:27 ` Nicolas Pitre
0 siblings, 1 reply; 5+ messages in thread
From: Chander Kashyap @ 2014-07-02 3:16 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Jul 1, 2014 at 6:18 PM, Russell King - ARM Linux
<linux@arm.linux.org.uk> wrote:
> On Tue, Jul 01, 2014 at 06:15:49PM +0530, Chander Kashyap wrote:
>> The CP15 power register holds clock latency and dynamic clock gating settings
>> for Cortex-A9 processor, which lost during the suspend/resume. So it needs to
>> be saved/restored on suspend/resume.
>>
>> Signed-off-by: Chander Kashyap <k.chander@samsung.com>
>> ---
>> It is depedent on: ARM: save/restore diagnostic register on Cortex-A9 suspend/resume
>> http://www.spinics.net/lists/arm-kernel/msg340506.html
>>
>> arch/arm/mm/proc-v7.S | 6 +++++-
>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
>> index e26bfaa..9905df5 100644
>> --- a/arch/arm/mm/proc-v7.S
>> +++ b/arch/arm/mm/proc-v7.S
>> @@ -163,12 +163,14 @@ ENDPROC(cpu_v7_do_resume)
>> globl_equ cpu_ca9mp_switch_mm, cpu_v7_switch_mm
>> globl_equ cpu_ca9mp_set_pte_ext, cpu_v7_set_pte_ext
>> .globl cpu_ca9mp_suspend_size
>> -.equ cpu_ca9mp_suspend_size, cpu_v7_suspend_size + 1 * 4
>> +.equ cpu_ca9mp_suspend_size, cpu_v7_suspend_size + 2 * 4
>> #ifdef CONFIG_ARM_CPU_SUSPEND
>> ENTRY(cpu_ca9mp_do_suspend)
>> stmfd sp!, {r4}
>> mrc p15, 0, r4, c15, c0, 1 @ Diagnostic register
>> stmia r0!, {r4}
>> + mrc p15, 0, r4, c15, c0, 0 @ Power register
>> + stmia r0!, {r4}
>> ldmfd sp!, {r4}
>
> Please combine these - yes, it'll be a larger change, but it'll be much
> better.
Are asking me to squash this patch with Shawn's patch?
If so i will do that.
>
> stmfd sp!, {r4-r5}
> mrc p15, 0, r4, c15, c0, 1 @ Diagnostic register
> mrc p15, 0, r5, c15, c0, 0 @ Power register
> stmia r0!, {r4-r5}
> ldmfd sp!, {r4-r5}
>
>
>> b cpu_v7_do_suspend
>> ENDPROC(cpu_ca9mp_do_suspend)
>> @@ -176,6 +178,8 @@ ENDPROC(cpu_ca9mp_do_suspend)
>> ENTRY(cpu_ca9mp_do_resume)
>> ldmia r0!, {r4}
>> mcr p15, 0, r4, c15, c0, 1 @ Diagnostic register
>> + ldmia r0!, {r4}
>> + mcr p15, 0, r4, c15, c0, 0 @ Power register
>
> ldmia r0!, {r4-r5}
> mcr p15, 0, r4, c15, c0, 1 @ Diagnostic register
> mcr p15, 0, r5, c15, c0, 0 @ Power register
I will do these changes
Thanks for the review.
>
>> b cpu_v7_do_resume
>> ENDPROC(cpu_ca9mp_do_resume)
>> #endif
>
> Thanks.
>
> --
> FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
> improving, and getting towards what was expected from it.
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 5+ messages in thread
* [RFC] [PATCH] ARM: save/restore power control register on Cortex-A9 suspend/resume
2014-07-02 3:16 ` Chander Kashyap
@ 2014-07-02 3:27 ` Nicolas Pitre
2014-07-02 7:54 ` Chander Kashyap
0 siblings, 1 reply; 5+ messages in thread
From: Nicolas Pitre @ 2014-07-02 3:27 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, 2 Jul 2014, Chander Kashyap wrote:
> On Tue, Jul 1, 2014 at 6:18 PM, Russell King - ARM Linux
> <linux@arm.linux.org.uk> wrote:
> > On Tue, Jul 01, 2014 at 06:15:49PM +0530, Chander Kashyap wrote:
> >> The CP15 power register holds clock latency and dynamic clock gating settings
> >> for Cortex-A9 processor, which lost during the suspend/resume. So it needs to
> >> be saved/restored on suspend/resume.
> >>
> >> Signed-off-by: Chander Kashyap <k.chander@samsung.com>
> >> ---
> >> It is depedent on: ARM: save/restore diagnostic register on Cortex-A9 suspend/resume
> >> http://www.spinics.net/lists/arm-kernel/msg340506.html
> >>
> >> arch/arm/mm/proc-v7.S | 6 +++++-
> >> 1 file changed, 5 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
> >> index e26bfaa..9905df5 100644
> >> --- a/arch/arm/mm/proc-v7.S
> >> +++ b/arch/arm/mm/proc-v7.S
> >> @@ -163,12 +163,14 @@ ENDPROC(cpu_v7_do_resume)
> >> globl_equ cpu_ca9mp_switch_mm, cpu_v7_switch_mm
> >> globl_equ cpu_ca9mp_set_pte_ext, cpu_v7_set_pte_ext
> >> .globl cpu_ca9mp_suspend_size
> >> -.equ cpu_ca9mp_suspend_size, cpu_v7_suspend_size + 1 * 4
> >> +.equ cpu_ca9mp_suspend_size, cpu_v7_suspend_size + 2 * 4
> >> #ifdef CONFIG_ARM_CPU_SUSPEND
> >> ENTRY(cpu_ca9mp_do_suspend)
> >> stmfd sp!, {r4}
> >> mrc p15, 0, r4, c15, c0, 1 @ Diagnostic register
> >> stmia r0!, {r4}
> >> + mrc p15, 0, r4, c15, c0, 0 @ Power register
> >> + stmia r0!, {r4}
> >> ldmfd sp!, {r4}
> >
> > Please combine these - yes, it'll be a larger change, but it'll be much
> > better.
>
> Are asking me to squash this patch with Shawn's patch?
> If so i will do that.
I'm not sure that's what RMK ment.
You should at least merge the loads and stores into a combined ldmia and
stmia instructions as illustrated.
>
> >
> > stmfd sp!, {r4-r5}
> > mrc p15, 0, r4, c15, c0, 1 @ Diagnostic register
> > mrc p15, 0, r5, c15, c0, 0 @ Power register
> > stmia r0!, {r4-r5}
> > ldmfd sp!, {r4-r5}
> >
> >
> >> b cpu_v7_do_suspend
> >> ENDPROC(cpu_ca9mp_do_suspend)
> >> @@ -176,6 +178,8 @@ ENDPROC(cpu_ca9mp_do_suspend)
> >> ENTRY(cpu_ca9mp_do_resume)
> >> ldmia r0!, {r4}
> >> mcr p15, 0, r4, c15, c0, 1 @ Diagnostic register
> >> + ldmia r0!, {r4}
> >> + mcr p15, 0, r4, c15, c0, 0 @ Power register
> >
> > ldmia r0!, {r4-r5}
> > mcr p15, 0, r4, c15, c0, 1 @ Diagnostic register
> > mcr p15, 0, r5, c15, c0, 0 @ Power register
>
> I will do these changes
>
>
> Thanks for the review.
>
> >
> >> b cpu_v7_do_resume
> >> ENDPROC(cpu_ca9mp_do_resume)
> >> #endif
> >
> > Thanks.
> >
> > --
> > FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
> > improving, and getting towards what was expected from it.
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [RFC] [PATCH] ARM: save/restore power control register on Cortex-A9 suspend/resume
2014-07-02 3:27 ` Nicolas Pitre
@ 2014-07-02 7:54 ` Chander Kashyap
0 siblings, 0 replies; 5+ messages in thread
From: Chander Kashyap @ 2014-07-02 7:54 UTC (permalink / raw)
To: linux-arm-kernel
On 2 July 2014 08:57, Nicolas Pitre <nicolas.pitre@linaro.org> wrote:
> On Wed, 2 Jul 2014, Chander Kashyap wrote:
>
>> On Tue, Jul 1, 2014 at 6:18 PM, Russell King - ARM Linux
>> <linux@arm.linux.org.uk> wrote:
>> > On Tue, Jul 01, 2014 at 06:15:49PM +0530, Chander Kashyap wrote:
>> >> The CP15 power register holds clock latency and dynamic clock gating settings
>> >> for Cortex-A9 processor, which lost during the suspend/resume. So it needs to
>> >> be saved/restored on suspend/resume.
>> >>
>> >> Signed-off-by: Chander Kashyap <k.chander@samsung.com>
>> >> ---
>> >> It is depedent on: ARM: save/restore diagnostic register on Cortex-A9 suspend/resume
>> >> http://www.spinics.net/lists/arm-kernel/msg340506.html
>> >>
>> >> arch/arm/mm/proc-v7.S | 6 +++++-
>> >> 1 file changed, 5 insertions(+), 1 deletion(-)
>> >>
>> >> diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
>> >> index e26bfaa..9905df5 100644
>> >> --- a/arch/arm/mm/proc-v7.S
>> >> +++ b/arch/arm/mm/proc-v7.S
>> >> @@ -163,12 +163,14 @@ ENDPROC(cpu_v7_do_resume)
>> >> globl_equ cpu_ca9mp_switch_mm, cpu_v7_switch_mm
>> >> globl_equ cpu_ca9mp_set_pte_ext, cpu_v7_set_pte_ext
>> >> .globl cpu_ca9mp_suspend_size
>> >> -.equ cpu_ca9mp_suspend_size, cpu_v7_suspend_size + 1 * 4
>> >> +.equ cpu_ca9mp_suspend_size, cpu_v7_suspend_size + 2 * 4
>> >> #ifdef CONFIG_ARM_CPU_SUSPEND
>> >> ENTRY(cpu_ca9mp_do_suspend)
>> >> stmfd sp!, {r4}
>> >> mrc p15, 0, r4, c15, c0, 1 @ Diagnostic register
>> >> stmia r0!, {r4}
>> >> + mrc p15, 0, r4, c15, c0, 0 @ Power register
>> >> + stmia r0!, {r4}
>> >> ldmfd sp!, {r4}
>> >
>> > Please combine these - yes, it'll be a larger change, but it'll be much
>> > better.
>>
>> Are asking me to squash this patch with Shawn's patch?
>> If so i will do that.
>
> I'm not sure that's what RMK ment.
>
> You should at least merge the loads and stores into a combined ldmia and
> stmia instructions as illustrated.
Sure I will do that.
>
>>
>> >
>> > stmfd sp!, {r4-r5}
>> > mrc p15, 0, r4, c15, c0, 1 @ Diagnostic register
>> > mrc p15, 0, r5, c15, c0, 0 @ Power register
>> > stmia r0!, {r4-r5}
>> > ldmfd sp!, {r4-r5}
>> >
>> >
>> >> b cpu_v7_do_suspend
>> >> ENDPROC(cpu_ca9mp_do_suspend)
>> >> @@ -176,6 +178,8 @@ ENDPROC(cpu_ca9mp_do_suspend)
>> >> ENTRY(cpu_ca9mp_do_resume)
>> >> ldmia r0!, {r4}
>> >> mcr p15, 0, r4, c15, c0, 1 @ Diagnostic register
>> >> + ldmia r0!, {r4}
>> >> + mcr p15, 0, r4, c15, c0, 0 @ Power register
>> >
>> > ldmia r0!, {r4-r5}
>> > mcr p15, 0, r4, c15, c0, 1 @ Diagnostic register
>> > mcr p15, 0, r5, c15, c0, 0 @ Power register
>>
>> I will do these changes
>>
>>
>> Thanks for the review.
>>
>> >
>> >> b cpu_v7_do_resume
>> >> ENDPROC(cpu_ca9mp_do_resume)
>> >> #endif
>> >
>> > Thanks.
>> >
>> > --
>> > FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
>> > improving, and getting towards what was expected from it.
>> >
>> > _______________________________________________
>> > linux-arm-kernel mailing list
>> > linux-arm-kernel at lists.infradead.org
>> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Thanks Nicolas
--
with warm regards,
Chander Kashyap
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-07-02 7:54 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-01 12:45 [RFC] [PATCH] ARM: save/restore power control register on Cortex-A9 suspend/resume Chander Kashyap
2014-07-01 12:48 ` Russell King - ARM Linux
2014-07-02 3:16 ` Chander Kashyap
2014-07-02 3:27 ` Nicolas Pitre
2014-07-02 7:54 ` Chander Kashyap
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.