aboutsummaryrefslogtreecommitdiff
path: root/src/target/target_request.c
diff options
context:
space:
mode:
authorØyvind Harboe <oyvind.harboe@zylin.com>2011-10-14 14:55:17 +0200
committerØyvind Harboe <oyvindharboe@gmail.com>2011-10-17 12:32:38 +0000
commit80c20a186b49b30575bc9a1e1316ab0acf502512 (patch)
treea441b7e427435b1a255da303c79a916b4cfa6a85 /src/target/target_request.c
parentea295bd694250b077b780cfd506cf4d7f6fd1471 (diff)
target_request: add target_got_message() that can be used to improve DCC performance
API change to allow implementing a back-off algorithm for polling hardware. Change-Id: I6cbe8b4534c8dfeb8442305171ea96b5481c1f17 Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com> Reviewed-on: http://openocd.zylin.com/26 Reviewed-by: Øyvind Harboe <oyvindharboe@gmail.com> Tested-by: Øyvind Harboe <oyvindharboe@gmail.com>
Diffstat (limited to 'src/target/target_request.c')
-rw-r--r--src/target/target_request.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/target/target_request.c b/src/target/target_request.c
index ec3d48e2..3cdca5e1 100644
--- a/src/target/target_request.c
+++ b/src/target/target_request.c
@@ -36,6 +36,15 @@
#include "trace.h"
+static bool got_message = false;
+
+bool target_got_message(void)
+{
+ bool t = got_message;
+ got_message = false;
+ return t;
+}
+
static int charmsg_mode = 0;
static int target_asciimsg(struct target *target, uint32_t length)
@@ -118,6 +127,9 @@ int target_request(struct target *target, uint32_t request)
{
target_req_cmd_t target_req_cmd = request & 0xff;
+ /* Record that we got a target message for back-off algorithm */
+ got_message = true;
+
if (charmsg_mode) {
target_charmsg(target, target_req_cmd);
return ERROR_OK;