Home
last modified time | relevance | path

Searched full:atomic (Results 1 – 25 of 2626) sorted by relevance

12345678910>>...106

/openbmc/linux/arch/mips/include/asm/octeon/
H A Dcvmx-fau.h123 * @reg: FAU atomic register to access. 0 <= reg < 2048.
127 * Returns Address to store for atomic update
139 * @tagwait: Should the atomic add wait for the current tag switch
143 * @reg: FAU atomic register to access. 0 <= reg < 2048.
150 * Returns Address to read from for atomic update
162 * Perform an atomic 64 bit add
164 * @reg: FAU atomic register to access. 0 <= reg < 2048.
177 * Perform an atomic 32 bit add
179 * @reg: FAU atomic register to access. 0 <= reg < 2048.
193 * Perform an atomic 16 bit add
[all …]
/openbmc/linux/lib/
H A Ddec_and_lock.c4 #include <linux/atomic.h>
12 * if (atomic_dec_and_test(&atomic)) {
19 * "atomic".
21 int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock) in _atomic_dec_and_lock() argument
24 if (atomic_add_unless(atomic, -1, 1)) in _atomic_dec_and_lock()
29 if (atomic_dec_and_test(atomic)) in _atomic_dec_and_lock()
37 int _atomic_dec_and_lock_irqsave(atomic_t *atomic, spinlock_t *lock, in _atomic_dec_and_lock_irqsave() argument
41 if (atomic_add_unless(atomic, -1, 1)) in _atomic_dec_and_lock_irqsave()
46 if (atomic_dec_and_test(atomic)) in _atomic_dec_and_lock_irqsave()
53 int _atomic_dec_and_raw_lock(atomic_t *atomic, raw_spinlock_t *lock) in _atomic_dec_and_raw_lock() argument
[all …]
H A Datomic64_test.c13 #include <linux/atomic.h>
22 atomic##bit##_set(&v, v0); \
24 atomic##bit##_##op(val, &v); \
26 WARN(atomic##bit##_read(&v) != r, "%Lx != %Lx\n", \
27 (unsigned long long)atomic##bit##_read(&v), \
32 * Test for a atomic operation family,
46 atomic##bit##_set(&v, v0); \
49 BUG_ON(atomic##bit##_##op(val, &v) != r); \
50 BUG_ON(atomic##bit##_read(&v) != r); \
55 atomic##bit##_set(&v, v0); \
[all …]
/openbmc/linux/include/drm/
H A Ddrm_modeset_helper_vtables.h62 * These hooks are used by the legacy CRTC helpers and the new atomic
77 * This callback is used by the legacy CRTC helpers. Atomic helpers
79 * facilitate transitions to atomic, but it is deprecated. Instead
92 * This callback is used by the legacy CRTC helpers. Atomic helpers
94 * transitions to atomic, but it is deprecated. Instead @atomic_disable
107 * This callback is used by the legacy CRTC helpers. Atomic helpers
109 * transitions to atomic, but it is deprecated. Instead @atomic_enable
127 * atomic helpers to validate modes supplied by userspace in
134 * Since this function is both called from the check phase of an atomic
159 * This function is used by both legacy CRTC helpers and atomic helpers.
[all …]
H A Ddrm_atomic.h37 * This structure is used to track pending modeset changes and atomic commit on
45 * atomic commit thread hardware
61 * clean up atomic state
68 * drm_atomic_helper_setup_commit() from the atomic helper library.
200 * struct drm_private_state_funcs - atomic state functions for private objects
202 * These hooks are used by atomic helpers to create, swap and destroy states of
205 * added to the atomic states is expected to have an implementation of these
218 * Duplicated atomic state or NULL when obj->state is not
245 * struct drm_private_obj - base struct for driver private atomic object
299 * @state: Current atomic state for this driver private object.
[all …]
H A Ddrm_crtc.h99 * &drm_mode_config_funcs.atomic_check callback to reject an atomic
108 * @planes_changed: Planes on this crtc are updated. Used by the atomic
109 * helpers and drivers to steer the atomic commit control flow.
114 * @mode_changed: @mode or @enable has been changed. Used by the atomic
115 * helpers and drivers to steer the atomic commit control flow. See also
126 * @active_changed: @active has been toggled. Used by the atomic
127 * helpers and drivers to steer the atomic commit control flow. See also
134 * either in their state or routing. Used by the atomic
135 * helpers and drivers to steer the atomic commit control flow. See also
138 * Drivers are supposed to set this as-needed from their own atomic
[all …]
/openbmc/linux/scripts/atomic/
H A Dgen-atomics.sh4 # Generate atomic headers
11 gen-atomic-instrumented.sh linux/atomic/atomic-instrumented.h
12 gen-atomic-long.sh linux/atomic/atomic-long.h
13 gen-atomic-fallback.sh linux/atomic/atomic-arch-fallback.h
H A Datomic-tbl.sh112 # gen_param_type(arg, int, atomic)
117 local atomic="$1"; shift
122 v) type="${atomic}_t *";;
123 cv) type="const ${atomic}_t *";;
129 #gen_param(arg, int, atomic)
134 local atomic="$1"; shift
136 local type="$(gen_param_type "${arg}" "${int}" "${atomic}")"
141 #gen_params(int, atomic, arg...)
145 local atomic="$1"; shift
148 gen_param "$1" "${int}" "${atomic}"
[all …]
H A Dgen-atomic-fallback.sh6 . ${ATOMICDIR}/atomic-tbl.sh
8 #gen_template_fallback(template, meta, pfx, name, sfx, order, atomic, int, args...)
17 local atomic="$1"; shift
22 local params="$(gen_params "${int}" "${atomic}" "$@")"
28 #gen_order_fallback(meta, pfx, name, sfx, order, atomic, int, args...)
42 #gen_proto_fallback(meta, pfx, name, sfx, order, atomic, int, args...)
55 #gen_proto_order_variant(meta, pfx, name, sfx, order, atomic, int, args...)
63 local atomic="$1"; shift
66 local atomicname="${atomic}_${pfx}${name}${sfx}${order}"
67 local basename="${atomic}_${pfx}${name}${sfx}"
[all …]
H A Dgen-atomic-long.sh6 . ${ATOMICDIR}/atomic-tbl.sh
8 #gen_cast(arg, int, atomic)
13 local atomic="$1"; shift
17 printf "($(gen_param_type "${arg}" "${int}" "${atomic}"))"
20 #gen_args_cast(int, atomic, arg...)
24 local atomic="$1"; shift
27 local cast="$(gen_cast "$1" "${int}" "${atomic}")"
48 local argscast_32="$(gen_args_cast "int" "atomic" "$@")"
/openbmc/linux/include/linux/atomic/
H A Datomic-instrumented.h3 // Generated by scripts/atomic/gen-atomic-instrumented.sh
7 * This file provoides atomic operations with explicit instrumentation (e.g.
20 * atomic_read() - atomic load with relaxed ordering
37 * atomic_read_acquire() - atomic load with acquire ordering
54 * atomic_set() - atomic set with relaxed ordering
72 * atomic_set_release() - atomic set with release ordering
91 * atomic_add() - atomic add with relaxed ordering
109 * atomic_add_return() - atomic add with full ordering
128 * atomic_add_return_acquire() - atomic add with acquire ordering
146 * atomic_add_return_release() - atomic add with release ordering
[all …]
H A Datomic-long.h3 // Generated by scripts/atomic/gen-atomic-long.sh
25 * raw_atomic_long_read() - atomic load with relaxed ordering
45 * raw_atomic_long_read_acquire() - atomic load with acquire ordering
65 * raw_atomic_long_set() - atomic set with relaxed ordering
86 * raw_atomic_long_set_release() - atomic set with release ordering
107 * raw_atomic_long_add() - atomic add with relaxed ordering
128 * raw_atomic_long_add_return() - atomic add with full ordering
149 * raw_atomic_long_add_return_acquire() - atomic add with acquire ordering
170 * raw_atomic_long_add_return_release() - atomic add with release ordering
191 * raw_atomic_long_add_return_relaxed() - atomic add with relaxed ordering
[all …]
H A Datomic-arch-fallback.h3 // Generated by scripts/atomic/gen-atomic-fallback.sh
432 * raw_atomic_read() - atomic load with relaxed ordering
448 * raw_atomic_read_acquire() - atomic load with acquire ordering
477 * raw_atomic_set() - atomic set with relaxed ordering
494 * raw_atomic_set_release() - atomic set with release ordering
520 * raw_atomic_add() - atomic add with relaxed ordering
537 * raw_atomic_add_return() - atomic add with full ordering
564 * raw_atomic_add_return_acquire() - atomic add with acquire ordering
591 * raw_atomic_add_return_release() - atomic add with release ordering
617 * raw_atomic_add_return_relaxed() - atomic add with relaxed ordering
[all …]
/openbmc/linux/Documentation/
H A Datomic_bitops.txt2 Atomic bitops
5 While our bitmap_{}() functions are non-atomic, we have a number of operations
6 operating on single bits in a bitmap that are atomic.
18 RMW atomic operations without return value:
23 RMW atomic operations with return value:
33 All RMW atomic operations have a '__' prefixed variant which is non-atomic.
39 Non-atomic ops:
67 Since a platform only has a single means of achieving atomic operations
H A Datomic_t.txt2 On atomic types (atomic_t atomic64_t and atomic_long_t).
4 The atomic type provides an interface to the architecture's means of atomic
5 RMW operations between CPUs (atomic operations on MMIO are not supported and
20 RMW atomic operations:
67 Therefore, an explicitly unsigned variant of the atomic ops is strictly
91 C Atomic-RMW-ops-are-atomic-WRT-atomic_set
118 The obvious case where this is not so is when we need to implement atomic ops
155 All these operations are SMP atomic; that is, the operations (for a single
156 atomic variable) can be fully ordered and no intermediate state is lost or
192 only apply to the RMW atomic ops and can be used to augment/upgrade the
[all …]
/openbmc/openbmc/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/
H A D0001-cmake-Add-check-for-atomic-support.patch4 Subject: [PATCH] cmake: Add check for atomic support
7 provide the needed atomic instrinsics, this helps build on certain
41 + set(SYSTEM_LIBS ${SYSTEM_LIBS} atomic)
52 +# Checks if atomic operations are supported natively or if linking against
64 +#include <atomic>
65 +std::atomic<int> x;
77 +#include <atomic>
79 +std::atomic<uint64_t> x (0);
80 +std::atomic<double> y (0);
93 + check_library_exists(atomic __atomic_fetch_add_4 "" HAVE_LIBATOMIC)
[all …]
/openbmc/openbmc/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/core/
H A D0013-adb-Support-riscv64.patch9 include/cutils/atomic-inline.h | 2 +
10 include/cutils/atomic-riscv64.h | 156 ++++++++++++++++++++++++++++++++
12 create mode 100644 include/cutils/atomic-riscv64.h
14 diff --git a/include/cutils/atomic-inline.h b/include/cutils/atomic-inline.h
16 --- a/include/cutils/atomic-inline.h
17 +++ b/include/cutils/atomic-inline.h
19 #include <cutils/atomic-mips64.h>
21 #include <cutils/atomic-mips.h>
23 +#include <cutils/atomic-riscv64.h>
25 #error atomic operations are unsupported
[all …]
/openbmc/openbmc/poky/meta/recipes-support/db/db/
H A D0001-atomic-Rename-local-__atomic_compare_exchange-to-avo.patch4 Subject: [PATCH] atomic: Rename local __atomic_compare_exchange to avoid clash
11 ../db-5.3.28/src/dbinc/atomic.h:179:19: error: definition of builtin function '__atomic_compare_exc…
18 src/dbinc/atomic.h | 4 ++--
21 diff --git a/src/dbinc/atomic.h b/src/dbinc/atomic.h
23 --- a/src/dbinc/atomic.h
24 +++ b/src/dbinc/atomic.h
35 * http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
/openbmc/linux/include/linux/
H A Datomic.h2 /* Atomic operations usable in machine independent code */
7 #include <asm/atomic.h>
11 * Relaxed variants of xchg, cmpxchg and some atomic operations.
80 #include <linux/atomic/atomic-arch-fallback.h>
81 #include <linux/atomic/atomic-long.h>
82 #include <linux/atomic/atomic-instrumented.h>
/openbmc/linux/drivers/gpu/drm/ci/xfails/
H A Dmsm-sdm845-fails.txt18 kms_cursor_legacy@basic-flip-after-cursor-atomic,Fail
21 kms_cursor_legacy@basic-flip-before-cursor-atomic,Fail
24 kms_cursor_legacy@cursor-vs-flip-atomic,Fail
25 kms_cursor_legacy@cursor-vs-flip-atomic-transitions,Fail
26 kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size,Fail
31 kms_cursor_legacy@flip-vs-cursor-atomic,Fail
32 kms_cursor_legacy@flip-vs-cursor-crc-atomic,Fail
35 kms_cursor_legacy@short-flip-after-cursor-atomic-transitions,Fail
36 kms_cursor_legacy@short-flip-after-cursor-atomic-transitions-varying-size,Fail
38 kms_cursor_legacy@short-flip-before-cursor-atomic-transitions,Fail
[all …]
/openbmc/linux/drivers/firmware/arm_scmi/
H A DKconfig115 bool "Enable atomic mode support for SCMI SMC transport"
118 Enable support of atomic operation for SCMI SMC based transport.
120 If you want the SCMI SMC based transport to operate in atomic
123 Enabling atomic mode operations allows any SCMI driver using this
124 transport to optionally ask for atomic SCMI transactions and operate
125 in atomic context too, at the price of using a number of busy-waiting
155 bool "Enable atomic mode for SCMI VirtIO transport"
158 Enable support of atomic operation for SCMI VirtIO based transport.
160 If you want the SCMI VirtIO based transport to operate in atomic
164 Enabling atomic mode operations allows any SCMI driver using this
[all …]
/openbmc/linux/Documentation/litmus-tests/
H A DREADME12 atomic (/atomic directory)
15 Atomic-RMW+mb__after_atomic-is-stronger-than-acquire.litmus
16 Test that an atomic RMW followed by a smp_mb__after_atomic() is
20 Atomic-RMW-ops-are-atomic-WRT-atomic_set.litmus
21 Test that atomic_set() cannot break the atomicity of atomic RMWs.
/openbmc/linux/
H A DKbuild46 # Check the manual modification of atomic headers
61 atomic-checks += $(addprefix $(obj)/.checked-, \
62 atomic-arch-fallback.h \
63 atomic-instrumented.h \
64 atomic-long.h)
66 targets += $(atomic-checks)
67 $(atomic-checks): $(obj)/.checked-%: include/linux/atomic/% FORCE
73 prepare: $(offsets-file) missing-syscalls $(atomic-checks)
/openbmc/linux/include/asm-generic/bitops/
H A Dinstrumented-non-atomic.h4 * This file provides wrappers with sanitizer instrumentation for non-atomic
21 * Unlike set_bit(), this function is non-atomic. If it is called on the same
37 * Unlike clear_bit(), this function is non-atomic. If it is called on the same
53 * Unlike change_bit(), this function is non-atomic. If it is called on the same
68 * We treat non-atomic read-write bitops a little more special. in __instrument_read_write_bitop()
72 * assume-plain-writes-atomic rule): in __instrument_read_write_bitop()
75 * races with unmarked readers -> check "atomic" write. in __instrument_read_write_bitop()
93 * This operation is non-atomic. If two instances of this operation race, one
108 * This operation is non-atomic. If two instances of this operation race, one
123 * This operation is non-atomic. If two instances of this operation race, one
/openbmc/linux/Documentation/core-api/
H A Dlocal_ops.rst5 Semantics and Behavior of Local Atomic Operations
11 This document explains the purpose of the local atomic operations, how
26 Purpose of local atomic operations
29 Local atomic operations are meant to provide fast and highly reentrant per CPU
30 counters. They minimize the performance cost of standard atomic operations by
34 Having fast per CPU atomic counters is interesting in many cases: it does not
39 Local atomic operations only guarantee variable modification atomicity wrt the
50 It can be done by slightly modifying the standard atomic operations: only
63 Rules to follow when using local atomic operations
82 "``long``", aligned, variables are always atomic. Since no memory
[all …]

12345678910>>...106