Home
last modified time | relevance | path

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

12345678910>>...18

/linux-6.12.1/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.12.1/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.12.1/net/rds/
Drdma.c876 || rm->atomic.op_active) in rds_cmsg_atomic()
884 rm->atomic.op_type = RDS_ATOMIC_TYPE_FADD; in rds_cmsg_atomic()
885 rm->atomic.op_m_fadd.add = args->fadd.add; in rds_cmsg_atomic()
886 rm->atomic.op_m_fadd.nocarry_mask = 0; in rds_cmsg_atomic()
889 rm->atomic.op_type = RDS_ATOMIC_TYPE_FADD; in rds_cmsg_atomic()
890 rm->atomic.op_m_fadd.add = args->m_fadd.add; in rds_cmsg_atomic()
891 rm->atomic.op_m_fadd.nocarry_mask = args->m_fadd.nocarry_mask; in rds_cmsg_atomic()
894 rm->atomic.op_type = RDS_ATOMIC_TYPE_CSWP; in rds_cmsg_atomic()
895 rm->atomic.op_m_cswp.compare = args->cswp.compare; in rds_cmsg_atomic()
896 rm->atomic.op_m_cswp.swap = args->cswp.swap; in rds_cmsg_atomic()
[all …]
/linux-6.12.1/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.12.1/
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.12.1/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);
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
363 fake_event(emu, port, voice, MIDI_CTL_ALL_NOTES_OFF, 0, atomic, hop); in emuspec_control()
[all …]
/linux-6.12.1/drivers/firmware/arm_scmi/transports/
DKconfig52 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-6.12.1/drivers/gpu/drm/ci/xfails/
Dmsm-sdm845-fails.txt14 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
Dmsm-sc7180-trogdor-lazor-limozeen-fails.txt14 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
Dmsm-sc7180-trogdor-kingoftown-fails.txt14 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
Dvkms-none-fails.txt14 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
Dmeson-g12b-fails.txt10 kms_properties@connector-properties-atomic,Fail
12 kms_properties@get_properties-sanity-atomic,Fail
13 kms_properties@get_properties-sanity-non-atomic,Fail
/linux-6.12.1/include/linux/
Dspinlock.h500 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))
513 extern int _atomic_dec_and_raw_lock_irqsave(atomic_t *atomic, raw_spinlock_t *lock,
[all …]
/linux-6.12.1/sound/core/seq/
Dseq_queue.c230 void snd_seq_check_queue(struct snd_seq_queue *q, int atomic, int hop) in snd_seq_check_queue() argument
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()
286 int snd_seq_enqueue_event(struct snd_seq_event_cell *cell, int atomic, int hop) in snd_seq_enqueue_event() argument
330 snd_seq_check_queue(q, atomic, hop); in snd_seq_enqueue_event()
609 int atomic, int hop) in queue_broadcast_event() argument
624 snd_seq_kernel_client_dispatch(SNDRV_SEQ_CLIENT_SYSTEM, &sev, atomic, hop); in queue_broadcast_event()
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()
[all …]
/linux-6.12.1/drivers/gpu/drm/xe/
Dxe_pcode.c59 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-6.12.1/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.12.1/drivers/firmware/qcom/
Dqcom_scm-smc.c121 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-6.12.1/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.12.1/drivers/i2c/busses/
Di2c-imx.c479 static int i2c_imx_bus_busy(struct imx_i2c_struct *i2c_imx, int for_busy, bool atomic) in i2c_imx_bus_busy() argument
506 if (atomic) in i2c_imx_bus_busy()
515 static int i2c_imx_trx_complete(struct imx_i2c_struct *i2c_imx, bool atomic) in i2c_imx_trx_complete() argument
517 if (atomic) { in i2c_imx_trx_complete()
631 static int i2c_imx_start(struct imx_i2c_struct *i2c_imx, bool atomic) in i2c_imx_start() argument
642 if (atomic) in i2c_imx_start()
651 result = i2c_imx_bus_busy(i2c_imx, 1, atomic); in i2c_imx_start()
656 if (atomic) in i2c_imx_start()
664 static void i2c_imx_stop(struct imx_i2c_struct *i2c_imx, bool atomic) in i2c_imx_stop() argument
687 i2c_imx_bus_busy(i2c_imx, 0, atomic); in i2c_imx_stop()
[all …]

12345678910>>...18