From d007764fe88958aa556f060054d55841e1d9306d Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Thu, 3 Apr 2014 14:03:04 -0700 Subject: [PATCH] arm_adi_v5: Add convenience "atomic"" function for DP reads Add convenience "atomic"" function dap_dp_read_atomic_u32() Change-Id: Ic9ebb58959d2f14bbf03be42a26b0fe58ecfeddb Signed-off-by: Andrey Smirnov Reviewed-on: http://openocd.zylin.com/2085 Tested-by: jenkins Reviewed-by: Andreas Fritiofson --- src/target/arm_adi_v5.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/target/arm_adi_v5.h b/src/target/arm_adi_v5.h index 3367588f7..9f0dea911 100644 --- a/src/target/arm_adi_v5.h +++ b/src/target/arm_adi_v5.h @@ -389,6 +389,18 @@ static inline int dap_run(struct adiv5_dap *dap) return dap->ops->run(dap); } +static inline int dap_dp_read_atomic(struct adiv5_dap *dap, unsigned reg, + uint32_t *value) +{ + int retval; + + retval = dap_queue_dp_read(dap, reg, value); + if (retval != ERROR_OK) + return retval; + + return dap_run(dap); +} + /** Accessor for currently selected DAP-AP number (0..255) */ static inline uint8_t dap_ap_get_select(struct adiv5_dap *swjdp) {