]> git.sur5r.net Git - openocd/commitdiff
mips_ejtag.c: disable DMA for all platforms
authorOleksij Rempel <linux@rempel-privat.de>
Mon, 27 Jan 2014 09:07:38 +0000 (10:07 +0100)
committerPaul Fertser <fercerpav@gmail.com>
Sat, 29 Mar 2014 06:51:50 +0000 (06:51 +0000)
DMA seems to be broken in many ways. Don't trust it!

Change-Id: I7e28608f299abdf78d02a967c62849b6b2ce5985
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Reviewed-on: http://openocd.zylin.com/1936
Tested-by: jenkins
Reviewed-by: Antony Pavlov <antonynpavlov@gmail.com>
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
src/target/mips_ejtag.c

index 6d51c56f02671fd69061aa21122e6e470219bf76..c24cea3d45250014f898b8fd3ca11766e35311fa 100644 (file)
@@ -386,8 +386,11 @@ int mips_ejtag_init(struct mips_ejtag *ejtag_info)
                ejtag_info->impcode & EJTAG_IMP_NODMA ? " noDMA" : " DMA",
                ejtag_info->impcode & EJTAG_DCR_MIPS64  ? " MIPS64" : " MIPS32");
 
-       if ((ejtag_info->impcode & EJTAG_IMP_NODMA) == 0)
-               LOG_DEBUG("EJTAG: DMA Access Mode Support Enabled");
+       if ((ejtag_info->impcode & EJTAG_IMP_NODMA) == 0) {
+               LOG_DEBUG("EJTAG: DMA Access Mode detected. Disabling to "
+                         "workaround current broken code.");
+               ejtag_info->impcode |= EJTAG_IMP_NODMA;
+       }
 
        /* set initial state for ejtag control reg */
        ejtag_info->ejtag_ctrl = EJTAG_CTRL_ROCC | EJTAG_CTRL_PRACC | EJTAG_CTRL_PROBEN | EJTAG_CTRL_SETDEV;