arm_adi_v5: Add convenience "atomic"" function for DP reads
authorAndrey Smirnov <andrew.smirnov@gmail.com>
Thu, 3 Apr 2014 21:03:04 +0000 (14:03 -0700)
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>
Sun, 1 Jun 2014 17:01:14 +0000 (17:01 +0000)
Add convenience "atomic"" function dap_dp_read_atomic_u32()

Change-Id: Ic9ebb58959d2f14bbf03be42a26b0fe58ecfeddb
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Reviewed-on: http://openocd.zylin.com/2085
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
src/target/arm_adi_v5.h

index 3367588f74121f7a067913ee548c31078ee36abe..9f0dea9119186466e38f2f389c0f6f89290ba71e 100644 (file)
@@ -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)
 {