From d2ddb53f7d3c6c5c3be1f6b41a796033599b1880 Mon Sep 17 00:00:00 2001
From: Oleksij Rempel <linux@rempel-privat.de>
Date: Mon, 27 Jan 2014 10:07:38 +0100
Subject: [PATCH] mips_ejtag.c: disable DMA for all platforms

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 | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/target/mips_ejtag.c b/src/target/mips_ejtag.c
index 6d51c56f0..c24cea3d4 100644
--- a/src/target/mips_ejtag.c
+++ b/src/target/mips_ejtag.c
@@ -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;
-- 
GitLab