Home
last modified time | relevance | path

Searched full:queue (Results 1 – 25 of 5275) sorted by relevance

12345678910>>...211

/linux-6.12.1/drivers/net/wireless/st/cw1200/
Dqueue.c3 * O(1) TX queue with built-in allocator for ST-Ericsson CW1200 drivers
12 #include "queue.h"
27 static inline void __cw1200_queue_lock(struct cw1200_queue *queue) in __cw1200_queue_lock() argument
29 struct cw1200_queue_stats *stats = queue->stats; in __cw1200_queue_lock()
30 if (queue->tx_locked_cnt++ == 0) { in __cw1200_queue_lock()
31 pr_debug("[TX] Queue %d is locked.\n", in __cw1200_queue_lock()
32 queue->queue_id); in __cw1200_queue_lock()
33 ieee80211_stop_queue(stats->priv->hw, queue->queue_id); in __cw1200_queue_lock()
37 static inline void __cw1200_queue_unlock(struct cw1200_queue *queue) in __cw1200_queue_unlock() argument
39 struct cw1200_queue_stats *stats = queue->stats; in __cw1200_queue_unlock()
[all …]
/linux-6.12.1/drivers/media/usb/uvc/
Duvc_queue.c24 * Video buffers queue management.
30 * the videobuf2 queue operations by serializing calls to videobuf2 and a
31 * spinlock to protect the IRQ queue that holds the buffers to be processed by
43 * This function must be called with the queue spinlock held.
45 static void uvc_queue_return_buffers(struct uvc_video_queue *queue, in uvc_queue_return_buffers() argument
52 while (!list_empty(&queue->irqqueue)) { in uvc_queue_return_buffers()
53 struct uvc_buffer *buf = list_first_entry(&queue->irqqueue, in uvc_queue_return_buffers()
55 queue); in uvc_queue_return_buffers()
56 list_del(&buf->queue); in uvc_queue_return_buffers()
63 * videobuf2 queue operations
[all …]
/linux-6.12.1/drivers/nvme/target/
Dtcp.c66 * queue before determining it to be idle. This optional module behavior
110 struct nvmet_tcp_queue *queue; member
221 static inline u16 nvmet_tcp_cmd_tag(struct nvmet_tcp_queue *queue, in nvmet_tcp_cmd_tag() argument
224 if (unlikely(!queue->nr_cmds)) { in nvmet_tcp_cmd_tag()
229 return cmd - queue->cmds; in nvmet_tcp_cmd_tag()
257 nvmet_tcp_get_cmd(struct nvmet_tcp_queue *queue) in nvmet_tcp_get_cmd() argument
261 cmd = list_first_entry_or_null(&queue->free_list, in nvmet_tcp_get_cmd()
277 if (unlikely(cmd == &cmd->queue->connect)) in nvmet_tcp_put_cmd()
280 list_add_tail(&cmd->entry, &cmd->queue->free_list); in nvmet_tcp_put_cmd()
283 static inline int queue_cpu(struct nvmet_tcp_queue *queue) in queue_cpu() argument
[all …]
Drdma.c52 struct nvmet_rdma_queue *queue; member
66 struct nvmet_rdma_queue *queue; member
147 MODULE_PARM_DESC(use_srq, "Use shared receive queue.");
157 MODULE_PARM_DESC(srq_size, "set Shared Receive Queue (SRQ) size, should >= 256 (default: 1024)");
172 static void nvmet_rdma_queue_disconnect(struct nvmet_rdma_queue *queue);
213 nvmet_rdma_get_rsp(struct nvmet_rdma_queue *queue) in nvmet_rdma_get_rsp() argument
218 tag = sbitmap_get(&queue->rsp_tags); in nvmet_rdma_get_rsp()
220 rsp = &queue->rsps[tag]; in nvmet_rdma_get_rsp()
228 ret = nvmet_rdma_alloc_rsp(queue->dev, rsp, in nvmet_rdma_get_rsp()
243 nvmet_rdma_free_rsp(rsp->queue->dev, rsp); in nvmet_rdma_put_rsp()
[all …]
/linux-6.12.1/drivers/usb/gadget/function/
Duvc_queue.c26 * Video buffers queue management.
32 * the videobuf2 queue operations by serializing calls to videobuf2 and a
33 * spinlock to protect the IRQ queue that holds the buffers to be processed by
38 * videobuf2 queue operations
45 struct uvc_video_queue *queue = vb2_get_drv_priv(vq); in uvc_queue_setup() local
46 struct uvc_video *video = container_of(queue, struct uvc_video, queue); in uvc_queue_setup()
73 struct uvc_video_queue *queue = vb2_get_drv_priv(vb->vb2_queue); in uvc_buffer_prepare() local
83 if (unlikely(queue->flags & UVC_QUEUE_DISCONNECTED)) in uvc_buffer_prepare()
87 if (queue->use_sg) { in uvc_buffer_prepare()
104 struct uvc_video_queue *queue = vb2_get_drv_priv(vb->vb2_queue); in uvc_buffer_queue() local
[all …]
/linux-6.12.1/drivers/net/wireless/broadcom/b43legacy/
Dpio.c22 static void tx_start(struct b43legacy_pioqueue *queue) in tx_start() argument
24 b43legacy_pio_write(queue, B43legacy_PIO_TXCTL, in tx_start()
28 static void tx_octet(struct b43legacy_pioqueue *queue, in tx_octet() argument
31 if (queue->need_workarounds) { in tx_octet()
32 b43legacy_pio_write(queue, B43legacy_PIO_TXDATA, octet); in tx_octet()
33 b43legacy_pio_write(queue, B43legacy_PIO_TXCTL, in tx_octet()
36 b43legacy_pio_write(queue, B43legacy_PIO_TXCTL, in tx_octet()
38 b43legacy_pio_write(queue, B43legacy_PIO_TXDATA, octet); in tx_octet()
63 static void tx_data(struct b43legacy_pioqueue *queue, in tx_data() argument
71 if (queue->need_workarounds) { in tx_data()
[all …]
/linux-6.12.1/drivers/md/dm-vdo/
Dfunnel-workqueue.c15 #include "funnel-queue.h"
28 * DOC: Work queue definition.
36 /* Name of just the work queue (e.g., "cpuQ12") */
73 static inline struct simple_work_queue *as_simple_work_queue(struct vdo_work_queue *queue) in as_simple_work_queue() argument
75 return ((queue == NULL) ? in as_simple_work_queue()
76 NULL : container_of(queue, struct simple_work_queue, common)); in as_simple_work_queue()
79 static inline struct round_robin_work_queue *as_round_robin_work_queue(struct vdo_work_queue *queue) in as_round_robin_work_queue() argument
81 return ((queue == NULL) ? in as_round_robin_work_queue()
83 container_of(queue, struct round_robin_work_queue, common)); in as_round_robin_work_queue()
96 static struct vdo_completion *poll_for_completion(struct simple_work_queue *queue) in poll_for_completion() argument
[all …]
Dfunnel-queue.c6 #include "funnel-queue.h"
15 struct funnel_queue *queue; in vdo_make_funnel_queue() local
17 result = vdo_allocate(1, struct funnel_queue, "funnel queue", &queue); in vdo_make_funnel_queue()
22 * Initialize the stub entry and put it in the queue, establishing the invariant that in vdo_make_funnel_queue()
23 * queue->newest and queue->oldest are never null. in vdo_make_funnel_queue()
25 queue->stub.next = NULL; in vdo_make_funnel_queue()
26 queue->newest = &queue->stub; in vdo_make_funnel_queue()
27 queue->oldest = &queue->stub; in vdo_make_funnel_queue()
29 *queue_ptr = queue; in vdo_make_funnel_queue()
33 void vdo_free_funnel_queue(struct funnel_queue *queue) in vdo_free_funnel_queue() argument
[all …]
/linux-6.12.1/drivers/scsi/arm/
Dqueue.c3 * linux/drivers/acorn/scsi/queue.c: queue handling primitives
50 #include "queue.h"
55 * Function: void queue_initialise (Queue_t *queue)
56 * Purpose : initialise a queue
57 * Params : queue - queue to initialise
59 int queue_initialise (Queue_t *queue) in queue_initialise() argument
64 spin_lock_init(&queue->queue_lock); in queue_initialise()
65 INIT_LIST_HEAD(&queue->head); in queue_initialise()
66 INIT_LIST_HEAD(&queue->free); in queue_initialise()
74 queue->alloc = q = kmalloc_array(nqueues, sizeof(QE_t), GFP_KERNEL); in queue_initialise()
[all …]
Dqueue.h3 * linux/drivers/acorn/scsi/queue.h: queue handling
18 * Function: void queue_initialise (Queue_t *queue)
19 * Purpose : initialise a queue
20 * Params : queue - queue to initialise
22 extern int queue_initialise (Queue_t *queue);
25 * Function: void queue_free (Queue_t *queue)
26 * Purpose : free a queue
27 * Params : queue - queue to free
29 extern void queue_free (Queue_t *queue);
32 * Function: struct scsi_cmnd *queue_remove (queue)
[all …]
/linux-6.12.1/drivers/net/xen-netback/
Drx.c42 static void xenvif_update_needed_slots(struct xenvif_queue *queue, in xenvif_update_needed_slots() argument
55 WRITE_ONCE(queue->rx_slots_needed, needed); in xenvif_update_needed_slots()
58 static bool xenvif_rx_ring_slots_available(struct xenvif_queue *queue) in xenvif_rx_ring_slots_available() argument
63 needed = READ_ONCE(queue->rx_slots_needed); in xenvif_rx_ring_slots_available()
68 prod = queue->rx.sring->req_prod; in xenvif_rx_ring_slots_available()
69 cons = queue->rx.req_cons; in xenvif_rx_ring_slots_available()
74 queue->rx.sring->req_event = prod + 1; in xenvif_rx_ring_slots_available()
80 } while (queue->rx.sring->req_prod != prod); in xenvif_rx_ring_slots_available()
85 bool xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb) in xenvif_rx_queue_tail() argument
90 spin_lock_irqsave(&queue->rx_queue.lock, flags); in xenvif_rx_queue_tail()
[all …]
Dinterface.c44 /* Number of bytes allowed on the internal guest Rx queue. */
52 void xenvif_skb_zerocopy_prepare(struct xenvif_queue *queue, in xenvif_skb_zerocopy_prepare() argument
56 atomic_inc(&queue->inflight_packets); in xenvif_skb_zerocopy_prepare()
59 void xenvif_skb_zerocopy_complete(struct xenvif_queue *queue) in xenvif_skb_zerocopy_complete() argument
61 atomic_dec(&queue->inflight_packets); in xenvif_skb_zerocopy_complete()
67 wake_up(&queue->dealloc_wq); in xenvif_skb_zerocopy_complete()
77 static bool xenvif_handle_tx_interrupt(struct xenvif_queue *queue) in xenvif_handle_tx_interrupt() argument
81 rc = RING_HAS_UNCONSUMED_REQUESTS(&queue->tx); in xenvif_handle_tx_interrupt()
83 napi_schedule(&queue->napi); in xenvif_handle_tx_interrupt()
89 struct xenvif_queue *queue = dev_id; in xenvif_tx_interrupt() local
[all …]
Dnetback.c59 /* The time that packets can stay on the guest Rx internal queue
107 static void xenvif_idx_release(struct xenvif_queue *queue, u16 pending_idx,
110 static void make_tx_response(struct xenvif_queue *queue,
115 static void xenvif_idx_unmap(struct xenvif_queue *queue, u16 pending_idx);
117 static inline int tx_work_todo(struct xenvif_queue *queue);
119 static inline unsigned long idx_to_pfn(struct xenvif_queue *queue, in idx_to_pfn() argument
122 return page_to_pfn(queue->mmap_pages[idx]); in idx_to_pfn()
125 static inline unsigned long idx_to_kaddr(struct xenvif_queue *queue, in idx_to_kaddr() argument
128 return (unsigned long)pfn_to_kaddr(idx_to_pfn(queue, idx)); in idx_to_kaddr()
161 void xenvif_kick_thread(struct xenvif_queue *queue) in xenvif_kick_thread() argument
[all …]
/linux-6.12.1/drivers/nvme/host/
Dtcp.c105 struct nvme_tcp_queue *queue; member
205 static int nvme_tcp_try_send(struct nvme_tcp_queue *queue);
212 static inline int nvme_tcp_queue_id(struct nvme_tcp_queue *queue) in nvme_tcp_queue_id() argument
214 return queue - queue->ctrl->queues; in nvme_tcp_queue_id()
218 * Check if the queue is TLS encrypted
220 static inline bool nvme_tcp_queue_tls(struct nvme_tcp_queue *queue) in nvme_tcp_queue_tls() argument
225 return queue->tls_enabled; in nvme_tcp_queue_tls()
239 static inline struct blk_mq_tags *nvme_tcp_tagset(struct nvme_tcp_queue *queue) in nvme_tcp_tagset() argument
241 u32 queue_idx = nvme_tcp_queue_id(queue); in nvme_tcp_tagset()
244 return queue->ctrl->admin_tag_set.tags[queue_idx]; in nvme_tcp_tagset()
[all …]
/linux-6.12.1/drivers/iio/buffer/
Dindustrialio-buffer-dma.c37 * means of two queues. The incoming queue and the outgoing queue. Blocks on the
38 * incoming queue are waiting for the DMA controller to pick them up and fill
39 * them with data. Block on the outgoing queue have been filled with data and
55 * incoming or outgoing queue the block will be freed.
101 struct iio_dma_buffer_queue *queue = block->queue; in iio_buffer_block_release() local
106 dma_free_coherent(queue->dev, PAGE_ALIGN(block->size), in iio_buffer_block_release()
109 atomic_dec(&queue->num_dmabufs); in iio_buffer_block_release()
112 iio_buffer_put(&queue->buffer); in iio_buffer_block_release()
175 struct iio_dma_buffer_queue *queue, size_t size, bool fileio) in iio_dma_buffer_alloc_block() argument
184 block->vaddr = dma_alloc_coherent(queue->dev, PAGE_ALIGN(size), in iio_dma_buffer_alloc_block()
[all …]
/linux-6.12.1/drivers/gpu/drm/imagination/
Dpvr_queue.c86 WARN(1, "Invalid queue type"); in get_ctx_state_size()
116 pvr_context_put(fence->queue->ctx); in pvr_queue_fence_release()
125 switch (fence->queue->type) { in pvr_queue_job_fence_get_timeline_name()
139 WARN(1, "Invalid queue type"); in pvr_queue_job_fence_get_timeline_name()
148 switch (fence->queue->type) { in pvr_queue_cccb_fence_get_timeline_name()
162 WARN(1, "Invalid queue type"); in pvr_queue_cccb_fence_get_timeline_name()
254 * @queue: The queue this fence belongs to.
259 * pvr_queue_fence::queue field too.
263 struct pvr_queue *queue, in pvr_queue_fence_init() argument
269 pvr_context_get(queue->ctx); in pvr_queue_fence_init()
[all …]
/linux-6.12.1/drivers/md/dm-vdo/indexer/
Dfunnel-requestqueue.c12 #include "funnel-queue.h"
18 * This queue will attempt to handle requests in reasonably sized batches instead of reacting
22 * If the wait time becomes long enough, the queue will become dormant and must be explicitly
24 * queue via xchg (which is a memory barrier), and later checks "dormant" to decide whether to do a
28 * decide if the funnel queue is idle. In dormant mode, the last examination of "newest" before
31 * queue's "next" field update isn't visible yet to make the entry accessible, its existence will
35 * the queue to awaken immediately.
50 /* Wait queue for synchronizing producers and consumer */
54 /* Queue of new incoming requests */
56 /* Queue of old requests to retry */
[all …]
/linux-6.12.1/drivers/net/
Dxen-netfront.c91 /* Queue name is interface name with "-qNNN" appended */
94 /* IRQ name is queue name with "-tx" or "-rx" appended */
108 unsigned int id; /* Queue ID, 0-based */
166 /* Multi-queue support */
218 static struct sk_buff *xennet_get_rx_skb(struct netfront_queue *queue, in xennet_get_rx_skb() argument
222 struct sk_buff *skb = queue->rx_skbs[i]; in xennet_get_rx_skb()
223 queue->rx_skbs[i] = NULL; in xennet_get_rx_skb()
227 static grant_ref_t xennet_get_rx_ref(struct netfront_queue *queue, in xennet_get_rx_ref() argument
231 grant_ref_t ref = queue->grant_rx_ref[i]; in xennet_get_rx_ref()
232 queue->grant_rx_ref[i] = INVALID_GRANT_REF; in xennet_get_rx_ref()
[all …]
/linux-6.12.1/drivers/misc/genwqe/
Dcard_ddcb.c14 * Device Driver Control Block (DDCB) queue support. Definition of
15 * interrupt handlers for queue support as well as triggering the
40 * Situation (1): Empty queue
56 * Situation (3): Queue wrapped, A > N
64 * Situation (4a): Queue full N > A
73 * Situation (4a): Queue full A > N
82 static int queue_empty(struct ddcb_queue *queue) in queue_empty() argument
84 return queue->ddcb_next == queue->ddcb_act; in queue_empty()
87 static int queue_enqueued_ddcbs(struct ddcb_queue *queue) in queue_enqueued_ddcbs() argument
89 if (queue->ddcb_next >= queue->ddcb_act) in queue_enqueued_ddcbs()
[all …]
/linux-6.12.1/drivers/crypto/cavium/zip/
Dzip_device.c50 * zip_cmd_queue_consumed - Calculates the space consumed in the command queue.
53 * @queue: Queue number
55 * Return: Bytes consumed in the command queue buffer.
57 static inline u32 zip_cmd_queue_consumed(struct zip_device *zip_dev, int queue) in zip_cmd_queue_consumed() argument
59 return ((zip_dev->iq[queue].sw_head - zip_dev->iq[queue].sw_tail) * in zip_cmd_queue_consumed()
64 * zip_load_instr - Submits the instruction into the ZIP command queue
69 * This function copies the ZIP instruction to the command queue and rings the
71 * queue is maintained in a circular fashion. When there is space for exactly
72 * one instruction in the queue, next chunk pointer of the queue is made to
73 * point to the head of the queue, thus maintaining a circular queue.
[all …]
/linux-6.12.1/drivers/crypto/hisilicon/sec/
Dsec_drv.c227 static int sec_queue_map_io(struct sec_queue *queue) in sec_queue_map_io() argument
229 struct device *dev = queue->dev_info->dev; in sec_queue_map_io()
234 2 + queue->queue_id); in sec_queue_map_io()
236 dev_err(dev, "Failed to get queue %u memory resource\n", in sec_queue_map_io()
237 queue->queue_id); in sec_queue_map_io()
240 queue->regs = ioremap(res->start, resource_size(res)); in sec_queue_map_io()
241 if (!queue->regs) in sec_queue_map_io()
247 static void sec_queue_unmap_io(struct sec_queue *queue) in sec_queue_unmap_io() argument
249 iounmap(queue->regs); in sec_queue_unmap_io()
252 static int sec_queue_ar_pkgattr(struct sec_queue *queue, u32 ar_pkg) in sec_queue_ar_pkgattr() argument
[all …]
/linux-6.12.1/drivers/net/wireguard/
Dqueueing.c25 int wg_packet_queue_init(struct crypt_queue *queue, work_func_t function, in wg_packet_queue_init() argument
30 memset(queue, 0, sizeof(*queue)); in wg_packet_queue_init()
31 queue->last_cpu = -1; in wg_packet_queue_init()
32 ret = ptr_ring_init(&queue->ring, len, GFP_KERNEL); in wg_packet_queue_init()
35 queue->worker = wg_packet_percpu_multicore_worker_alloc(function, queue); in wg_packet_queue_init()
36 if (!queue->worker) { in wg_packet_queue_init()
37 ptr_ring_cleanup(&queue->ring, NULL); in wg_packet_queue_init()
43 void wg_packet_queue_free(struct crypt_queue *queue, bool purge) in wg_packet_queue_free() argument
45 free_percpu(queue->worker); in wg_packet_queue_free()
46 WARN_ON(!purge && !__ptr_ring_empty(&queue->ring)); in wg_packet_queue_free()
[all …]
/linux-6.12.1/drivers/net/wireless/ralink/rt2x00/
Drt2x00queue.c12 Abstract: rt2x00 queue specific routines.
25 struct data_queue *queue = entry->queue; in rt2x00queue_alloc_rxskb() local
26 struct rt2x00_dev *rt2x00dev = queue->rt2x00dev; in rt2x00queue_alloc_rxskb()
37 frame_size = queue->data_size + queue->desc_size + queue->winfo_size; in rt2x00queue_alloc_rxskb()
95 struct device *dev = entry->queue->rt2x00dev->dev; in rt2x00queue_map_txskb()
112 struct device *dev = entry->queue->rt2x00dev->dev; in rt2x00queue_unmap_skb()
488 struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev; in rt2x00queue_write_tx_data()
493 * a queue corruption! in rt2x00queue_write_tx_data()
498 "Corrupt queue %d, accessing entry which is not ours\n" in rt2x00queue_write_tx_data()
500 entry->queue->qid, DRV_PROJECT); in rt2x00queue_write_tx_data()
[all …]
/linux-6.12.1/drivers/soc/ixp4xx/
Dixp4xx-qmgr.c3 * Intel IXP4xx Queue Manager driver for Linux
29 void qmgr_put_entry(unsigned int queue, u32 val) in qmgr_put_entry() argument
32 BUG_ON(!qmgr_queue_descs[queue]); /* not yet requested */ in qmgr_put_entry()
34 printk(KERN_DEBUG "Queue %s(%i) put %X\n", in qmgr_put_entry()
35 qmgr_queue_descs[queue], queue, val); in qmgr_put_entry()
37 __raw_writel(val, &qmgr_regs->acc[queue][0]); in qmgr_put_entry()
40 u32 qmgr_get_entry(unsigned int queue) in qmgr_get_entry() argument
43 val = __raw_readl(&qmgr_regs->acc[queue][0]); in qmgr_get_entry()
45 BUG_ON(!qmgr_queue_descs[queue]); /* not yet requested */ in qmgr_get_entry()
47 printk(KERN_DEBUG "Queue %s(%i) get %X\n", in qmgr_get_entry()
[all …]
/linux-6.12.1/drivers/net/ethernet/ibm/ehea/
Dehea_qmr.h40 * WQE - Work Queue Entry
41 * SWQE - Send Work Queue Entry
42 * RWQE - Receive Work Queue Entry
43 * CQE - Completion Queue Entry
44 * EQE - Event Queue Entry
196 static inline void *hw_qeit_calc(struct hw_queue *queue, u64 q_offset) in hw_qeit_calc() argument
200 if (q_offset >= queue->queue_length) in hw_qeit_calc()
201 q_offset -= queue->queue_length; in hw_qeit_calc()
202 current_page = (queue->queue_pages)[q_offset >> EHEA_PAGESHIFT]; in hw_qeit_calc()
206 static inline void *hw_qeit_get(struct hw_queue *queue) in hw_qeit_get() argument
[all …]

12345678910>>...211