| /linux/drivers/net/wwan/iosm/ |
| H A D | iosm_ipc_task_queue.h | 1 /* SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2020-21 Intel Corporation. 9 /* Number of available element for the input message queue of the IPC 15 * struct ipc_task_queue_args - Struct for Task queue elements 18 * @completion: OS object used to wait for the tasklet function to finish for 40 * struct ipc_task_queue - Struct for Task queue 41 * @q_lock: Protect the message queue of the ipc ipc_task 42 * @args: Message queue of the IPC ipc_task 43 * @q_rpos: First queue element to process. 44 * @q_wpos: First free element of the input queue. [all …]
|
| H A D | iosm_ipc_task_queue.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2020-21 Intel Corporation. 10 * Calls event handler involves callback for each element in the message queue 15 unsigned int q_rpos = ipc_task->q_rpos; in ipc_task_queue_handler() 17 /* Loop over the input queue contents. */ in ipc_task_queue_handler() 18 while (q_rpos != ipc_task->q_wpos) { in ipc_task_queue_handler() 19 /* Get the current first queue element. */ in ipc_task_queue_handler() 20 struct ipc_task_queue_args *args = &ipc_task->args[q_rpos]; in ipc_task_queue_handler() 23 if (args->func) in ipc_task_queue_handler() 24 args->response = args->func(args->ipc_imem, args->arg, in ipc_task_queue_handler() [all …]
|
| /linux/include/linux/ |
| H A D | uacce.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 17 * struct uacce_qfile_region - structure of queue file region 25 * struct uacce_ops - uacce device operations 27 * @get_queue: get a queue from the device 28 * @put_queue: free a queue to the device 29 * @start_queue: make the queue start work after get_queue 30 * @stop_queue: make the queue stop work before put_queue 32 * @mmap: mmap addresses of queue to user space 33 * @ioctl: ioctl for user space users of the queue 56 * struct uacce_interface - interface required for uacce_register() [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/engine/gr/fuc/ |
| H A D | com.fuc | 27 // queue_put - add request to queue 29 // In : $r13 queue pointer 44 // store cmd/data on queue 59 // queue_get - fetch request from queue 61 // In : $r13 queue pointer 89 // nv_rd32 - read 32-bit value from nv register 107 // nv_wr32 - write 32-bit value to nv register 124 // wait_donez - wait on FUC_DONE bit to become clear 126 // In : $r10 bit to wait on 138 // wait_doneo - wait on FUC_DONE bit to become set [all …]
|
| /linux/net/sunrpc/ |
| H A D | sched.c | 1 // SPDX-License-Identifier: GPL-2.0-only 54 * rpciod-related stuff 62 if (current->flags & PF_WQ_WORKER) in rpc_task_gfp_mask() 70 if (cmpxchg(&task->tk_rpc_status, 0, rpc_status) == 0) in rpc_task_set_rpc_status() 78 unsigned long timeout = READ_ONCE(task->tk_timeout); in rpc_task_timeout() 83 return timeout - now; in rpc_task_timeout() 91 * queue->lock and bh_disabled in order to avoid races within 95 __rpc_disable_timer(struct rpc_wait_queue *queue, struct rpc_task *task) in __rpc_disable_timer() argument 97 if (list_empty(&task->u.tk_wait.timer_list)) in __rpc_disable_timer() 99 task->tk_timeout = 0; in __rpc_disable_timer() [all …]
|
| /linux/drivers/usb/gadget/function/ |
| H A D | uvc_queue.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * uvc_queue.c -- USB Video Class driver - Buffers management 5 * Copyright (C) 2005-2010 17 #include <linux/wait.h> 19 #include <media/v4l2-common.h> 20 #include <media/videobuf2-dma-sg.h> 21 #include <media/videobuf2-vmalloc.h> 26 /* ------------------------------------------------------------------------ 27 * Video buffers queue management. 33 * the videobuf2 queue operations by serializing calls to videobuf2 and a [all …]
|
| /linux/fs/autofs/ |
| H A D | waitq.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright 1997-1998 Transmeta Corporation -- All Rights Reserved 4 * Copyright 2001-2006 Ian Kent <raven@themaw.net> 19 mutex_lock(&sbi->wq_mutex); in autofs_catatonic_mode() 20 if (sbi->flags & AUTOFS_SBI_CATATONIC) { in autofs_catatonic_mode() 21 mutex_unlock(&sbi->wq_mutex); in autofs_catatonic_mode() 27 sbi->flags |= AUTOFS_SBI_CATATONIC; in autofs_catatonic_mode() 28 wq = sbi->queues; in autofs_catatonic_mode() 29 sbi->queues = NULL; /* Erase all wait queues */ in autofs_catatonic_mode() 31 nwq = wq->next; in autofs_catatonic_mode() [all …]
|
| /linux/kernel/sched/ |
| H A D | wait.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 spin_lock_init(&wq_head->lock); in __init_waitqueue_head() 12 lockdep_set_class_and_name(&wq_head->lock, key, name); in __init_waitqueue_head() 13 INIT_LIST_HEAD(&wq_head->head); in __init_waitqueue_head() 22 wq_entry->flags &= ~WQ_FLAG_EXCLUSIVE; in add_wait_queue() 23 spin_lock_irqsave(&wq_head->lock, flags); in add_wait_queue() 25 spin_unlock_irqrestore(&wq_head->lock, flags); in add_wait_queue() 33 wq_entry->flags |= WQ_FLAG_EXCLUSIVE; in add_wait_queue_exclusive() 34 spin_lock_irqsave(&wq_head->lock, flags); in add_wait_queue_exclusive() 36 spin_unlock_irqrestore(&wq_head->lock, flags); in add_wait_queue_exclusive() [all …]
|
| /linux/net/qrtr/ |
| H A D | tun.c | 1 // SPDX-License-Identifier: GPL-2.0 15 struct sk_buff_head queue; member 23 skb_queue_tail(&tun->queue, skb); in qrtr_tun_send() 26 wake_up_interruptible(&tun->readq); in qrtr_tun_send() 38 return -ENOMEM; in qrtr_tun_open() 40 skb_queue_head_init(&tun->queue); in qrtr_tun_open() 41 init_waitqueue_head(&tun->readq); in qrtr_tun_open() 43 tun->ep.xmit = qrtr_tun_send; in qrtr_tun_open() 45 filp->private_data = tun; in qrtr_tun_open() 47 ret = qrtr_endpoint_register(&tun->ep, QRTR_EP_NID_AUTO); in qrtr_tun_open() [all …]
|
| /linux/drivers/scsi/aacraid/ |
| H A D | commsup.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 9 * Copyright (c) 2000-2010 Adaptec, Inc. 10 * 2010-2015 PMC-Sierra, Inc. (aacraid@pmc-sierra.com) 11 * 2016-2017 Microsemi Corp. (aacraid@microsemi.com) 42 * fib_map_alloc - allocate the fib objects 51 dev->max_cmd_size = AAC_MAX_NATIVE_SIZE; in fib_map_alloc() 55 &dev->pdev->dev, dev->max_cmd_size, dev->scsi_host_ptr->can_queue, in fib_map_alloc() 56 AAC_NUM_MGT_FIB, &dev->hw_fib_pa)); in fib_map_alloc() 57 dev->hw_fib_va = dma_alloc_coherent(&dev->pdev->dev, in fib_map_alloc() 58 (dev->max_cmd_size + sizeof(struct aac_fib_xporthdr)) in fib_map_alloc() [all …]
|
| /linux/drivers/accel/habanalabs/common/ |
| H A D | hw_queue.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Copyright 2016-2019 HabanaLabs, Ltd. 13 * hl_queue_add_ptr - add to pi or ci and checks if it wraps around 18 * Add val to ptr. It can go until twice the queue length. 23 ptr &= ((HL_QUEUE_LENGTH << 1) - 1); in hl_hw_queue_add_ptr() 28 return atomic_read(ci) & ((queue_len << 1) - 1); in queue_ci_get() 33 int delta = (q->pi - queue_ci_get(&q->ci, queue_len)); in queue_free_slots() 36 return (queue_len - delta); in queue_free_slots() 38 return (abs(delta) - queue_len); in queue_free_slots() 43 struct hl_device *hdev = cs->ctx->hdev; in hl_hw_queue_update_ci() [all …]
|
| /linux/kernel/locking/ |
| H A D | qspinlock_paravirt.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 16 * pv_wait(u8 *ptr, u8 val) -- suspends the vcpu if *ptr == val 17 * pv_kick(cpu) -- wakes a suspended vcpu 27 * Queue Node Adaptive Spinning 29 * A queue node vCPU will stop spinning if the vCPU in the previous node is 31 * mitigates the slight slowdown for non-overcommitted guest with this 32 * aggressive wait-early mechanism. 41 * Queue node uses: VCPU_RUNNING & VCPU_HALTED. 42 * Queue head uses: VCPU_RUNNING & VCPU_HASHED. 63 * The pending bit is set by the queue head vCPU of the MCS wait queue in [all …]
|
| H A D | qspinlock.c | 1 // 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 34 * The basic principle of a queue [all...] |
| H A D | qrwlock.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * (C) Copyright 2013-2014 Hewlett-Packard Development Company, L.P. 18 * queued_read_lock_slowpath - acquire read lock of a queued rwlock 31 * without waiting in the queue. in queued_read_lock_slowpath() 33 atomic_cond_read_acquire(&lock->cnts, !(VAL & _QW_LOCKED)); in queued_read_lock_slowpath() 36 atomic_sub(_QR_BIAS, &lock->cnts); in queued_read_lock_slowpath() 41 * Put the reader into the wait queue in queued_read_lock_slowpath() 43 arch_spin_lock(&lock->wait_lock); in queued_read_lock_slowpath() 44 atomic_add(_QR_BIAS, &lock->cnts); in queued_read_lock_slowpath() 51 atomic_cond_read_acquire(&lock->cnts, !(VAL & _QW_LOCKED)); in queued_read_lock_slowpath() [all …]
|
| /linux/drivers/net/ethernet/sfc/falcon/ |
| H A D | selftest.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright 2005-2006 Fen Systems Ltd. 5 * Copyright 2006-2012 Solarflare Communications Inc. 26 * - All IRQs may be disabled on a CPU for a *long* time by e.g. a 28 * - The PREEMPT_RT patches mostly deal with this, but also allow a 38 * The self-test should stress every RSS vector, and unfortunately 42 char pad[2]; /* Ensures ip is 4-byte aligned */ 65 [EF4_INT_MODE_MSIX] = "MSI-X", 70 STRING_TABLE_LOOKUP(efx->interrupt_mode, ef4_interrupt_mode) 73 * struct ef4_loopback_state - persistent state during a loopback selftest [all …]
|
| /linux/drivers/gpu/drm/sprd/ |
| H A D | sprd_dpu.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 40 * @wait_queue: wait queue, used to wait for DPU shadow register update done and 42 * @evt_update: wait queue condition for DPU shadow register 43 * @evt_stop: wait queue condition for DPU stop register 77 u32 bits = readl_relaxed(ctx->base + offset); in dpu_reg_set() 79 writel(bits | set_bits, ctx->base + offset); in dpu_reg_set() 85 u32 bits = readl_relaxed(ctx->base + offset); in dpu_reg_clr() 87 writel(bits & ~clr_bits, ctx->base + offset); in dpu_reg_clr() 95 return readl(ctx->base + layer_offset); in layer_reg_rd() 103 writel(cfg_bits, ctx->base + layer_offset); in layer_reg_wr()
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | bpf_arena_spin_lock.h | |
| /linux/net/core/ |
| H A D | datagram.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * make sense. Not tonight however 8-). 28 * Darryl Miles : Fixed non-blocking SOCK_SEQPACKET. 31 * Darryl Miles : Fixed non-blocking SOCK_STREAM. 73 return sk->sk_type == SOCK_SEQPACKET || sk->sk_type == SOCK_STREAM; in connection_based() 76 static int receiver_wake_function(wait_queue_entry_t *wait, unsigned int mode, int sync, in receiver_wake_function() argument 84 return autoremove_wake_function(wait, mode, sync, key); in receiver_wake_function() 87 * Wait for the last received packet to be different from skb 89 int __skb_wait_for_more_packets(struct sock *sk, struct sk_buff_head *queue, in __skb_wait_for_more_packets() argument 94 DEFINE_WAIT_FUNC(wait, receiver_wake_function); in __skb_wait_for_more_packets() [all …]
|
| /linux/Documentation/userspace-api/media/cec/ |
| H A D | cec-func-poll.rst | 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 4 .. _cec-func-poll: 13 cec-poll - Wait for some event on a file descriptor 18 .. code-block:: c 34 Timeout to wait for events 39 With the :c:func:`poll()` function applications can wait for CEC 45 is non-zero). CEC devices set the ``POLLIN`` and ``POLLRDNORM`` flags in 46 the ``revents`` field if there are messages in the receive queue. If the 47 transmit queue has room for new messages, the ``POLLOUT`` and 48 ``POLLWRNORM`` flags are set. If there are events in the event queue, [all …]
|
| /linux/Documentation/block/ |
| H A D | stat.rst | 30 read merges requests number of read I/Os merged with in-queue I/O 32 read ticks milliseconds total wait time for read requests 34 write merges requests number of write I/Os merged with in-queue I/O 36 write ticks milliseconds total wait time for write requests 39 time_in_queue milliseconds total wait time for all requests 41 discard merges requests number of discard I/Os merged with in-queue I/O 43 discard ticks milliseconds total wait time for discard requests 45 flush ticks milliseconds total wait time for flush requests 65 already-queued I/O request. 72 standard UNIX 512-byte sectors, not any device- or filesystem-specific [all …]
|
| /linux/drivers/misc/genwqe/ |
| H A D | card_base.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 11 * Author: Joerg-Stephan Vogt <jsvogt@de.ibm.com> 42 #define GENWQE_DDCB_MAX 32 /* DDCBs on the work-queue */ 62 #define PCI_SUBSYSTEM_ID_GENWQE5 0x035f /* Genwqe A5 Subsystem-ID */ 63 #define PCI_SUBSYSTEM_ID_GENWQE5_NEW 0x044b /* Genwqe A5 Subsystem-ID */ 67 #define PCI_SUBSYSTEM_ID_GENWQE5_SRIOV 0x0000 /* Genwqe A5 Subsystem-ID */ 73 * struct genwqe_reg - Genwqe data dump functionality 82 * enum genwqe_dbg_type - Specify chip unit to dump/debug 99 #define GENWQE_INJECT_HARDWARE_FAILURE 0x00000001 /* injects -1 reg reads */ 107 * Error-handling in case of card malfunction [all …]
|
| /linux/tools/testing/selftests/net/netfilter/ |
| H A D | nft_queue.sh | 24 rm -f "$TMPINPUT" 25 rm -f "$TMPFILE0" 26 rm -f "$TMPFILE1" 27 rm -f "$TMPFILE2" "$TMPFILE3" 30 checktool "nft --version" "test without nft tool" 31 checktool "socat -h" "run test without socat" 33 modprobe -q sctp 56 ip -net "$nsrouter" link set veth0 up 57 ip -ne [all...] |
| /linux/sound/core/seq/oss/ |
| H A D | seq_oss_readq.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * seq_oss_readq.c - MIDI input queue 14 #include <linux/wait.h> 20 //#define SNDRV_SEQ_OSS_MAX_TIMEOUT (unsigned long)(-1) 30 * create a read queue 200 snd_seq_oss_readq_poll(struct seq_oss_readq * q,struct file * file,poll_table * wait) snd_seq_oss_readq_poll() argument [all...] |
| /linux/drivers/media/v4l2-core/ |
| H A D | v4l2-mem2mem.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Memory-to-memory device framework for Video for Linux 2 and vb2. 8 * Copyright (c) 2009-2010 Samsung Electronics Co., Ltd. 16 #include <media/media-device.h> 17 #include <media/videobuf2-v4l2.h> 18 #include <media/v4l2-mem2mem.h> 19 #include <media/v4l2-dev.h> 20 #include <media/v4l2-device.h> 21 #include <media/v4l2-fh.h> 22 #include <media/v4l2-event.h> [all …]
|
| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_base.c | 1 // SPDX-License-Identifier: GPL-2.0 12 * __ice_vsi_get_qs_contig - Assign a contiguous chunk of queues to VSI 13 * @qs_cfg: gathered variables needed for PF->VSI queues assignment 15 * Return 0 on success and -ENOMEM in case of no left space in PF queue bitmap 21 mutex_lock(qs_cfg->qs_mutex); in __ice_vsi_get_qs_contig() 22 offset = bitmap_find_next_zero_area(qs_cfg->pf_map, qs_cfg->pf_map_size, in __ice_vsi_get_qs_contig() 23 0, qs_cfg->q_count, 0); in __ice_vsi_get_qs_contig() 24 if (offset >= qs_cfg->pf_map_size) { in __ice_vsi_get_qs_contig() 25 mutex_unlock(qs_cfg->qs_mutex); in __ice_vsi_get_qs_contig() 26 return -ENOMEM; in __ice_vsi_get_qs_contig() [all …]
|