ARM: mach-omap2: apply the errata at run time rather
Subsystems (3)
PATCH v2 5/5 ARM: mach-omap2: apply the errata at run time rather
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 <[email protected]>
--- arch/arm/mach-omap2/sleep44xx.S | 25 +++++++++++++++++++++---- 1 files changed, 21 insertions(+), 4 deletions(-)
arch/arm/mach-omap2/sleep44xx.S +21 -4
@@ -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
Signature · 1 line
1.7.2.dirty
PATCH v2 5/5 ARM: mach-omap2: apply the errata at run time rather
Hello.
Quoted 14 lines · srinidhi kasagar
Get the pl310 rtl revision number which is stashed by the l2x0 driver and apply the required errata
ERRATA_727915accordingly.Signed-off-by srinidhi kasagar <[email protected]>--- arch/arm/mach-omap2/sleep44xx.S | 25 +++++++++++++++++++++---- 1 files changed, 21 insertions(+), 4 deletions(-)arch/arm/mach-omap2/sleep44xx.S +0
-0@@ -157,11 +157,19 @@ skip_scu_gp_set: ldrne r0, [r8, #L2X0_SAVE_OFFSET1] @ memory.
arch/arm/mach-omap2/sleep44xx.S skip_scu_gp_set: · line 166
Quoted 10 lines
arch/arm/mach-omap2/sleep44xx.S +7
-1cmp 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
Quoted 13 lines
arch/arm/mach-omap2/sleep44xx.S +3
-1+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
arch/arm/mach-omap2/sleep44xx.S wait: · line 189
Quoted 10 lines
arch/arm/mach-omap2/sleep44xx.S +8
-1bne 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.
arch/arm/mach-omap2/sleep44xx.S wait: · line 198
Quoted 10 lines
arch/arm/mach-omap2/sleep44xx.S +3
-1+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