Home
last modified time | relevance | path

Searched refs:atomic (Results 1 – 25 of 386) sorted by relevance

12345678910>>...16

/linux-6.6.21/lib/
Ddec_and_lock.c21 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
56 if (atomic_add_unless(atomic, -1, 1)) in _atomic_dec_and_raw_lock()
61 if (atomic_dec_and_test(atomic)) in _atomic_dec_and_raw_lock()
68 int _atomic_dec_and_raw_lock_irqsave(atomic_t *atomic, raw_spinlock_t *lock, in _atomic_dec_and_raw_lock_irqsave() argument
[all …]
Datomic64_test.c22 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), \
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); \
58 BUG_ON(atomic##bit##_##op(val, &v) != v0); \
59 BUG_ON(atomic##bit##_read(&v) != r); \
[all …]
/linux-6.6.21/scripts/atomic/
Dgen-atomics.sh11 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
Datomic-tbl.sh117 local atomic="$1"; shift
122 v) type="${atomic}_t *";;
123 cv) type="const ${atomic}_t *";;
134 local atomic="$1"; shift
136 local type="$(gen_param_type "${arg}" "${int}" "${atomic}")"
145 local atomic="$1"; shift
148 gen_param "$1" "${int}" "${atomic}"
195 local atomic="$1"; shift
198 local atomicname="${atomic}_${pfx}${name}${sfx}${order}"
202 local params="$(gen_params "${int}" "${atomic}" "$@")"
[all …]
Dgen-atomic-long.sh6 . ${ATOMICDIR}/atomic-tbl.sh
13 local atomic="$1"; shift
17 printf "($(gen_param_type "${arg}" "${int}" "${atomic}"))"
24 local atomic="$1"; shift
27 local cast="$(gen_cast "$1" "${int}" "${atomic}")"
48 local argscast_32="$(gen_args_cast "int" "atomic" "$@")"
Dgen-atomic-fallback.sh6 . ${ATOMICDIR}/atomic-tbl.sh
17 local atomic="$1"; shift
22 local params="$(gen_params "${int}" "${atomic}" "$@")"
63 local atomic="$1"; shift
66 local atomicname="${atomic}_${pfx}${name}${sfx}${order}"
67 local basename="${atomic}_${pfx}${name}${sfx}"
73 local params="$(gen_params "${int}" "${atomic}" "$@")"
76 gen_kerneldoc "raw_" "${meta}" "${pfx}" "${name}" "${sfx}" "${order}" "${atomic}" "${int}" "$@"
101 gen_order_fallback "${meta}" "${pfx}" "${name}" "${sfx}" "${order}" "${atomic}" "${int}" "$@"
112 gen_proto_fallback "${meta}" "${pfx}" "${name}" "${sfx}" "${order}" "${atomic}" "${int}" "$@"
[all …]
Dgen-atomic-instrumented.sh6 . ${ATOMICDIR}/atomic-tbl.sh
60 local atomic="$1"; shift
63 local atomicname="${atomic}_${pfx}${name}${sfx}${order}"
66 local params="$(gen_params "${int}" "${atomic}" "$@")"
71 gen_kerneldoc "" "${meta}" "${pfx}" "${name}" "${sfx}" "${order}" "${atomic}" "${int}" "$@"
138 * This file provoides atomic operations with explicit instrumentation (e.g.
/linux-6.6.21/net/rds/
Drdma.c873 || rm->atomic.op_active) in rds_cmsg_atomic()
881 rm->atomic.op_type = RDS_ATOMIC_TYPE_FADD; in rds_cmsg_atomic()
882 rm->atomic.op_m_fadd.add = args->fadd.add; in rds_cmsg_atomic()
883 rm->atomic.op_m_fadd.nocarry_mask = 0; in rds_cmsg_atomic()
886 rm->atomic.op_type = RDS_ATOMIC_TYPE_FADD; in rds_cmsg_atomic()
887 rm->atomic.op_m_fadd.add = args->m_fadd.add; in rds_cmsg_atomic()
888 rm->atomic.op_m_fadd.nocarry_mask = args->m_fadd.nocarry_mask; in rds_cmsg_atomic()
891 rm->atomic.op_type = RDS_ATOMIC_TYPE_CSWP; in rds_cmsg_atomic()
892 rm->atomic.op_m_cswp.compare = args->cswp.compare; in rds_cmsg_atomic()
893 rm->atomic.op_m_cswp.swap = args->cswp.swap; in rds_cmsg_atomic()
[all …]
/linux-6.6.21/Documentation/
Datomic_bitops.txt5 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
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 …]
/linux-6.6.21/
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)
/linux-6.6.21/drivers/gpu/drm/ci/xfails/
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 …]
Drockchip-rk3288-flakes.txt6 kms_properties@connector-properties-atomic,Crash
7 kms_properties@get_properties-sanity-atomic,Crash
8 kms_properties@get_properties-sanity-non-atomic,Crash
Dmeson-g12b-fails.txt2 kms_properties@connector-properties-atomic,Fail
3 kms_properties@get_properties-sanity-atomic,Fail
4 kms_properties@get_properties-sanity-non-atomic,Fail
Dmediatek-mt8183-flakes.txt5 kms_cursor_legacy@cursor-vs-flip-atomic
12 kms_properties@get_properties-sanity-atomic
13 kms_properties@plane-properties-atomic
/linux-6.6.21/include/linux/
Dspinlock.h471 extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock);
472 #define atomic_dec_and_lock(atomic, lock) \ argument
473 __cond_lock(lock, _atomic_dec_and_lock(atomic, lock))
475 extern int _atomic_dec_and_lock_irqsave(atomic_t *atomic, spinlock_t *lock,
477 #define atomic_dec_and_lock_irqsave(atomic, lock, flags) \ argument
478 __cond_lock(lock, _atomic_dec_and_lock_irqsave(atomic, lock, &(flags)))
480 extern int _atomic_dec_and_raw_lock(atomic_t *atomic, raw_spinlock_t *lock);
481 #define atomic_dec_and_raw_lock(atomic, lock) \ argument
482 __cond_lock(lock, _atomic_dec_and_raw_lock(atomic, lock))
484 extern int _atomic_dec_and_raw_lock_irqsave(atomic_t *atomic, raw_spinlock_t *lock,
[all …]
/linux-6.6.21/sound/synth/emux/
Demux_oss.c27 void *private, int atomic, int hop);
30 int cmd, unsigned char *event, int atomic, int hop);
32 int cmd, unsigned char *event, int atomic, int hop);
34 int ch, int param, int val, int atomic, int hop);
288 int atomic, int hop) in snd_emux_event_oss_input() argument
301 return snd_emux_event_input(ev, direct, private_data, atomic, hop); in snd_emux_event_oss_input()
309 emuspec_control(emu, p, cmd, data, atomic, hop); in snd_emux_event_oss_input()
311 gusspec_control(emu, p, cmd, data, atomic, hop); in snd_emux_event_oss_input()
321 unsigned char *event, int atomic, int hop) in emuspec_control() argument
361 fake_event(emu, port, voice, MIDI_CTL_ALL_NOTES_OFF, 0, atomic, hop); in emuspec_control()
[all …]
/linux-6.6.21/sound/core/seq/
Dseq_queue.c240 void snd_seq_check_queue(struct snd_seq_queue *q, int atomic, int hop) in snd_seq_check_queue() argument
268 snd_seq_dispatch_event(cell, atomic, hop); in snd_seq_check_queue()
279 snd_seq_dispatch_event(cell, atomic, hop); in snd_seq_check_queue()
300 int snd_seq_enqueue_event(struct snd_seq_event_cell *cell, int atomic, int hop) in snd_seq_enqueue_event() argument
344 snd_seq_check_queue(q, atomic, hop); in snd_seq_enqueue_event()
630 int atomic, int hop) in queue_broadcast_event() argument
645 snd_seq_kernel_client_dispatch(SNDRV_SEQ_CLIENT_SYSTEM, &sev, atomic, hop); in queue_broadcast_event()
654 int atomic, int hop) in snd_seq_queue_process_event() argument
661 queue_broadcast_event(q, ev, atomic, hop); in snd_seq_queue_process_event()
666 queue_broadcast_event(q, ev, atomic, hop); in snd_seq_queue_process_event()
[all …]
Dseq_ump_convert.c365 int atomic, int hop) in cvt_ump_midi1_to_midi2() argument
409 atomic, hop); in cvt_ump_midi1_to_midi2()
416 int atomic, int hop) in cvt_ump_midi2_to_midi1() argument
462 atomic, hop); in cvt_ump_midi2_to_midi1()
470 int atomic, int hop) in cvt_ump_to_any() argument
504 &ev_cvt[i], atomic, hop); in cvt_ump_to_any()
516 int atomic, int hop) in deliver_with_group_convert() argument
527 atomic, hop); in deliver_with_group_convert()
548 int atomic, int hop) in snd_seq_deliver_from_ump() argument
563 event, atomic, hop); in snd_seq_deliver_from_ump()
[all …]
/linux-6.6.21/Documentation/litmus-tests/
DREADME12 atomic (/atomic directory)
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.
/linux-6.6.21/Documentation/driver-api/
Dbasics.rst96 .. kernel-doc:: include/linux/atomic/atomic-instrumented.h
99 .. kernel-doc:: include/linux/atomic/atomic-arch-fallback.h
102 .. kernel-doc:: include/linux/atomic/atomic-long.h
/linux-6.6.21/drivers/firmware/
Dqcom_scm-smc.c119 struct arm_smccc_res *res, bool atomic) in __scm_smc_do() argument
123 if (atomic) { in __scm_smc_do()
151 struct qcom_scm_res *res, bool atomic) in __scm_smc_call() argument
158 gfp_t flag = atomic ? GFP_ATOMIC : GFP_KERNEL; in __scm_smc_call()
159 u32 smccc_call_type = atomic ? ARM_SMCCC_FAST_CALL : ARM_SMCCC_STD_CALL; in __scm_smc_call()
207 ret = __scm_smc_do(dev, &smc, &smc_res, atomic); in __scm_smc_call()
/linux-6.6.21/arch/mips/include/asm/
Datomic.h37 ATOMIC_OPS(atomic, int)
144 ATOMIC_OPS(atomic, add, int, +=, addu, ll, sc)
145 ATOMIC_OPS(atomic, sub, int, -=, subu, ll, sc)
166 ATOMIC_OPS(atomic, and, int, &=, and, ll, sc)
167 ATOMIC_OPS(atomic, or, int, |=, or, ll, sc)
168 ATOMIC_OPS(atomic, xor, int, ^=, xor, ll, sc)
248 ATOMIC_SIP_OP(atomic, int, subu, ll, sc)
/linux-6.6.21/arch/arm64/include/asm/
Drwonce.h39 int atomic = 1; \
63 atomic = 0; \
65 atomic ? (typeof(*__x))__u.__val : (*(volatile typeof(__x))__x);\
/linux-6.6.21/drivers/i2c/busses/
Di2c-imx.c483 static int i2c_imx_bus_busy(struct imx_i2c_struct *i2c_imx, int for_busy, bool atomic) in i2c_imx_bus_busy() argument
510 if (atomic) in i2c_imx_bus_busy()
519 static int i2c_imx_trx_complete(struct imx_i2c_struct *i2c_imx, bool atomic) in i2c_imx_trx_complete() argument
521 if (atomic) { in i2c_imx_trx_complete()
635 static int i2c_imx_start(struct imx_i2c_struct *i2c_imx, bool atomic) in i2c_imx_start() argument
646 if (atomic) in i2c_imx_start()
655 result = i2c_imx_bus_busy(i2c_imx, 1, atomic); in i2c_imx_start()
660 if (atomic) in i2c_imx_start()
668 static void i2c_imx_stop(struct imx_i2c_struct *i2c_imx, bool atomic) in i2c_imx_stop() argument
691 i2c_imx_bus_busy(i2c_imx, 0, atomic); in i2c_imx_stop()
[all …]

12345678910>>...16