Home
last modified time | relevance | path

Searched +full:wait +full:- +full:retry +full:- +full:us (Results 1 – 25 of 433) sorted by relevance

12345678910>>...18

/linux/Documentation/devicetree/bindings/i2c/
H A Di2c-arb-gpio-challenge.yaml1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
3 ---
4 $id: http://devicetree.org/schemas/i2c/i2c-arb-gpio-challenge.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: GPIO-based I2C Arbitration Using a Challenge & Response Mechanism
10 - Doug Anderson <dianders@chromium.org>
11 - Peter Rosin <peda@axentia.se>
18 standard I2C multi-master rules. Using GPIOs is generally useful in the case
30 others can see. These are all active low with pull-ups enabled. We'll
32 * OUR_CLAIM: output from us signaling to other hosts that we want the bus
[all …]
/linux/drivers/mtd/chips/
H A Dcfi_cmdset_0020.c1 // SPDX-License-Identifier: GPL-2.0
9 * - completely revamped method functions so they are aware and
11 * - scalability vs code size is completely set at compile-time
13 * - optimized write buffer method
14 * 06/21/2002 Joern Engel <joern@wh.fh-wedel.de> and others
15 * - modified Intel Command Set 0x0001 to support ST Advanced Architecture
17 * - added a writev function
18 * 07/13/2005 Joern Engel <joern@wh.fh-wedel.de>
19 * - Plugged memory leak in cfi_staa_writev().
69 printk(" Feature/Command Support: %4.4X\n", extp->FeatureSupport); in cfi_tell_features()
[all …]
/linux/io_uring/
H A Dwaitid.c1 // SPDX-License-Identifier: GPL-2.0
37 struct io_waitid_async *iwa = req->async_data; in io_waitid_free()
39 put_pid(iwa->wo.wo_pid); in io_waitid_free()
48 infop = (struct compat_siginfo __user *) iw->infop; in io_waitid_compat_copy_si()
53 unsafe_put_user(signo, &infop->si_signo, Efault); in io_waitid_compat_copy_si()
54 unsafe_put_user(0, &infop->si_errno, Efault); in io_waitid_compat_copy_si()
55 unsafe_put_user(iw->info.cause, &infop->si_cod in io_waitid_compat_copy_si()
221 io_waitid_wait(struct wait_queue_entry * wait,unsigned mode,int sync,void * key) io_waitid_wait() argument
[all...]
H A Dpoll.c1 // SPDX-License-Identifier: GPL-2.0
49 * We usually have 1-2 refs taken, 128 is more than enough and we want to
56 static int io_poll_wake(struct wait_queue_entry *wait, unsigned mode, int sync,
61 unsigned long priv = (unsigned long)wqe->private; in wqe_to_req()
68 unsigned long priv = (unsigned long)wqe->private; in wqe_is_double()
79 * grabbing the ownership. Instead of incrementing set a retry flag in io_poll_get_ownership_slowpath()
82 v = atomic_fetch_or(IO_POLL_RETRY_FLAG, &req->poll_refs); in io_poll_get_ownership_slowpath()
85 return !(atomic_fetch_inc(&req->poll_ref in io_poll_get_ownership_slowpath()
392 io_poll_wake(struct wait_queue_entry * wait,unsigned mode,int sync,void * key) io_poll_wake() argument
[all...]
/linux/arch/mips/kernel/
H A Dsync-r4k.c1 // SPDX-License-Identifier: GPL-2.0
17 #include <asm/r4k-timer.h>
35 * we want to have the fastest, inlined, non-debug version
36 * of a critical section, to be able to prove counter time-warps:
82 * we saw a time-warp of the counter going backwards: in check_counter_warp()
86 max_warp = max(max_warp, prev - now); in check_counter_warp()
99 WARN(!(now-start), in check_counter_warp()
101 now-start, end-start); in check_counter_warp()
114 retry: in check_counter_sync_source()
115 /* Wait for the target to start. */ in check_counter_sync_source()
[all …]
/linux/Documentation/locking/
H A Dww-mutex-design.rst2 Wound/Wait Deadlock-Proof Mutex Design
5 Please read mutex-design.rst first, as it applies to wait/wound mutexes too.
7 Motivation for WW-Mutexes
8 -------------------------
14 a handful of situations where the driver needs to wait for buffers to
37 and the deadlock handling approach is called Wait-Die. The name is based on
41 and dies. Hence Wait-Die.
42 There is also another algorithm called Wound-Wait:
46 transaction. Hence Wound-Wait.
48 However, the Wound-Wait algorithm is typically stated to generate fewer backoffs
[all …]
/linux/kernel/bpf/
H A Drqspinlock.c1 // SPDX-License-Identifier: GPL-2.0-or-later
5 * (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.
6 * (C) Copyright 2013-2014,2018 Red Hat, Inc.
8 * (C) Copyright 2015 Hewlett-Packard Enterprise Development LP
9 * (C) Copyright 2024-2025 Meta Platforms, Inc. and affiliates.
44 * The basic principle of a queue-based spinlock can best be understood
45 * by studying a classic queue-based spinlock implementation called the
47 * Synchronization on Shared-Memory Multiprocessors by Mellor-Crummey and
58 * unlock the next pending (next->locked), we compress both these: {tail,
59 * next->locked} into a single u32 value.
[all …]
/linux/drivers/infiniband/hw/hfi1/
H A Dfirmware.c1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
3 * Copyright(c) 2015 - 2017 Intel Corporation.
103 #define AUGMENT_SIZE (sizeof(struct augmented_firmware_file) - \
161 /* 8051 memory access timeout, in us */
162 #define DC8051_ACCESS_TIMEOUT 100 /* us */
217 * Read a single 64-bit value from 8051 data memory.
224 * ignored - i.e. the hardware will always do aligned 8-byte reads as if
227 * Return 0 on success, -ENXIO on a read error (timeout).
242 /* wait until ACCESS_COMPLETED is set */ in __read_8051_data()
250 return -ENXIO; in __read_8051_data()
[all …]
/linux/kernel/futex/
H A Dwaitwake.c1 // SPDX-License-Identifier: GPL-2.0-or-later
36 * sys_futex(WAIT, futex, val);
50 * This would cause the waiter on CPU 0 to wait forever because it
60 * sys_futex(WAIT, futex, val);
64 * smp_mb(); (A) <-- paire
416 bool retry = false; futex_wait_multiple_setup() local
[all...]
H A Dpi.c1 // SPDX-License-Identifier: GPL-2.0-or-later
17 if (likely(current->pi_state_cache)) in refill_pi_state_cache()
23 return -ENOMEM; in refill_pi_state_cache()
25 INIT_LIST_HEAD(&pi_state->list); in refill_pi_state_cache()
27 pi_state->owner = NULL; in refill_pi_state_cache()
28 refcount_set(&pi_state->refcoun in refill_pi_state_cache()
[all...]
H A Drequeue.c1 // SPDX-License-Identifier: GPL-2.0-or-later
26 * Q_REQUEUE_PI_NONE -> Q_REQUEUE_PI_IGNORE
27 * Q_REQUEUE_PI_IN_PROGRESS -> Q_REQUEUE_PI_WAIT
30 * Q_REQUEUE_PI_NONE -> Q_REQUEUE_PI_INPROGRESS
31 * Q_REQUEUE_PI_IN_PROGRESS -> Q_REQUEUE_PI_DONE/LOCKED
32 * Q_REQUEUE_PI_IN_PROGRESS -> Q_REQUEUE_PI_NONE (requeue failed)
33 * Q_REQUEUE_PI_WAIT -> Q_REQUEUE_PI_DONE/LOCKED
34 * Q_REQUEUE_PI_WAIT -> Q_REQUEUE_PI_IGNORE (requeue failed)
38 * the waiter is still on the 'wait' futex, i.e. uaddr1.
43 * proceed to take the hash bucket lock of uaddr1. If it set state to WAIT,
[all …]
/linux/sound/soc/au1x/
H A Dac97c.c1 // SPDX-License-Identifier: GPL-2.0-only
8 * Charles Eidsness <charles@cooper-street.com>
23 #include <asm/mach-au1x00/au1000.h>
57 /* how often to retry failed codec register reads/writes */
74 return __raw_readl(ctx->mmio + reg); in RD()
79 __raw_writel(v, ctx->mmio + reg); in WR()
87 unsigned int tmo, retry; in au1xac97c_ac97_read() local
91 retry = AC97_RW_RETRIES; in au1xac97c_ac97_read()
93 mutex_lock(&ctx->lock); in au1xac97c_ac97_read()
96 while ((RD(ctx, AC97_STATUS) & STAT_CP) && --tmo) in au1xac97c_ac97_read()
[all …]
/linux/drivers/parport/
H A Dieee1284_ops.c1 // SPDX-License-Identifier: GPL-2.0
2 /* IEEE-1284 operations for parport.
5 * they are used by the low-level drivers. If they have a special way
7 * the function pointers in port->ops); if not, they can just use these
31 * One-way data transfer functions. *
43 struct pardevice *dev = port->physport->cad; in parport_ieee1284_write_compat()
47 if (port->irq != PARPORT_IRQ_NONE) { in parport_ieee1284_write_compat()
52 port->physport->ieee1284.phase = IEEE1284_PH_FWD_DATA; in parport_ieee1284_write_compat()
56 unsigned long expire = jiffies + dev->timeout; in parport_ieee1284_write_compat()
57 long wait = msecs_to_jiffies(10); in parport_ieee1284_write_compat() local
[all …]
/linux/arch/arm/boot/dts/samsung/
H A Dexynos5250-snow-common.dtsi1 // SPDX-License-Identifier: GPL-2.0
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/clock/maxim,max77686.h>
10 #include <dt-bindings/interrupt-controller/irq.h>
11 #include <dt-bindings/input/input.h>
12 #include <dt-bindings/sound/samsung-i2s.h>
30 stdout-path = "serial3:115200n8";
33 gpio-keys {
34 compatible = "gpio-keys";
35 pinctrl-names = "default";
[all …]
/linux/mm/
H A Dmmap_lock.c1 // SPDX-License-Identifier: GPL-2.0
60 if (!refcount_add_not_zero(VMA_LOCK_OFFSET, &vma->vm_refcnt)) in __vma_enter_locked()
63 rwsem_acquire(&vma->vmlock_dep_map, 0, 0, _RET_IP_); in __vma_enter_locked()
64 rcuwait_wait_event(&vma->vm_mm->vma_writer_wait, in __vma_enter_locked()
65 refcount_read(&vma->vm_refcnt) == tgt_refcnt, in __vma_enter_locked()
67 lock_acquired(&vma->vmlock_dep_map, _RET_IP_); in __vma_enter_locked()
74 *detached = refcount_sub_and_test(VMA_LOCK_OFFSET, &vma->vm_refcnt); in __vma_exit_locked()
75 rwsem_release(&vma->vmlock_dep_map, _RET_IP_); in __vma_exit_locked()
95 WRITE_ONCE(vma->vm_lock_seq, mm_lock_seq); in __vma_start_write()
114 * write-locked and readers can increment vm_refcnt only temporarily in vma_mark_detached()
[all …]
H A Dfilemap.c1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 1994-1999 Linus Torvalds
30 #include <linux/error-injection.h>
33 #include <linux/backing-dev.h>
73 * finished 'unifying' the page and buffer cache and SMP-threaded the
74 * page-cache, 21.05.1999, Ingo Molnar <mingo@redhat.com>
76 * SMP-threaded pagemap-LRU 1999, Andrea Arcangeli <andrea@suse.de>
82 * ->i_mmap_rwsem (truncate_pagecache)
83 * ->private_lock (__free_pte->block_dirty_folio)
84 * ->swap_lock (exclusive_swap_page, others)
[all …]
H A Duserfaultfd.c1 // SPDX-License-Identifier: GPL-2.0-only
27 if (dst_end > dst_vma->vm_end) in validate_dst_vma()
35 if (!dst_vma->vm_userfaultfd_ctx.ctx) in validate_dst_vma()
50 vma = ERR_PTR(-ENOENT); in find_vma_and_prepare_anon()
51 else if (!(vma->vm_flags & VM_SHARED) && in find_vma_and_prepare_anon()
53 vma = ERR_PTR(-ENOMEM); in find_vma_and_prepare_anon()
60 * uffd_lock_vma() - Lookup and lock vma corresponding to @address.
66 * Return: A locked vma containing @address, -ENOENT if no vma is found, or
67 * -ENOMEM if anon_vma couldn't be allocated.
80 if (!(vma->vm_flags & VM_SHARED) && unlikely(!vma->anon_vma)) in uffd_lock_vma()
[all …]
/linux/drivers/usb/typec/tcpm/
H A Dtcpci_rt1711h.c1 // SPDX-License-Identifier: GPL-2.0+
5 * Richtek RT1711H Type-C Chip Driver
73 return regmap_raw_read(chip->data.regmap, reg, val, sizeof(u16)); in rt1711h_read16()
78 return regmap_raw_write(chip->data.regmap, reg, &val, sizeof(u16)); in rt1711h_write16()
83 return regmap_raw_read(chip->data.regmap, reg, val, sizeof(u8)); in rt1711h_read8()
88 return regmap_raw_write(chip->data.regmap, reg, &val, sizeof(u8)); in rt1711h_write8()
106 struct regmap *regmap = chip->data.regmap; in rt1711h_init()
116 if (chip->info->enable_pd30_extended_message) { in rt1711h_init()
129 /* tTCPCfilter : (26.7 * val) us */ in rt1711h_init()
144 /* Enable phy discard retry, retry count 7, rx filter deglitch 100 us */ in rt1711h_init()
[all …]
/linux/drivers/usb/
H A Dusb-skeleton.c1 // SPDX-License-Identifier: GPL-2.0
3 * USB Skeleton driver - 2.2
5 * Copyright (C) 2001-2004 Greg Kroah-Hartman (greg@kroah.com)
7 * This driver is based on the 2.6.3 version of drivers/usb/usb-skeleton.c
37 #define MAX_TRANSFER (PAGE_SIZE - 512)
65 wait_queue_head_t bulk_in_wait; /* to wait for an ongoing read */
76 usb_free_urb(dev->bulk_in_urb); in skel_delete()
77 usb_put_intf(dev->interface); in skel_delete()
78 usb_put_dev(dev->udev); in skel_delete()
79 kfree(dev->bulk_in_buffer); in skel_delete()
[all …]
/linux/drivers/rtc/
H A Drtc-tegra.c1 // SPDX-License-Identifier: GPL-2.0+
5 * Copyright (c) 2010-2019, NVIDIA Corporation.
59 * eight 32 kHz clocks (~250 us). Outside of these updates the CPU is free to
64 return readl(info->base + TEGRA_RTC_REG_BUSY) & 1; in tegra_rtc_check_busy()
68 * Wait for hardware to be ready for writing. This function tries to maximize
74 * AHB side) occurs every eight 32 kHz clocks (~250 us). The behavior of this
75 * function allows us to make some assumptions without introducing a race,
76 * because 250 us is plenty of time to read/write a value.
81 int retries = 500; /* ~490 us is the worst case, ~250 us is best */ in tegra_rtc_wait_while_busy()
84 * First wait for the RTC to become busy. This is when it posts its in tegra_rtc_wait_while_busy()
[all …]
/linux/fs/btrfs/
H A Ddirect-io.c1 // SPDX-License-Identifier: GPL-2.0
6 #include "delalloc-space.h"
7 #include "direct-io.h"
8 #include "extent-tree.h"
39 struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree; in lock_extent_direct()
46 return -EAGAIN; in lock_extent_direct()
55 ret = -EAGAIN; in lock_extent_direct()
67 lockend - lockstart + 1); in lock_extent_direct()
77 (!writing || !filemap_range_has_page(inode->i_mapping, in lock_extent_direct()
86 ret = -EAGAIN; in lock_extent_direct()
[all …]
/linux/sound/pci/emu10k1/
H A Dio.c1 // SPDX-License-Identifier: GPL-2.0-or-later
4 * Lee Revell <rlrevell@joe-job.com>
5 * James Courtier-Dutton <James@superbug.co.uk>
23 if (snd_BUG_ON(reg & (emu->audigy ? (0xffff0000 & ~A_PTR_ADDRESS_MASK) in check_ptr_reg()
40 scoped_guard(spinlock_irqsave, &emu->emu_lock) { in snd_emu10k1_ptr_read()
41 outl(regptr, emu->por in snd_emu10k1_ptr_read()
219 int retry; snd_emu10k1_i2c_write() local
730 snd_emu10k1_wait(struct snd_emu10k1 * emu,unsigned int wait) snd_emu10k1_wait() argument
[all...]
/linux/net/atm/
H A Dlec.h1 /* SPDX-License-Identifier: GPL-2.0 */
88 * establishes multiple Multicast Forward VCCs to us. This list
108 * An LE Client MUST not retry an LE_ARP_REQUEST for a
109 * given frame's LAN Destination more than maximum retry count times,
130 * Time limit ot wait to receive an LE_FLUSH_RESPONSE after the
153 #define LEC_VCC_PRIV(vcc) ((struct lec_vcc_priv *)((vcc)->user_back))
/linux/fs/
H A Dsuper.c1 // SPDX-License-Identifier: GPL-2.0
7 * super.c contains code to handle: - mount structures
8 * - super-block tables
9 * - filesystem drivers list
10 * - mount system call
11 * - umount system call
12 * - ustat system call
14 * GK 2/5/95 - Changed to support mounting the root fs via NFS
20 * Added devfs support: Richard Gooch <rgooch@atnf.csiro.au>, 13-JAN-1998
21 * Heavily rewritten for 'one fs - one tree' dcache architecture. AV, Mar 2000
[all …]
/linux/kernel/
H A Dstop_machine.c1 // SPDX-License-Identifier: GPL-2.0-or-later
60 if (task != stopper->thread) in print_stop_info()
63 printk("%sStopper: %pS <- %pS\n", log_lvl, stopper->fn, (void *)stopper->caller); in print_stop_info()
73 atomic_set(&done->nr_todo, nr_todo); in cpu_stop_init_done()
74 init_completion(&done->completion); in cpu_stop_init_done()
80 if (atomic_dec_and_test(&done->nr_todo)) in cpu_stop_signal_done()
81 complete(&done->completion); in cpu_stop_signal_done()
87 list_add_tail(&work->list, &stopper->works); in __cpu_stop_queue_work()
98 raw_spin_lock_irqsave(&stopper->lock, flags); in cpu_stop_queue_work()
99 enabled = stopper->enabled; in cpu_stop_queue_work()
[all …]

12345678910>>...18