* Atomically adds a signed value to a 32 bit (aligned) memory location. * * Memory access ordering is enforced before/after the atomic operation, * so no additional 'sync' instructions are required. * * * @param ptr address in memory to add incr to * @param incr amount to increment memory location by (signed) */
| 112 | * @param incr amount to increment memory location by (signed) |
| 113 | */ |
| 114 | static inline void cvmx_atomic_add32(int32_t *ptr, int32_t incr) |
| 115 | { |
| 116 | CVMX_SYNCWS; |
| 117 | cvmx_atomic_add32_nosync(ptr, incr); |
| 118 | CVMX_SYNCWS; |
| 119 | } |
| 120 | |
| 121 | /** |
| 122 | * Atomically sets a 32 bit (aligned) memory location to a value |
no test coverage detected