From: Ranjani Vaidyanathan Date: Sun, 2 Sep 2012 15:32:35 +0000 (-0500) Subject: ENGR00222834 MX6x-A9 prefetcher should not access DDR before IO is restored X-Git-Tag: v3.0.35-fsl~509 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=302b519f56afc54d4c9670e77ccad8ff9d48ff5a;p=karo-tx-linux.git ENGR00222834 MX6x-A9 prefetcher should not access DDR before IO is restored Add enough nops to suspend code when exiting due to a pending interrupt. This is required so that we can guarantee that the prefetch unit will not bring DDR out of self-refresh before all of the DDR's IO pads are restored. Signed-off-by: Ranjani Vaidyanathan --- diff --git a/arch/arm/mach-mx6/mx6_suspend.S b/arch/arm/mach-mx6/mx6_suspend.S index 0b9dc57b0091..0533ad1b20ef 100644 --- a/arch/arm/mach-mx6/mx6_suspend.S +++ b/arch/arm/mach-mx6/mx6_suspend.S @@ -884,6 +884,40 @@ sl_io_restore: sl_ddr_io_restore ddr_io_restore_done: + /* Add enough nops so that the + * prefetcher will not get instructions + * from DDR before its IO pads + * are restored. + */ + nop + nop + nop + nop + nop + + nop + nop + nop + nop + nop + + nop + nop + nop + nop + nop + + nop + nop + nop + nop + nop + + nop + nop + nop + nop + nop mrc p15, 0, r1, c1, c0, 0 orr r1, r1, #(1 << 2) @ Enable the C bit