* [PATCH v2 5/5] ARM: mach-omap2: apply the errata at run time rather
@ 2013-01-29 10:17 srinidhi kasagar
2013-01-29 13:04 ` Sergei Shtylyov
0 siblings, 1 reply; 2+ messages in thread
From: srinidhi kasagar @ 2013-01-29 10:17 UTC (permalink / raw)
To: linux-arm-kernel
Get the pl310 rtl revision number which is stashed by the l2x0
driver and apply the required errata ERRATA_727915 accordingly.
Signed-off-by: srinidhi kasagar <srinidhi.kasagar@stericsson.com>
---
arch/arm/mach-omap2/sleep44xx.S | 25 +++++++++++++++++++++----
1 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-omap2/sleep44xx.S b/arch/arm/mach-omap2/sleep44xx.S
index 88ff83a..7440f65 100644
--- a/arch/arm/mach-omap2/sleep44xx.S
+++ b/arch/arm/mach-omap2/sleep44xx.S
@@ -157,11 +157,19 @@ skip_scu_gp_set:
ldrne r0, [r8, #L2X0_SAVE_OFFSET1] @ memory.
cmp r0, #3
bne do_WFI
-#ifdef CONFIG_PL310_ERRATA_727915
+ /* Check for PL310_ERRATA_727915 */
+ ldr r0, =l2x0_revision
+ cmp r0, #0x4
+ beq dosmc
+ cmp r0, #0x5
+ beq dosmc
+ b nosmc
+dosmc:
mov r0, #0x03
mov r12, #OMAP4_MON_L2X0_DBG_CTRL_INDEX
DO_SMC
-#endif
+
+nosmc:
bl omap4_get_l2cache_base
mov r2, r0
ldr r0, =0xffff
@@ -171,11 +179,20 @@ wait:
ldr r1, =0xffff
ands r0, r0, r1
bne wait
-#ifdef CONFIG_PL310_ERRATA_727915
+
+ /* Check for PL310_ERRATA_727915 */
+ ldr r0, =l2x0_revision
+ cmp r0, #0x4
+ beq dosmc2
+ cmp r0, #0x5
+ beq dosmc2
+ b nosmc2
+dosmc2:
mov r0, #0x00
mov r12, #OMAP4_MON_L2X0_DBG_CTRL_INDEX
DO_SMC
-#endif
+
+nosmc2:
l2x_sync:
bl omap4_get_l2cache_base
mov r2, r0
--
1.7.2.dirty
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH v2 5/5] ARM: mach-omap2: apply the errata at run time rather
2013-01-29 10:17 [PATCH v2 5/5] ARM: mach-omap2: apply the errata at run time rather srinidhi kasagar
@ 2013-01-29 13:04 ` Sergei Shtylyov
0 siblings, 0 replies; 2+ messages in thread
From: Sergei Shtylyov @ 2013-01-29 13:04 UTC (permalink / raw)
To: linux-arm-kernel
Hello.
On 29-01-2013 14:17, srinidhi kasagar wrote:
> Get the pl310 rtl revision number which is stashed by the l2x0
> driver and apply the required errata ERRATA_727915 accordingly.
> Signed-off-by: srinidhi kasagar <srinidhi.kasagar@stericsson.com>
> ---
> arch/arm/mach-omap2/sleep44xx.S | 25 +++++++++++++++++++++----
> 1 files changed, 21 insertions(+), 4 deletions(-)
> diff --git a/arch/arm/mach-omap2/sleep44xx.S b/arch/arm/mach-omap2/sleep44xx.S
> index 88ff83a..7440f65 100644
> --- a/arch/arm/mach-omap2/sleep44xx.S
> +++ b/arch/arm/mach-omap2/sleep44xx.S
> @@ -157,11 +157,19 @@ skip_scu_gp_set:
> ldrne r0, [r8, #L2X0_SAVE_OFFSET1] @ memory.
> cmp r0, #3
> bne do_WFI
> -#ifdef CONFIG_PL310_ERRATA_727915
> + /* Check for PL310_ERRATA_727915 */
> + ldr r0, =l2x0_revision
> + cmp r0, #0x4
> + beq dosmc
> + cmp r0, #0x5
> + beq dosmc
> + b nosmc
Why not just:
bne nosmc
> +dosmc:
> mov r0, #0x03
> mov r12, #OMAP4_MON_L2X0_DBG_CTRL_INDEX
> DO_SMC
> -#endif
> +
> +nosmc:
> bl omap4_get_l2cache_base
> mov r2, r0
> ldr r0, =0xffff
> @@ -171,11 +179,20 @@ wait:
> ldr r1, =0xffff
> ands r0, r0, r1
> bne wait
> -#ifdef CONFIG_PL310_ERRATA_727915
> +
> + /* Check for PL310_ERRATA_727915 */
> + ldr r0, =l2x0_revision
> + cmp r0, #0x4
> + beq dosmc2
> + cmp r0, #0x5
> + beq dosmc2
> + b nosmc2
Same question.
> +dosmc2:
> mov r0, #0x00
> mov r12, #OMAP4_MON_L2X0_DBG_CTRL_INDEX
> DO_SMC
> -#endif
> +
> +nosmc2:
> l2x_sync:
> bl omap4_get_l2cache_base
> mov r2, r0
WBR, Sergei
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-01-29 13:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-29 10:17 [PATCH v2 5/5] ARM: mach-omap2: apply the errata at run time rather srinidhi kasagar
2013-01-29 13:04 ` Sergei Shtylyov
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).