[PATCH 2/5] ARM: OMAP2+: Fix l2dis_3630 for rodata
Tony Lindgren
tony at atomide.com
Tue Jan 19 10:40:46 PST 2016
* Nicolas Pitre <nicolas.pitre at linaro.org> [160119 10:10]:
> On Tue, 19 Jan 2016, Tony Lindgren wrote:
> > --- a/arch/arm/mach-omap2/sleep34xx.S
> > +++ b/arch/arm/mach-omap2/sleep34xx.S
> > @@ -86,7 +86,9 @@ ENTRY(enable_omap3630_toggle_l2_on_restore)
> > stmfd sp!, {lr} @ save registers on stack
> > /* Setup so that we will disable and enable l2 */
> > mov r1, #0x1
> > - adrl r2, l2dis_3630 @ may be too distant for plain adr
> > + adrl r3, l2dis_3630_offset @ may be too distant for plain adr
> > + ldr r2, [r3]
> > + add r2, r2, r3
> > str r1, [r2]
>
> You could combine the add with the following str:
OK.
> str r1, [r2, r3]
>
> > ldmfd sp!, {pc} @ restore regs and return
> > ENDPROC(enable_omap3630_toggle_l2_on_restore)
> > @@ -415,7 +417,9 @@ ENTRY(omap3_restore)
> > cmp r2, #0x0 @ Check if target power state was OFF or RET
> > bne logic_l1_restore
> >
> > - ldr r0, l2dis_3630
> > + adr r1, l2dis_3630_offset
> > + ldr r0, [r1]
> > + add r0, r0, r1
> > cmp r0, #0x1 @ should we disable L2 on 3630?
>
> This looks wrong. You're testing the first bit of the address for
> l2dis_3630 rather than its content.
Ugh yup a ldr missing missing there. Will check the whole series
and repost. Thanks for checking!
Regards,
Tony
More information about the linux-arm-kernel
mailing list