Lines Matching full:atomic
32 /* Not all Xtensa toolchains support GCC-style atomic intrinsics */
46 * @defgroup atomic_apis Atomic Services APIs
52 * @brief Initialize an atomic variable.
54 * This macro can be used to initialize an atomic variable. For example,
57 * @param i Value to assign to atomic variable.
62 * @brief Initialize an atomic pointer variable.
64 * This macro can be used to initialize an atomic pointer variable. For
68 * @param p Pointer value to assign to atomic pointer variable.
85 * @brief This macro computes the number of atomic variables necessary to
93 * @brief Define an array of atomic variables.
95 * This macro defines an array of atomic variables containing at least
108 * @param name Name of array of atomic variables.
118 * The target may be a single atomic variable or an array of them.
122 * @param target Address of atomic variable or array.
138 * The target may be a single atomic variable or an array of them.
142 * @param target Address of atomic variable or array.
161 * The target may be a single atomic variable or an array of them.
165 * @param target Address of atomic variable or array.
184 * The target may be a single atomic variable or an array of them.
188 * @param target Address of atomic variable or array.
202 * The target may be a single atomic variable or an array of them.
206 * @param target Address of atomic variable or array.
220 * The target may be a single atomic variable or an array of them.
224 * @param target Address of atomic variable or array.
240 * @brief Atomic compare-and-set.
242 * This routine performs an atomic compare-and-set on @a target. If the current
249 * @param target Address of atomic variable.
257 * @brief Atomic compare-and-set with pointer values
259 * This routine performs an atomic compare-and-set on @a target. If the current
266 * @param target Address of atomic variable.
275 * @brief Atomic addition.
277 * This routine performs an atomic addition on @a target.
281 * @param target Address of atomic variable.
289 * @brief Atomic subtraction.
291 * This routine performs an atomic subtraction on @a target.
295 * @param target Address of atomic variable.
303 * @brief Atomic increment.
305 * This routine performs an atomic increment by 1 on @a target.
309 * @param target Address of atomic variable.
316 * @brief Atomic decrement.
318 * This routine performs an atomic decrement by 1 on @a target.
322 * @param target Address of atomic variable.
329 * @brief Atomic get.
331 * This routine performs an atomic read on @a target.
335 * @param target Address of atomic variable.
342 * @brief Atomic get a pointer value
344 * This routine performs an atomic read on @a target.
355 * @brief Atomic get-and-set.
362 * @param target Address of atomic variable.
370 * @brief Atomic get-and-set for pointer values
377 * @param target Address of atomic variable.
385 * @brief Atomic clear.
392 * @param target Address of atomic variable.
399 * @brief Atomic clear of a pointer value
406 * @param target Address of atomic variable.
413 * @brief Atomic bitwise inclusive OR.
420 * @param target Address of atomic variable.
428 * @brief Atomic bitwise exclusive OR (XOR).
435 * @param target Address of atomic variable.
443 * @brief Atomic bitwise AND.
450 * @param target Address of atomic variable.
458 * @brief Atomic bitwise NAND.
465 * @param target Address of atomic variable.