/linux-6.6.21/lib/ |
D | dec_and_lock.c | 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 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 …]
|
D | atomic64_test.c | 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), \ 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/ |
D | gen-atomics.sh | 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
|
D | atomic-tbl.sh | 117 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 …]
|
D | gen-atomic-long.sh | 6 . ${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" "$@")"
|
D | gen-atomic-fallback.sh | 6 . ${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 …]
|
D | gen-atomic-instrumented.sh | 6 . ${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/ |
D | rdma.c | 873 || 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/ |
D | atomic_bitops.txt | 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
|
D | atomic_t.txt | 2 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/ |
D | Kbuild | 46 # 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/ |
D | msm-sdm845-fails.txt | 18 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 …]
|
D | rockchip-rk3288-flakes.txt | 6 kms_properties@connector-properties-atomic,Crash 7 kms_properties@get_properties-sanity-atomic,Crash 8 kms_properties@get_properties-sanity-non-atomic,Crash
|
D | meson-g12b-fails.txt | 2 kms_properties@connector-properties-atomic,Fail 3 kms_properties@get_properties-sanity-atomic,Fail 4 kms_properties@get_properties-sanity-non-atomic,Fail
|
D | mediatek-mt8183-flakes.txt | 5 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/ |
D | spinlock.h | 471 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/ |
D | emux_oss.c | 27 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/ |
D | seq_queue.c | 240 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 …]
|
D | seq_ump_convert.c | 365 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/ |
D | README | 12 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/ |
D | basics.rst | 96 .. 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/ |
D | qcom_scm-smc.c | 119 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/ |
D | atomic.h | 37 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/ |
D | rwonce.h | 39 int atomic = 1; \ 63 atomic = 0; \ 65 atomic ? (typeof(*__x))__u.__val : (*(volatile typeof(__x))__x);\
|
/linux-6.6.21/drivers/i2c/busses/ |
D | i2c-imx.c | 483 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 …]
|