Lines Matching +full:1 +full:v
85 atomic_read_acquire(const atomic_t *v) in atomic_read_acquire() argument
87 return smp_load_acquire(&(v)->counter); in atomic_read_acquire()
97 atomic_set_release(atomic_t *v, int i) in atomic_set_release() argument
99 smp_store_release(&(v)->counter, i); in atomic_set_release()
119 atomic_add_return_acquire(int i, atomic_t *v) in atomic_add_return_acquire() argument
121 int ret = atomic_add_return_relaxed(i, v); in atomic_add_return_acquire()
130 atomic_add_return_release(int i, atomic_t *v) in atomic_add_return_release() argument
133 return atomic_add_return_relaxed(i, v); in atomic_add_return_release()
140 atomic_add_return(int i, atomic_t *v) in atomic_add_return() argument
144 ret = atomic_add_return_relaxed(i, v); in atomic_add_return()
166 atomic_fetch_add_acquire(int i, atomic_t *v) in atomic_fetch_add_acquire() argument
168 int ret = atomic_fetch_add_relaxed(i, v); in atomic_fetch_add_acquire()
177 atomic_fetch_add_release(int i, atomic_t *v) in atomic_fetch_add_release() argument
180 return atomic_fetch_add_relaxed(i, v); in atomic_fetch_add_release()
187 atomic_fetch_add(int i, atomic_t *v) in atomic_fetch_add() argument
191 ret = atomic_fetch_add_relaxed(i, v); in atomic_fetch_add()
215 atomic_sub_return_acquire(int i, atomic_t *v) in atomic_sub_return_acquire() argument
217 int ret = atomic_sub_return_relaxed(i, v); in atomic_sub_return_acquire()
226 atomic_sub_return_release(int i, atomic_t *v) in atomic_sub_return_release() argument
229 return atomic_sub_return_relaxed(i, v); in atomic_sub_return_release()
236 atomic_sub_return(int i, atomic_t *v) in atomic_sub_return() argument
240 ret = atomic_sub_return_relaxed(i, v); in atomic_sub_return()
262 atomic_fetch_sub_acquire(int i, atomic_t *v) in atomic_fetch_sub_acquire() argument
264 int ret = atomic_fetch_sub_relaxed(i, v); in atomic_fetch_sub_acquire()
273 atomic_fetch_sub_release(int i, atomic_t *v) in atomic_fetch_sub_release() argument
276 return atomic_fetch_sub_relaxed(i, v); in atomic_fetch_sub_release()
283 atomic_fetch_sub(int i, atomic_t *v) in atomic_fetch_sub() argument
287 ret = atomic_fetch_sub_relaxed(i, v); in atomic_fetch_sub()
300 atomic_inc(atomic_t *v) in atomic_inc() argument
302 atomic_add(1, v); in atomic_inc()
321 atomic_inc_return(atomic_t *v) in atomic_inc_return() argument
323 return atomic_add_return(1, v); in atomic_inc_return()
330 atomic_inc_return_acquire(atomic_t *v) in atomic_inc_return_acquire() argument
332 return atomic_add_return_acquire(1, v); in atomic_inc_return_acquire()
339 atomic_inc_return_release(atomic_t *v) in atomic_inc_return_release() argument
341 return atomic_add_return_release(1, v); in atomic_inc_return_release()
348 atomic_inc_return_relaxed(atomic_t *v) in atomic_inc_return_relaxed() argument
350 return atomic_add_return_relaxed(1, v); in atomic_inc_return_relaxed()
359 atomic_inc_return_acquire(atomic_t *v) in atomic_inc_return_acquire() argument
361 int ret = atomic_inc_return_relaxed(v); in atomic_inc_return_acquire()
370 atomic_inc_return_release(atomic_t *v) in atomic_inc_return_release() argument
373 return atomic_inc_return_relaxed(v); in atomic_inc_return_release()
380 atomic_inc_return(atomic_t *v) in atomic_inc_return() argument
384 ret = atomic_inc_return_relaxed(v); in atomic_inc_return()
407 atomic_fetch_inc(atomic_t *v) in atomic_fetch_inc() argument
409 return atomic_fetch_add(1, v); in atomic_fetch_inc()
416 atomic_fetch_inc_acquire(atomic_t *v) in atomic_fetch_inc_acquire() argument
418 return atomic_fetch_add_acquire(1, v); in atomic_fetch_inc_acquire()
425 atomic_fetch_inc_release(atomic_t *v) in atomic_fetch_inc_release() argument
427 return atomic_fetch_add_release(1, v); in atomic_fetch_inc_release()
434 atomic_fetch_inc_relaxed(atomic_t *v) in atomic_fetch_inc_relaxed() argument
436 return atomic_fetch_add_relaxed(1, v); in atomic_fetch_inc_relaxed()
445 atomic_fetch_inc_acquire(atomic_t *v) in atomic_fetch_inc_acquire() argument
447 int ret = atomic_fetch_inc_relaxed(v); in atomic_fetch_inc_acquire()
456 atomic_fetch_inc_release(atomic_t *v) in atomic_fetch_inc_release() argument
459 return atomic_fetch_inc_relaxed(v); in atomic_fetch_inc_release()
466 atomic_fetch_inc(atomic_t *v) in atomic_fetch_inc() argument
470 ret = atomic_fetch_inc_relaxed(v); in atomic_fetch_inc()
483 atomic_dec(atomic_t *v) in atomic_dec() argument
485 atomic_sub(1, v); in atomic_dec()
504 atomic_dec_return(atomic_t *v) in atomic_dec_return() argument
506 return atomic_sub_return(1, v); in atomic_dec_return()
513 atomic_dec_return_acquire(atomic_t *v) in atomic_dec_return_acquire() argument
515 return atomic_sub_return_acquire(1, v); in atomic_dec_return_acquire()
522 atomic_dec_return_release(atomic_t *v) in atomic_dec_return_release() argument
524 return atomic_sub_return_release(1, v); in atomic_dec_return_release()
531 atomic_dec_return_relaxed(atomic_t *v) in atomic_dec_return_relaxed() argument
533 return atomic_sub_return_relaxed(1, v); in atomic_dec_return_relaxed()
542 atomic_dec_return_acquire(atomic_t *v) in atomic_dec_return_acquire() argument
544 int ret = atomic_dec_return_relaxed(v); in atomic_dec_return_acquire()
553 atomic_dec_return_release(atomic_t *v) in atomic_dec_return_release() argument
556 return atomic_dec_return_relaxed(v); in atomic_dec_return_release()
563 atomic_dec_return(atomic_t *v) in atomic_dec_return() argument
567 ret = atomic_dec_return_relaxed(v); in atomic_dec_return()
590 atomic_fetch_dec(atomic_t *v) in atomic_fetch_dec() argument
592 return atomic_fetch_sub(1, v); in atomic_fetch_dec()
599 atomic_fetch_dec_acquire(atomic_t *v) in atomic_fetch_dec_acquire() argument
601 return atomic_fetch_sub_acquire(1, v); in atomic_fetch_dec_acquire()
608 atomic_fetch_dec_release(atomic_t *v) in atomic_fetch_dec_release() argument
610 return atomic_fetch_sub_release(1, v); in atomic_fetch_dec_release()
617 atomic_fetch_dec_relaxed(atomic_t *v) in atomic_fetch_dec_relaxed() argument
619 return atomic_fetch_sub_relaxed(1, v); in atomic_fetch_dec_relaxed()
628 atomic_fetch_dec_acquire(atomic_t *v) in atomic_fetch_dec_acquire() argument
630 int ret = atomic_fetch_dec_relaxed(v); in atomic_fetch_dec_acquire()
639 atomic_fetch_dec_release(atomic_t *v) in atomic_fetch_dec_release() argument
642 return atomic_fetch_dec_relaxed(v); in atomic_fetch_dec_release()
649 atomic_fetch_dec(atomic_t *v) in atomic_fetch_dec() argument
653 ret = atomic_fetch_dec_relaxed(v); in atomic_fetch_dec()
677 atomic_fetch_and_acquire(int i, atomic_t *v) in atomic_fetch_and_acquire() argument
679 int ret = atomic_fetch_and_relaxed(i, v); in atomic_fetch_and_acquire()
688 atomic_fetch_and_release(int i, atomic_t *v) in atomic_fetch_and_release() argument
691 return atomic_fetch_and_relaxed(i, v); in atomic_fetch_and_release()
698 atomic_fetch_and(int i, atomic_t *v) in atomic_fetch_and() argument
702 ret = atomic_fetch_and_relaxed(i, v); in atomic_fetch_and()
715 atomic_andnot(int i, atomic_t *v) in atomic_andnot() argument
717 atomic_and(~i, v); in atomic_andnot()
736 atomic_fetch_andnot(int i, atomic_t *v) in atomic_fetch_andnot() argument
738 return atomic_fetch_and(~i, v); in atomic_fetch_andnot()
745 atomic_fetch_andnot_acquire(int i, atomic_t *v) in atomic_fetch_andnot_acquire() argument
747 return atomic_fetch_and_acquire(~i, v); in atomic_fetch_andnot_acquire()
754 atomic_fetch_andnot_release(int i, atomic_t *v) in atomic_fetch_andnot_release() argument
756 return atomic_fetch_and_release(~i, v); in atomic_fetch_andnot_release()
763 atomic_fetch_andnot_relaxed(int i, atomic_t *v) in atomic_fetch_andnot_relaxed() argument
765 return atomic_fetch_and_relaxed(~i, v); in atomic_fetch_andnot_relaxed()
774 atomic_fetch_andnot_acquire(int i, atomic_t *v) in atomic_fetch_andnot_acquire() argument
776 int ret = atomic_fetch_andnot_relaxed(i, v); in atomic_fetch_andnot_acquire()
785 atomic_fetch_andnot_release(int i, atomic_t *v) in atomic_fetch_andnot_release() argument
788 return atomic_fetch_andnot_relaxed(i, v); in atomic_fetch_andnot_release()
795 atomic_fetch_andnot(int i, atomic_t *v) in atomic_fetch_andnot() argument
799 ret = atomic_fetch_andnot_relaxed(i, v); in atomic_fetch_andnot()
823 atomic_fetch_or_acquire(int i, atomic_t *v) in atomic_fetch_or_acquire() argument
825 int ret = atomic_fetch_or_relaxed(i, v); in atomic_fetch_or_acquire()
834 atomic_fetch_or_release(int i, atomic_t *v) in atomic_fetch_or_release() argument
837 return atomic_fetch_or_relaxed(i, v); in atomic_fetch_or_release()
844 atomic_fetch_or(int i, atomic_t *v) in atomic_fetch_or() argument
848 ret = atomic_fetch_or_relaxed(i, v); in atomic_fetch_or()
872 atomic_fetch_xor_acquire(int i, atomic_t *v) in atomic_fetch_xor_acquire() argument
874 int ret = atomic_fetch_xor_relaxed(i, v); in atomic_fetch_xor_acquire()
883 atomic_fetch_xor_release(int i, atomic_t *v) in atomic_fetch_xor_release() argument
886 return atomic_fetch_xor_relaxed(i, v); in atomic_fetch_xor_release()
893 atomic_fetch_xor(int i, atomic_t *v) in atomic_fetch_xor() argument
897 ret = atomic_fetch_xor_relaxed(i, v); in atomic_fetch_xor()
919 atomic_xchg_acquire(atomic_t *v, int i) in atomic_xchg_acquire() argument
921 int ret = atomic_xchg_relaxed(v, i); in atomic_xchg_acquire()
930 atomic_xchg_release(atomic_t *v, int i) in atomic_xchg_release() argument
933 return atomic_xchg_relaxed(v, i); in atomic_xchg_release()
940 atomic_xchg(atomic_t *v, int i) in atomic_xchg() argument
944 ret = atomic_xchg_relaxed(v, i); in atomic_xchg()
966 atomic_cmpxchg_acquire(atomic_t *v, int old, int new) in atomic_cmpxchg_acquire() argument
968 int ret = atomic_cmpxchg_relaxed(v, old, new); in atomic_cmpxchg_acquire()
977 atomic_cmpxchg_release(atomic_t *v, int old, int new) in atomic_cmpxchg_release() argument
980 return atomic_cmpxchg_relaxed(v, old, new); in atomic_cmpxchg_release()
987 atomic_cmpxchg(atomic_t *v, int old, int new) in atomic_cmpxchg() argument
991 ret = atomic_cmpxchg_relaxed(v, old, new); in atomic_cmpxchg()
1014 atomic_try_cmpxchg(atomic_t *v, int *old, int new) in atomic_try_cmpxchg() argument
1017 r = atomic_cmpxchg(v, o, new); in atomic_try_cmpxchg()
1027 atomic_try_cmpxchg_acquire(atomic_t *v, int *old, int new) in atomic_try_cmpxchg_acquire() argument
1030 r = atomic_cmpxchg_acquire(v, o, new); in atomic_try_cmpxchg_acquire()
1040 atomic_try_cmpxchg_release(atomic_t *v, int *old, int new) in atomic_try_cmpxchg_release() argument
1043 r = atomic_cmpxchg_release(v, o, new); in atomic_try_cmpxchg_release()
1053 atomic_try_cmpxchg_relaxed(atomic_t *v, int *old, int new) in atomic_try_cmpxchg_relaxed() argument
1056 r = atomic_cmpxchg_relaxed(v, o, new); in atomic_try_cmpxchg_relaxed()
1068 atomic_try_cmpxchg_acquire(atomic_t *v, int *old, int new) in atomic_try_cmpxchg_acquire() argument
1070 bool ret = atomic_try_cmpxchg_relaxed(v, old, new); in atomic_try_cmpxchg_acquire()
1079 atomic_try_cmpxchg_release(atomic_t *v, int *old, int new) in atomic_try_cmpxchg_release() argument
1082 return atomic_try_cmpxchg_relaxed(v, old, new); in atomic_try_cmpxchg_release()
1089 atomic_try_cmpxchg(atomic_t *v, int *old, int new) in atomic_try_cmpxchg() argument
1093 ret = atomic_try_cmpxchg_relaxed(v, old, new); in atomic_try_cmpxchg()
1108 * @v: pointer of type atomic_t
1110 * Atomically subtracts @i from @v and returns
1115 atomic_sub_and_test(int i, atomic_t *v) in atomic_sub_and_test() argument
1117 return atomic_sub_return(i, v) == 0; in atomic_sub_and_test()
1127 * @v: pointer of type atomic_t
1129 * Atomically decrements @v by 1 and
1134 atomic_dec_and_test(atomic_t *v) in atomic_dec_and_test() argument
1136 return atomic_dec_return(v) == 0; in atomic_dec_and_test()
1146 * @v: pointer of type atomic_t
1148 * Atomically increments @v by 1
1153 atomic_inc_and_test(atomic_t *v) in atomic_inc_and_test() argument
1155 return atomic_inc_return(v) == 0; in atomic_inc_and_test()
1166 * @v: pointer of type atomic_t
1168 * Atomically adds @i to @v and returns true
1173 atomic_add_negative(int i, atomic_t *v) in atomic_add_negative() argument
1175 return atomic_add_return(i, v) < 0; in atomic_add_negative()
1185 * @v: pointer of type atomic_t
1186 * @a: the amount to add to v...
1187 * @u: ...unless v is equal to u.
1189 * Atomically adds @a to @v, so long as @v was not already @u.
1190 * Returns original value of @v
1193 atomic_fetch_add_unless(atomic_t *v, int a, int u) in atomic_fetch_add_unless() argument
1195 int c = atomic_read(v); in atomic_fetch_add_unless()
1200 } while (!atomic_try_cmpxchg(v, &c, c + a)); in atomic_fetch_add_unless()
1212 * @v: pointer of type atomic_t
1213 * @a: the amount to add to v...
1214 * @u: ...unless v is equal to u.
1216 * Atomically adds @a to @v, if @v was not already @u.
1220 atomic_add_unless(atomic_t *v, int a, int u) in atomic_add_unless() argument
1222 return atomic_fetch_add_unless(v, a, u) != u; in atomic_add_unless()
1232 * @v: pointer of type atomic_t
1234 * Atomically increments @v by 1, if @v is non-zero.
1238 atomic_inc_not_zero(atomic_t *v) in atomic_inc_not_zero() argument
1240 return atomic_add_unless(v, 1, 0); in atomic_inc_not_zero()
1249 atomic_inc_unless_negative(atomic_t *v) in atomic_inc_unless_negative() argument
1251 int c = atomic_read(v); in atomic_inc_unless_negative()
1256 } while (!atomic_try_cmpxchg(v, &c, c + 1)); in atomic_inc_unless_negative()
1267 atomic_dec_unless_positive(atomic_t *v) in atomic_dec_unless_positive() argument
1269 int c = atomic_read(v); in atomic_dec_unless_positive()
1274 } while (!atomic_try_cmpxchg(v, &c, c - 1)); in atomic_dec_unless_positive()
1285 atomic_dec_if_positive(atomic_t *v) in atomic_dec_if_positive() argument
1287 int dec, c = atomic_read(v); in atomic_dec_if_positive()
1290 dec = c - 1; in atomic_dec_if_positive()
1293 } while (!atomic_try_cmpxchg(v, &c, dec)); in atomic_dec_if_positive()
1309 atomic64_read_acquire(const atomic64_t *v) in atomic64_read_acquire() argument
1311 return smp_load_acquire(&(v)->counter); in atomic64_read_acquire()
1321 atomic64_set_release(atomic64_t *v, s64 i) in atomic64_set_release() argument
1323 smp_store_release(&(v)->counter, i); in atomic64_set_release()
1343 atomic64_add_return_acquire(s64 i, atomic64_t *v) in atomic64_add_return_acquire() argument
1345 s64 ret = atomic64_add_return_relaxed(i, v); in atomic64_add_return_acquire()
1354 atomic64_add_return_release(s64 i, atomic64_t *v) in atomic64_add_return_release() argument
1357 return atomic64_add_return_relaxed(i, v); in atomic64_add_return_release()
1364 atomic64_add_return(s64 i, atomic64_t *v) in atomic64_add_return() argument
1368 ret = atomic64_add_return_relaxed(i, v); in atomic64_add_return()
1390 atomic64_fetch_add_acquire(s64 i, atomic64_t *v) in atomic64_fetch_add_acquire() argument
1392 s64 ret = atomic64_fetch_add_relaxed(i, v); in atomic64_fetch_add_acquire()
1401 atomic64_fetch_add_release(s64 i, atomic64_t *v) in atomic64_fetch_add_release() argument
1404 return atomic64_fetch_add_relaxed(i, v); in atomic64_fetch_add_release()
1411 atomic64_fetch_add(s64 i, atomic64_t *v) in atomic64_fetch_add() argument
1415 ret = atomic64_fetch_add_relaxed(i, v); in atomic64_fetch_add()
1439 atomic64_sub_return_acquire(s64 i, atomic64_t *v) in atomic64_sub_return_acquire() argument
1441 s64 ret = atomic64_sub_return_relaxed(i, v); in atomic64_sub_return_acquire()
1450 atomic64_sub_return_release(s64 i, atomic64_t *v) in atomic64_sub_return_release() argument
1453 return atomic64_sub_return_relaxed(i, v); in atomic64_sub_return_release()
1460 atomic64_sub_return(s64 i, atomic64_t *v) in atomic64_sub_return() argument
1464 ret = atomic64_sub_return_relaxed(i, v); in atomic64_sub_return()
1486 atomic64_fetch_sub_acquire(s64 i, atomic64_t *v) in atomic64_fetch_sub_acquire() argument
1488 s64 ret = atomic64_fetch_sub_relaxed(i, v); in atomic64_fetch_sub_acquire()
1497 atomic64_fetch_sub_release(s64 i, atomic64_t *v) in atomic64_fetch_sub_release() argument
1500 return atomic64_fetch_sub_relaxed(i, v); in atomic64_fetch_sub_release()
1507 atomic64_fetch_sub(s64 i, atomic64_t *v) in atomic64_fetch_sub() argument
1511 ret = atomic64_fetch_sub_relaxed(i, v); in atomic64_fetch_sub()
1524 atomic64_inc(atomic64_t *v) in atomic64_inc() argument
1526 atomic64_add(1, v); in atomic64_inc()
1545 atomic64_inc_return(atomic64_t *v) in atomic64_inc_return() argument
1547 return atomic64_add_return(1, v); in atomic64_inc_return()
1554 atomic64_inc_return_acquire(atomic64_t *v) in atomic64_inc_return_acquire() argument
1556 return atomic64_add_return_acquire(1, v); in atomic64_inc_return_acquire()
1563 atomic64_inc_return_release(atomic64_t *v) in atomic64_inc_return_release() argument
1565 return atomic64_add_return_release(1, v); in atomic64_inc_return_release()
1572 atomic64_inc_return_relaxed(atomic64_t *v) in atomic64_inc_return_relaxed() argument
1574 return atomic64_add_return_relaxed(1, v); in atomic64_inc_return_relaxed()
1583 atomic64_inc_return_acquire(atomic64_t *v) in atomic64_inc_return_acquire() argument
1585 s64 ret = atomic64_inc_return_relaxed(v); in atomic64_inc_return_acquire()
1594 atomic64_inc_return_release(atomic64_t *v) in atomic64_inc_return_release() argument
1597 return atomic64_inc_return_relaxed(v); in atomic64_inc_return_release()
1604 atomic64_inc_return(atomic64_t *v) in atomic64_inc_return() argument
1608 ret = atomic64_inc_return_relaxed(v); in atomic64_inc_return()
1631 atomic64_fetch_inc(atomic64_t *v) in atomic64_fetch_inc() argument
1633 return atomic64_fetch_add(1, v); in atomic64_fetch_inc()
1640 atomic64_fetch_inc_acquire(atomic64_t *v) in atomic64_fetch_inc_acquire() argument
1642 return atomic64_fetch_add_acquire(1, v); in atomic64_fetch_inc_acquire()
1649 atomic64_fetch_inc_release(atomic64_t *v) in atomic64_fetch_inc_release() argument
1651 return atomic64_fetch_add_release(1, v); in atomic64_fetch_inc_release()
1658 atomic64_fetch_inc_relaxed(atomic64_t *v) in atomic64_fetch_inc_relaxed() argument
1660 return atomic64_fetch_add_relaxed(1, v); in atomic64_fetch_inc_relaxed()
1669 atomic64_fetch_inc_acquire(atomic64_t *v) in atomic64_fetch_inc_acquire() argument
1671 s64 ret = atomic64_fetch_inc_relaxed(v); in atomic64_fetch_inc_acquire()
1680 atomic64_fetch_inc_release(atomic64_t *v) in atomic64_fetch_inc_release() argument
1683 return atomic64_fetch_inc_relaxed(v); in atomic64_fetch_inc_release()
1690 atomic64_fetch_inc(atomic64_t *v) in atomic64_fetch_inc() argument
1694 ret = atomic64_fetch_inc_relaxed(v); in atomic64_fetch_inc()
1707 atomic64_dec(atomic64_t *v) in atomic64_dec() argument
1709 atomic64_sub(1, v); in atomic64_dec()
1728 atomic64_dec_return(atomic64_t *v) in atomic64_dec_return() argument
1730 return atomic64_sub_return(1, v); in atomic64_dec_return()
1737 atomic64_dec_return_acquire(atomic64_t *v) in atomic64_dec_return_acquire() argument
1739 return atomic64_sub_return_acquire(1, v); in atomic64_dec_return_acquire()
1746 atomic64_dec_return_release(atomic64_t *v) in atomic64_dec_return_release() argument
1748 return atomic64_sub_return_release(1, v); in atomic64_dec_return_release()
1755 atomic64_dec_return_relaxed(atomic64_t *v) in atomic64_dec_return_relaxed() argument
1757 return atomic64_sub_return_relaxed(1, v); in atomic64_dec_return_relaxed()
1766 atomic64_dec_return_acquire(atomic64_t *v) in atomic64_dec_return_acquire() argument
1768 s64 ret = atomic64_dec_return_relaxed(v); in atomic64_dec_return_acquire()
1777 atomic64_dec_return_release(atomic64_t *v) in atomic64_dec_return_release() argument
1780 return atomic64_dec_return_relaxed(v); in atomic64_dec_return_release()
1787 atomic64_dec_return(atomic64_t *v) in atomic64_dec_return() argument
1791 ret = atomic64_dec_return_relaxed(v); in atomic64_dec_return()
1814 atomic64_fetch_dec(atomic64_t *v) in atomic64_fetch_dec() argument
1816 return atomic64_fetch_sub(1, v); in atomic64_fetch_dec()
1823 atomic64_fetch_dec_acquire(atomic64_t *v) in atomic64_fetch_dec_acquire() argument
1825 return atomic64_fetch_sub_acquire(1, v); in atomic64_fetch_dec_acquire()
1832 atomic64_fetch_dec_release(atomic64_t *v) in atomic64_fetch_dec_release() argument
1834 return atomic64_fetch_sub_release(1, v); in atomic64_fetch_dec_release()
1841 atomic64_fetch_dec_relaxed(atomic64_t *v) in atomic64_fetch_dec_relaxed() argument
1843 return atomic64_fetch_sub_relaxed(1, v); in atomic64_fetch_dec_relaxed()
1852 atomic64_fetch_dec_acquire(atomic64_t *v) in atomic64_fetch_dec_acquire() argument
1854 s64 ret = atomic64_fetch_dec_relaxed(v); in atomic64_fetch_dec_acquire()
1863 atomic64_fetch_dec_release(atomic64_t *v) in atomic64_fetch_dec_release() argument
1866 return atomic64_fetch_dec_relaxed(v); in atomic64_fetch_dec_release()
1873 atomic64_fetch_dec(atomic64_t *v) in atomic64_fetch_dec() argument
1877 ret = atomic64_fetch_dec_relaxed(v); in atomic64_fetch_dec()
1901 atomic64_fetch_and_acquire(s64 i, atomic64_t *v) in atomic64_fetch_and_acquire() argument
1903 s64 ret = atomic64_fetch_and_relaxed(i, v); in atomic64_fetch_and_acquire()
1912 atomic64_fetch_and_release(s64 i, atomic64_t *v) in atomic64_fetch_and_release() argument
1915 return atomic64_fetch_and_relaxed(i, v); in atomic64_fetch_and_release()
1922 atomic64_fetch_and(s64 i, atomic64_t *v) in atomic64_fetch_and() argument
1926 ret = atomic64_fetch_and_relaxed(i, v); in atomic64_fetch_and()
1939 atomic64_andnot(s64 i, atomic64_t *v) in atomic64_andnot() argument
1941 atomic64_and(~i, v); in atomic64_andnot()
1960 atomic64_fetch_andnot(s64 i, atomic64_t *v) in atomic64_fetch_andnot() argument
1962 return atomic64_fetch_and(~i, v); in atomic64_fetch_andnot()
1969 atomic64_fetch_andnot_acquire(s64 i, atomic64_t *v) in atomic64_fetch_andnot_acquire() argument
1971 return atomic64_fetch_and_acquire(~i, v); in atomic64_fetch_andnot_acquire()
1978 atomic64_fetch_andnot_release(s64 i, atomic64_t *v) in atomic64_fetch_andnot_release() argument
1980 return atomic64_fetch_and_release(~i, v); in atomic64_fetch_andnot_release()
1987 atomic64_fetch_andnot_relaxed(s64 i, atomic64_t *v) in atomic64_fetch_andnot_relaxed() argument
1989 return atomic64_fetch_and_relaxed(~i, v); in atomic64_fetch_andnot_relaxed()
1998 atomic64_fetch_andnot_acquire(s64 i, atomic64_t *v) in atomic64_fetch_andnot_acquire() argument
2000 s64 ret = atomic64_fetch_andnot_relaxed(i, v); in atomic64_fetch_andnot_acquire()
2009 atomic64_fetch_andnot_release(s64 i, atomic64_t *v) in atomic64_fetch_andnot_release() argument
2012 return atomic64_fetch_andnot_relaxed(i, v); in atomic64_fetch_andnot_release()
2019 atomic64_fetch_andnot(s64 i, atomic64_t *v) in atomic64_fetch_andnot() argument
2023 ret = atomic64_fetch_andnot_relaxed(i, v); in atomic64_fetch_andnot()
2047 atomic64_fetch_or_acquire(s64 i, atomic64_t *v) in atomic64_fetch_or_acquire() argument
2049 s64 ret = atomic64_fetch_or_relaxed(i, v); in atomic64_fetch_or_acquire()
2058 atomic64_fetch_or_release(s64 i, atomic64_t *v) in atomic64_fetch_or_release() argument
2061 return atomic64_fetch_or_relaxed(i, v); in atomic64_fetch_or_release()
2068 atomic64_fetch_or(s64 i, atomic64_t *v) in atomic64_fetch_or() argument
2072 ret = atomic64_fetch_or_relaxed(i, v); in atomic64_fetch_or()
2096 atomic64_fetch_xor_acquire(s64 i, atomic64_t *v) in atomic64_fetch_xor_acquire() argument
2098 s64 ret = atomic64_fetch_xor_relaxed(i, v); in atomic64_fetch_xor_acquire()
2107 atomic64_fetch_xor_release(s64 i, atomic64_t *v) in atomic64_fetch_xor_release() argument
2110 return atomic64_fetch_xor_relaxed(i, v); in atomic64_fetch_xor_release()
2117 atomic64_fetch_xor(s64 i, atomic64_t *v) in atomic64_fetch_xor() argument
2121 ret = atomic64_fetch_xor_relaxed(i, v); in atomic64_fetch_xor()
2143 atomic64_xchg_acquire(atomic64_t *v, s64 i) in atomic64_xchg_acquire() argument
2145 s64 ret = atomic64_xchg_relaxed(v, i); in atomic64_xchg_acquire()
2154 atomic64_xchg_release(atomic64_t *v, s64 i) in atomic64_xchg_release() argument
2157 return atomic64_xchg_relaxed(v, i); in atomic64_xchg_release()
2164 atomic64_xchg(atomic64_t *v, s64 i) in atomic64_xchg() argument
2168 ret = atomic64_xchg_relaxed(v, i); in atomic64_xchg()
2190 atomic64_cmpxchg_acquire(atomic64_t *v, s64 old, s64 new) in atomic64_cmpxchg_acquire() argument
2192 s64 ret = atomic64_cmpxchg_relaxed(v, old, new); in atomic64_cmpxchg_acquire()
2201 atomic64_cmpxchg_release(atomic64_t *v, s64 old, s64 new) in atomic64_cmpxchg_release() argument
2204 return atomic64_cmpxchg_relaxed(v, old, new); in atomic64_cmpxchg_release()
2211 atomic64_cmpxchg(atomic64_t *v, s64 old, s64 new) in atomic64_cmpxchg() argument
2215 ret = atomic64_cmpxchg_relaxed(v, old, new); in atomic64_cmpxchg()
2238 atomic64_try_cmpxchg(atomic64_t *v, s64 *old, s64 new) in atomic64_try_cmpxchg() argument
2241 r = atomic64_cmpxchg(v, o, new); in atomic64_try_cmpxchg()
2251 atomic64_try_cmpxchg_acquire(atomic64_t *v, s64 *old, s64 new) in atomic64_try_cmpxchg_acquire() argument
2254 r = atomic64_cmpxchg_acquire(v, o, new); in atomic64_try_cmpxchg_acquire()
2264 atomic64_try_cmpxchg_release(atomic64_t *v, s64 *old, s64 new) in atomic64_try_cmpxchg_release() argument
2267 r = atomic64_cmpxchg_release(v, o, new); in atomic64_try_cmpxchg_release()
2277 atomic64_try_cmpxchg_relaxed(atomic64_t *v, s64 *old, s64 new) in atomic64_try_cmpxchg_relaxed() argument
2280 r = atomic64_cmpxchg_relaxed(v, o, new); in atomic64_try_cmpxchg_relaxed()
2292 atomic64_try_cmpxchg_acquire(atomic64_t *v, s64 *old, s64 new) in atomic64_try_cmpxchg_acquire() argument
2294 bool ret = atomic64_try_cmpxchg_relaxed(v, old, new); in atomic64_try_cmpxchg_acquire()
2303 atomic64_try_cmpxchg_release(atomic64_t *v, s64 *old, s64 new) in atomic64_try_cmpxchg_release() argument
2306 return atomic64_try_cmpxchg_relaxed(v, old, new); in atomic64_try_cmpxchg_release()
2313 atomic64_try_cmpxchg(atomic64_t *v, s64 *old, s64 new) in atomic64_try_cmpxchg() argument
2317 ret = atomic64_try_cmpxchg_relaxed(v, old, new); in atomic64_try_cmpxchg()
2332 * @v: pointer of type atomic64_t
2334 * Atomically subtracts @i from @v and returns
2339 atomic64_sub_and_test(s64 i, atomic64_t *v) in atomic64_sub_and_test() argument
2341 return atomic64_sub_return(i, v) == 0; in atomic64_sub_and_test()
2351 * @v: pointer of type atomic64_t
2353 * Atomically decrements @v by 1 and
2358 atomic64_dec_and_test(atomic64_t *v) in atomic64_dec_and_test() argument
2360 return atomic64_dec_return(v) == 0; in atomic64_dec_and_test()
2370 * @v: pointer of type atomic64_t
2372 * Atomically increments @v by 1
2377 atomic64_inc_and_test(atomic64_t *v) in atomic64_inc_and_test() argument
2379 return atomic64_inc_return(v) == 0; in atomic64_inc_and_test()
2390 * @v: pointer of type atomic64_t
2392 * Atomically adds @i to @v and returns true
2397 atomic64_add_negative(s64 i, atomic64_t *v) in atomic64_add_negative() argument
2399 return atomic64_add_return(i, v) < 0; in atomic64_add_negative()
2409 * @v: pointer of type atomic64_t
2410 * @a: the amount to add to v...
2411 * @u: ...unless v is equal to u.
2413 * Atomically adds @a to @v, so long as @v was not already @u.
2414 * Returns original value of @v
2417 atomic64_fetch_add_unless(atomic64_t *v, s64 a, s64 u) in atomic64_fetch_add_unless() argument
2419 s64 c = atomic64_read(v); in atomic64_fetch_add_unless()
2424 } while (!atomic64_try_cmpxchg(v, &c, c + a)); in atomic64_fetch_add_unless()
2436 * @v: pointer of type atomic64_t
2437 * @a: the amount to add to v...
2438 * @u: ...unless v is equal to u.
2440 * Atomically adds @a to @v, if @v was not already @u.
2444 atomic64_add_unless(atomic64_t *v, s64 a, s64 u) in atomic64_add_unless() argument
2446 return atomic64_fetch_add_unless(v, a, u) != u; in atomic64_add_unless()
2456 * @v: pointer of type atomic64_t
2458 * Atomically increments @v by 1, if @v is non-zero.
2462 atomic64_inc_not_zero(atomic64_t *v) in atomic64_inc_not_zero() argument
2464 return atomic64_add_unless(v, 1, 0); in atomic64_inc_not_zero()
2473 atomic64_inc_unless_negative(atomic64_t *v) in atomic64_inc_unless_negative() argument
2475 s64 c = atomic64_read(v); in atomic64_inc_unless_negative()
2480 } while (!atomic64_try_cmpxchg(v, &c, c + 1)); in atomic64_inc_unless_negative()
2491 atomic64_dec_unless_positive(atomic64_t *v) in atomic64_dec_unless_positive() argument
2493 s64 c = atomic64_read(v); in atomic64_dec_unless_positive()
2498 } while (!atomic64_try_cmpxchg(v, &c, c - 1)); in atomic64_dec_unless_positive()
2509 atomic64_dec_if_positive(atomic64_t *v) in atomic64_dec_if_positive() argument
2511 s64 dec, c = atomic64_read(v); in atomic64_dec_if_positive()
2514 dec = c - 1; in atomic64_dec_if_positive()
2517 } while (!atomic64_try_cmpxchg(v, &c, dec)); in atomic64_dec_if_positive()