summaryrefslogtreecommitdiff
path: root/board/mpc8360emds/mpc8360emds.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/mpc8360emds/mpc8360emds.c')
-rw-r--r--board/mpc8360emds/mpc8360emds.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/board/mpc8360emds/mpc8360emds.c b/board/mpc8360emds/mpc8360emds.c
index 5bbaa5c..a9b1d9e 100644
--- a/board/mpc8360emds/mpc8360emds.c
+++ b/board/mpc8360emds/mpc8360emds.c
@@ -535,6 +535,7 @@ int do_ecc(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
/* write memory location injecting errors */
ppcDWstore((u32 *) i, pattern);
+ __asm__ __volatile__("sync");
/* disable injects */
ddr->ecc_err_inject &= ~ECC_ERR_INJECT_EIEN;
@@ -543,10 +544,12 @@ int do_ecc(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
/* read data, this generates ECC error */
ppcDWload((u32 *) i, ret);
+ __asm__ __volatile__("sync");
/* re-initialize memory, double word write the location again,
* generates new ECC code this time */
ppcDWstore((u32 *) i, writeback);
+ __asm__ __volatile__("sync");
}
enable_interrupts();
return 0;
@@ -588,6 +591,7 @@ int do_ecc(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
* double word write the location again,
* generates new ECC code this time */
ppcDWstore((u32 *) i, writeback);
+ __asm__ __volatile__("sync");
}
enable_interrupts();
return 0;