| /linux/lib/ |
| A 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() 72 if (atomic_add_unless(atomic, -1, 1)) in _atomic_dec_and_raw_lock_irqsave() [all …]
|
| A D | atomic64_test.c | 22 atomic##bit##_set(&v, v0); \ 24 atomic##bit##_##op(val, &v); \ 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); \ 74 atomic##bit##_set(&v, init); \ [all …]
|
| /linux/scripts/atomic/ |
| A 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
|
| A 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 …]
|
| A 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" "$@")"
|
| A 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 …]
|
| A 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/net/rds/ |
| A D | rdma.c | 876 || rm->atomic.op_active) in rds_cmsg_atomic() 886 rm->atomic.op_m_fadd.nocarry_mask = 0; in rds_cmsg_atomic() 898 rm->atomic.op_m_cswp.swap_mask = ~0; in rds_cmsg_atomic() 913 rm->atomic.op_active = 1; in rds_cmsg_atomic() 916 if (IS_ERR(rm->atomic.op_sg)) { in rds_cmsg_atomic() 917 ret = PTR_ERR(rm->atomic.op_sg); in rds_cmsg_atomic() 934 if (rm->atomic.op_notify || rm->atomic.op_recverr) { in rds_cmsg_atomic() 940 rm->atomic.op_notifier = kmalloc(sizeof(*rm->atomic.op_notifier), GFP_KERNEL); in rds_cmsg_atomic() 941 if (!rm->atomic.op_notifier) { in rds_cmsg_atomic() 957 rm->atomic.op_active = 0; in rds_cmsg_atomic() [all …]
|
| /linux/Documentation/ |
| A 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
|
| A 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 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 205 NOTE: when the atomic RmW ops are fully ordered, they should also imply a [all …]
|
| /linux/ |
| A 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/drivers/firmware/arm_scmi/transports/ |
| A D | Kconfig | 52 bool "Enable atomic mode support for SCMI SMC transport" 55 Enable support of atomic operation for SCMI SMC based transport. 57 If you want the SCMI SMC based transport to operate in atomic 60 Enabling atomic mode operations allows any SCMI driver using this 61 transport to optionally ask for atomic SCMI transactions and operate 62 in atomic context too, at the price of using a number of busy-waiting 109 bool "Enable atomic mode for SCMI VirtIO transport" 112 Enable support of atomic operation for SCMI VirtIO based transport. 114 If you want the SCMI VirtIO based transport to operate in atomic 118 Enabling atomic mode operations allows any SCMI driver using this [all …]
|
| /linux/sound/synth/emux/ |
| A 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); 290 int atomic, int hop) in snd_emux_event_oss_input() argument 303 return snd_emux_event_input(ev, direct, private_data, atomic, hop); in snd_emux_event_oss_input() 311 emuspec_control(emu, p, cmd, data, atomic, hop); in snd_emux_event_oss_input() 313 gusspec_control(emu, p, cmd, data, atomic, hop); in snd_emux_event_oss_input() 323 unsigned char *event, int atomic, int hop) in emuspec_control() argument 418 unsigned char *event, int atomic, int hop) in gusspec_control() argument [all …]
|
| /linux/drivers/gpu/drm/ci/xfails/ |
| A D | msm-sdm845-fails.txt | 14 kms_cursor_legacy@basic-flip-before-cursor-atomic,Fail 16 kms_cursor_legacy@cursor-vs-flip-atomic,Fail 17 kms_cursor_legacy@cursor-vs-flip-atomic-transitions,Fail 18 kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size,Fail 22 kms_cursor_legacy@flip-vs-cursor-atomic,Fail 23 kms_cursor_legacy@flip-vs-cursor-crc-atomic,Fail
|
| A D | msm-sc7180-trogdor-kingoftown-fails.txt | 14 kms_content_protection@atomic,Crash 15 kms_content_protection@atomic-dpms,Crash 22 kms_cursor_legacy@2x-cursor-vs-flip-atomic,Fail 24 kms_cursor_legacy@2x-flip-vs-cursor-atomic,Fail 26 kms_cursor_legacy@2x-long-cursor-vs-flip-atomic,Fail 28 kms_cursor_legacy@2x-long-flip-vs-cursor-atomic,Fail
|
| A D | msm-sc7180-trogdor-lazor-limozeen-fails.txt | 14 kms_content_protection@atomic,Crash 15 kms_content_protection@atomic-dpms,Crash 22 kms_cursor_legacy@2x-cursor-vs-flip-atomic,Fail 24 kms_cursor_legacy@2x-flip-vs-cursor-atomic,Fail 26 kms_cursor_legacy@2x-long-cursor-vs-flip-atomic,Fail 28 kms_cursor_legacy@2x-long-flip-vs-cursor-atomic,Fail
|
| A D | vkms-none-fails.txt | 14 kms_content_protection@atomic,Crash 15 kms_content_protection@atomic-dpms,Crash 32 kms_cursor_legacy@basic-flip-before-cursor-atomic,Fail 34 kms_cursor_legacy@cursor-vs-flip-atomic,Fail 38 kms_cursor_legacy@flip-vs-cursor-atomic,Fail 39 kms_cursor_legacy@flip-vs-cursor-crc-atomic,Fail
|
| A D | meson-g12b-fails.txt | 10 kms_properties@connector-properties-atomic,Fail 12 kms_properties@get_properties-sanity-atomic,Fail 13 kms_properties@get_properties-sanity-non-atomic,Fail
|
| /linux/include/linux/ |
| A D | spinlock.h | 500 extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock); 501 #define atomic_dec_and_lock(atomic, lock) \ argument 502 __cond_lock(lock, _atomic_dec_and_lock(atomic, lock)) 504 extern int _atomic_dec_and_lock_irqsave(atomic_t *atomic, spinlock_t *lock, 506 #define atomic_dec_and_lock_irqsave(atomic, lock, flags) \ argument 507 __cond_lock(lock, _atomic_dec_and_lock_irqsave(atomic, lock, &(flags))) 509 extern int _atomic_dec_and_raw_lock(atomic_t *atomic, raw_spinlock_t *lock); 510 #define atomic_dec_and_raw_lock(atomic, lock) \ argument 511 __cond_lock(lock, _atomic_dec_and_raw_lock(atomic, lock)) 515 #define atomic_dec_and_raw_lock_irqsave(atomic, lock, flags) \ argument [all …]
|
| /linux/sound/core/seq/ |
| A D | seq_queue.c | 256 snd_seq_dispatch_event(cell, atomic, hop); in snd_seq_check_queue() 267 snd_seq_dispatch_event(cell, atomic, hop); in snd_seq_check_queue() 330 snd_seq_check_queue(q, atomic, hop); in snd_seq_enqueue_event() 609 int atomic, int hop) in queue_broadcast_event() argument 633 int atomic, int hop) in snd_seq_queue_process_event() argument 640 queue_broadcast_event(q, ev, atomic, hop); in snd_seq_queue_process_event() 645 queue_broadcast_event(q, ev, atomic, hop); in snd_seq_queue_process_event() 650 queue_broadcast_event(q, ev, atomic, hop); in snd_seq_queue_process_event() 655 queue_broadcast_event(q, ev, atomic, hop); in snd_seq_queue_process_event() 660 queue_broadcast_event(q, ev, atomic, hop); in snd_seq_queue_process_event() [all …]
|
| /linux/drivers/gpu/drm/xe/ |
| A D | xe_pcode.c | 59 bool atomic) in __pcode_mailbox_rw() argument 75 timeout_ms * USEC_PER_MSEC, NULL, atomic); in __pcode_mailbox_rw() 90 bool atomic) in pcode_mailbox_rw() argument 97 return __pcode_mailbox_rw(tile, mbox, data0, data1, timeout_ms, return_data, atomic); in pcode_mailbox_rw() 124 u32 *status, bool atomic, int timeout_us, bool locked) in pcode_try_request() argument 133 atomic); in pcode_try_request() 136 atomic); in pcode_try_request() 140 if (atomic) in pcode_try_request()
|
| /linux/Documentation/driver-api/ |
| A 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/drivers/firmware/qcom/ |
| A D | qcom_scm-smc.c | 121 struct arm_smccc_res *res, bool atomic) in __scm_smc_do() argument 125 if (atomic) { in __scm_smc_do() 153 struct qcom_scm_res *res, bool atomic) in __scm_smc_call() argument 159 gfp_t flag = atomic ? GFP_ATOMIC : GFP_KERNEL; in __scm_smc_call() 160 u32 smccc_call_type = atomic ? ARM_SMCCC_FAST_CALL : ARM_SMCCC_STD_CALL; in __scm_smc_call() 199 ret = __scm_smc_do(dev, &smc, &smc_res, atomic); in __scm_smc_call()
|
| /linux/arch/mips/include/asm/ |
| A 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/arch/arm64/include/asm/ |
| A D | rwonce.h | 39 int atomic = 1; \ 63 atomic = 0; \ 65 atomic ? (typeof(*__x))__u.__val : (*(volatile typeof(__x))__x);\
|