Home
last modified time | relevance | path

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

12345678910>>...242

/kernel/linux/linux-4.19/drivers/media/usb/uvc/
Duvc_queue.c29 * Video buffers queue management.
35 * the videobuf2 queue operations by serializing calls to videobuf2 and a
36 * spinlock to protect the IRQ queue that holds the buffers to be processed by
41 uvc_queue_to_stream(struct uvc_video_queue *queue) in uvc_queue_to_stream() argument
43 return container_of(queue, struct uvc_streaming, queue); in uvc_queue_to_stream()
54 * This function must be called with the queue spinlock held.
56 static void uvc_queue_return_buffers(struct uvc_video_queue *queue, in uvc_queue_return_buffers() argument
63 while (!list_empty(&queue->irqqueue)) { in uvc_queue_return_buffers()
64 struct uvc_buffer *buf = list_first_entry(&queue->irqqueue, in uvc_queue_return_buffers()
66 queue); in uvc_queue_return_buffers()
[all …]
/kernel/linux/linux-4.19/drivers/net/wireless/st/cw1200/
Dqueue.c2 * O(1) TX queue with built-in allocator for ST-Ericsson CW1200 drivers
14 #include "queue.h"
29 static inline void __cw1200_queue_lock(struct cw1200_queue *queue) in __cw1200_queue_lock() argument
31 struct cw1200_queue_stats *stats = queue->stats; in __cw1200_queue_lock()
32 if (queue->tx_locked_cnt++ == 0) { in __cw1200_queue_lock()
33 pr_debug("[TX] Queue %d is locked.\n", in __cw1200_queue_lock()
34 queue->queue_id); in __cw1200_queue_lock()
35 ieee80211_stop_queue(stats->priv->hw, queue->queue_id); in __cw1200_queue_lock()
39 static inline void __cw1200_queue_unlock(struct cw1200_queue *queue) in __cw1200_queue_unlock() argument
41 struct cw1200_queue_stats *stats = queue->stats; in __cw1200_queue_unlock()
[all …]
/kernel/linux/linux-5.10/drivers/net/wireless/st/cw1200/
Dqueue.c3 * O(1) TX queue with built-in allocator for ST-Ericsson CW1200 drivers
11 #include "queue.h"
26 static inline void __cw1200_queue_lock(struct cw1200_queue *queue) in __cw1200_queue_lock() argument
28 struct cw1200_queue_stats *stats = queue->stats; in __cw1200_queue_lock()
29 if (queue->tx_locked_cnt++ == 0) { in __cw1200_queue_lock()
30 pr_debug("[TX] Queue %d is locked.\n", in __cw1200_queue_lock()
31 queue->queue_id); in __cw1200_queue_lock()
32 ieee80211_stop_queue(stats->priv->hw, queue->queue_id); in __cw1200_queue_lock()
36 static inline void __cw1200_queue_unlock(struct cw1200_queue *queue) in __cw1200_queue_unlock() argument
38 struct cw1200_queue_stats *stats = queue->stats; in __cw1200_queue_unlock()
[all …]
/kernel/linux/linux-4.19/drivers/usb/gadget/function/
Duvc_queue.c25 * Video buffers queue management.
31 * the videobuf2 queue operations by serializing calls to videobuf2 and a
32 * spinlock to protect the IRQ queue that holds the buffers to be processed by
37 * videobuf2 queue operations
44 struct uvc_video_queue *queue = vb2_get_drv_priv(vq); in uvc_queue_setup() local
45 struct uvc_video *video = container_of(queue, struct uvc_video, queue); in uvc_queue_setup()
59 struct uvc_video_queue *queue = vb2_get_drv_priv(vb->vb2_queue); in uvc_buffer_prepare() local
69 if (unlikely(queue->flags & UVC_QUEUE_DISCONNECTED)) in uvc_buffer_prepare()
85 struct uvc_video_queue *queue = vb2_get_drv_priv(vb->vb2_queue); in uvc_buffer_queue() local
90 spin_lock_irqsave(&queue->irqlock, flags); in uvc_buffer_queue()
[all …]
/kernel/linux/linux-5.10/drivers/usb/gadget/function/
Duvc_queue.c25 * Video buffers queue management.
31 * the videobuf2 queue operations by serializing calls to videobuf2 and a
32 * spinlock to protect the IRQ queue that holds the buffers to be processed by
37 * videobuf2 queue operations
44 struct uvc_video_queue *queue = vb2_get_drv_priv(vq); in uvc_queue_setup() local
45 struct uvc_video *video = container_of(queue, struct uvc_video, queue); in uvc_queue_setup()
59 struct uvc_video_queue *queue = vb2_get_drv_priv(vb->vb2_queue); in uvc_buffer_prepare() local
69 if (unlikely(queue->flags & UVC_QUEUE_DISCONNECTED)) in uvc_buffer_prepare()
85 struct uvc_video_queue *queue = vb2_get_drv_priv(vb->vb2_queue); in uvc_buffer_queue() local
90 spin_lock_irqsave(&queue->irqlock, flags); in uvc_buffer_queue()
[all …]
/kernel/linux/linux-5.10/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
36 uvc_queue_to_stream(struct uvc_video_queue *queue) in uvc_queue_to_stream() argument
38 return container_of(queue, struct uvc_streaming, queue); in uvc_queue_to_stream()
49 * This function must be called with the queue spinlock held.
51 static void uvc_queue_return_buffers(struct uvc_video_queue *queue, in uvc_queue_return_buffers() argument
58 while (!list_empty(&queue->irqqueue)) { in uvc_queue_return_buffers()
59 struct uvc_buffer *buf = list_first_entry(&queue->irqqueue, in uvc_queue_return_buffers()
61 queue); in uvc_queue_return_buffers()
[all …]
/kernel/linux/linux-4.19/arch/arm/mach-ixp4xx/include/mach/
Dqmgr.h21 #define QUEUE_STAT1_EMPTY 1 /* queue status bits */
37 /* queue interrupt request conditions */
51 u32 statne_h; /* 0x418 - queue nearly empty */
52 u32 statf_h; /* 0x41C - queue full */
60 void qmgr_set_irq(unsigned int queue, int src,
62 void qmgr_enable_irq(unsigned int queue);
63 void qmgr_disable_irq(unsigned int queue);
70 int qmgr_request_queue(unsigned int queue, unsigned int len /* dwords */,
75 int __qmgr_request_queue(unsigned int queue, unsigned int len /* dwords */,
78 #define qmgr_request_queue(queue, len, nearly_empty_watermark, \ argument
[all …]
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-5.10/drivers/nvme/target/
Dtcp.c56 struct nvmet_tcp_queue *queue; member
158 static inline u16 nvmet_tcp_cmd_tag(struct nvmet_tcp_queue *queue, in nvmet_tcp_cmd_tag() argument
161 if (unlikely(!queue->nr_cmds)) { in nvmet_tcp_cmd_tag()
166 return cmd - queue->cmds; in nvmet_tcp_cmd_tag()
194 nvmet_tcp_get_cmd(struct nvmet_tcp_queue *queue) in nvmet_tcp_get_cmd() argument
198 cmd = list_first_entry_or_null(&queue->free_list, in nvmet_tcp_get_cmd()
214 if (unlikely(cmd == &cmd->queue->connect)) in nvmet_tcp_put_cmd()
217 list_add_tail(&cmd->entry, &cmd->queue->free_list); in nvmet_tcp_put_cmd()
220 static inline int queue_cpu(struct nvmet_tcp_queue *queue) in queue_cpu() argument
222 return queue->sock->sk->sk_incoming_cpu; in queue_cpu()
[all …]
/kernel/linux/linux-4.19/drivers/net/wireless/broadcom/b43legacy/
Dpio.c35 static void tx_start(struct b43legacy_pioqueue *queue) in tx_start() argument
37 b43legacy_pio_write(queue, B43legacy_PIO_TXCTL, in tx_start()
41 static void tx_octet(struct b43legacy_pioqueue *queue, in tx_octet() argument
44 if (queue->need_workarounds) { in tx_octet()
45 b43legacy_pio_write(queue, B43legacy_PIO_TXDATA, octet); in tx_octet()
46 b43legacy_pio_write(queue, B43legacy_PIO_TXCTL, in tx_octet()
49 b43legacy_pio_write(queue, B43legacy_PIO_TXCTL, in tx_octet()
51 b43legacy_pio_write(queue, B43legacy_PIO_TXDATA, octet); in tx_octet()
76 static void tx_data(struct b43legacy_pioqueue *queue, in tx_data() argument
84 if (queue->need_workarounds) { in tx_data()
[all …]
/kernel/linux/linux-4.19/drivers/staging/vc04_services/interface/vchiq_arm/
Dvchiq_util.c42 int vchiu_queue_init(VCHIU_QUEUE_T *queue, int size) in vchiu_queue_init() argument
46 queue->size = size; in vchiu_queue_init()
47 queue->read = 0; in vchiu_queue_init()
48 queue->write = 0; in vchiu_queue_init()
49 queue->initialized = 1; in vchiu_queue_init()
51 sema_init(&queue->pop, 0); in vchiu_queue_init()
52 sema_init(&queue->push, 0); in vchiu_queue_init()
54 queue->storage = kcalloc(size, sizeof(VCHIQ_HEADER_T *), GFP_KERNEL); in vchiu_queue_init()
55 if (!queue->storage) { in vchiu_queue_init()
56 vchiu_queue_delete(queue); in vchiu_queue_init()
[all …]
/kernel/liteos_a/kernel/include/
Dlos_queue.h33 * @defgroup los_queue Queue
51 * Queue error code: The maximum number of queue resources is configured to 0.
55 …* Solution: Configure the maximum number of queue resources to be greater than 0. If queue modules…
56 * set the configuration item for the tailoring of the maximum number of queue resources to NO.
62 * Queue error code: The queue block memory fails to be initialized.
66 …* Solution: Allocate the queue block bigger memory partition, or decrease the maximum number of qu…
72 * Queue error code: The memory for queue creation fails to be requested.
76 …* Solution: Allocate more memory for queue creation, or decrease the queue length and the number o…
77 * in the queue to be created.
83 * Queue error code: The size of the biggest message in the created queue is too big.
[all …]
/kernel/linux/linux-4.19/drivers/scsi/arm/
Dqueue.h2 * linux/drivers/acorn/scsi/queue.h: queue handling
21 * Function: void queue_initialise (Queue_t *queue)
22 * Purpose : initialise a queue
23 * Params : queue - queue to initialise
25 extern int queue_initialise (Queue_t *queue);
28 * Function: void queue_free (Queue_t *queue)
29 * Purpose : free a queue
30 * Params : queue - queue to free
32 extern void queue_free (Queue_t *queue);
35 * Function: struct scsi_cmnd *queue_remove (queue)
[all …]
Dqueue.c2 * linux/drivers/acorn/scsi/queue.c: queue handling primitives
49 #include "queue.h"
54 * Function: void queue_initialise (Queue_t *queue)
55 * Purpose : initialise a queue
56 * Params : queue - queue to initialise
58 int queue_initialise (Queue_t *queue) in queue_initialise() argument
63 spin_lock_init(&queue->queue_lock); in queue_initialise()
64 INIT_LIST_HEAD(&queue->head); in queue_initialise()
65 INIT_LIST_HEAD(&queue->free); in queue_initialise()
73 queue->alloc = q = kmalloc_array(nqueues, sizeof(QE_t), GFP_KERNEL); in queue_initialise()
[all …]
/kernel/linux/linux-5.10/drivers/scsi/arm/
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 …]
Dqueue.c3 * linux/drivers/acorn/scsi/queue.c: queue handling primitives
46 #include "queue.h"
51 * Function: void queue_initialise (Queue_t *queue)
52 * Purpose : initialise a queue
53 * Params : queue - queue to initialise
55 int queue_initialise (Queue_t *queue) in queue_initialise() argument
60 spin_lock_init(&queue->queue_lock); in queue_initialise()
61 INIT_LIST_HEAD(&queue->head); in queue_initialise()
62 INIT_LIST_HEAD(&queue->free); in queue_initialise()
70 queue->alloc = q = kmalloc_array(nqueues, sizeof(QE_t), GFP_KERNEL); in queue_initialise()
[all …]
/kernel/liteos_m/kernel/include/
Dlos_queue.h33 * @defgroup los_queue Queue
51 * Queue error code: The maximum number of queue resources is configured to 0.
55 …* Solution: Configure the maximum number of queue resources to be greater than 0. If queue modules…
56 * set the configuration item for the tailoring of the maximum number of queue resources to NO.
62 * Queue error code: The queue block memory fails to be initialized.
66 …* Solution: Allocate the queue block bigger memory partition, or decrease the maximum number of qu…
72 * Queue error code: The memory for queue creation fails to be requested.
76 …* Solution: Allocate more memory for queue creation, or decrease the queue length and the number o…
77 * in the queue to be created.
83 * Queue error code: The size of the biggest message in the created queue is too big.
[all …]
/kernel/linux/linux-5.10/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.c47 /* Number of bytes allowed on the internal guest Rx queue. */
55 void xenvif_skb_zerocopy_prepare(struct xenvif_queue *queue, in xenvif_skb_zerocopy_prepare() argument
59 atomic_inc(&queue->inflight_packets); in xenvif_skb_zerocopy_prepare()
62 void xenvif_skb_zerocopy_complete(struct xenvif_queue *queue) in xenvif_skb_zerocopy_complete() argument
64 atomic_dec(&queue->inflight_packets); in xenvif_skb_zerocopy_complete()
70 wake_up(&queue->dealloc_wq); in xenvif_skb_zerocopy_complete()
80 static bool xenvif_handle_tx_interrupt(struct xenvif_queue *queue) in xenvif_handle_tx_interrupt() argument
84 rc = RING_HAS_UNCONSUMED_REQUESTS(&queue->tx); in xenvif_handle_tx_interrupt()
86 napi_schedule(&queue->napi); in xenvif_handle_tx_interrupt()
92 struct xenvif_queue *queue = dev_id; in xenvif_tx_interrupt() local
[all …]
/kernel/linux/linux-5.10/drivers/nvme/host/
Dtcp.c43 struct nvme_tcp_queue *queue; member
139 static int nvme_tcp_try_send(struct nvme_tcp_queue *queue);
146 static inline int nvme_tcp_queue_id(struct nvme_tcp_queue *queue) in nvme_tcp_queue_id() argument
148 return queue - queue->ctrl->queues; in nvme_tcp_queue_id()
151 static inline struct blk_mq_tags *nvme_tcp_tagset(struct nvme_tcp_queue *queue) in nvme_tcp_tagset() argument
153 u32 queue_idx = nvme_tcp_queue_id(queue); in nvme_tcp_tagset()
156 return queue->ctrl->admin_tag_set.tags[queue_idx]; in nvme_tcp_tagset()
157 return queue->ctrl->tag_set.tags[queue_idx - 1]; in nvme_tcp_tagset()
160 static inline u8 nvme_tcp_hdgst_len(struct nvme_tcp_queue *queue) in nvme_tcp_hdgst_len() argument
162 return queue->hdr_digest ? NVME_TCP_DIGEST_LENGTH : 0; in nvme_tcp_hdgst_len()
[all …]
/kernel/linux/linux-4.19/drivers/net/xen-netback/
Dinterface.c47 /* Number of bytes allowed on the internal guest Rx queue. */
55 void xenvif_skb_zerocopy_prepare(struct xenvif_queue *queue, in xenvif_skb_zerocopy_prepare() argument
59 atomic_inc(&queue->inflight_packets); in xenvif_skb_zerocopy_prepare()
62 void xenvif_skb_zerocopy_complete(struct xenvif_queue *queue) in xenvif_skb_zerocopy_complete() argument
64 atomic_dec(&queue->inflight_packets); in xenvif_skb_zerocopy_complete()
70 wake_up(&queue->dealloc_wq); in xenvif_skb_zerocopy_complete()
80 static bool xenvif_handle_tx_interrupt(struct xenvif_queue *queue) in xenvif_handle_tx_interrupt() argument
84 rc = RING_HAS_UNCONSUMED_REQUESTS(&queue->tx); in xenvif_handle_tx_interrupt()
86 napi_schedule(&queue->napi); in xenvif_handle_tx_interrupt()
92 struct xenvif_queue *queue = dev_id; in xenvif_tx_interrupt() local
[all …]
Drx.c36 static bool xenvif_rx_ring_slots_available(struct xenvif_queue *queue) in xenvif_rx_ring_slots_available() argument
42 skb = skb_peek(&queue->rx_queue); in xenvif_rx_ring_slots_available()
53 prod = queue->rx.sring->req_prod; in xenvif_rx_ring_slots_available()
54 cons = queue->rx.req_cons; in xenvif_rx_ring_slots_available()
59 queue->rx.sring->req_event = prod + 1; in xenvif_rx_ring_slots_available()
65 } while (queue->rx.sring->req_prod != prod); in xenvif_rx_ring_slots_available()
70 void xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb) in xenvif_rx_queue_tail() argument
74 spin_lock_irqsave(&queue->rx_queue.lock, flags); in xenvif_rx_queue_tail()
76 __skb_queue_tail(&queue->rx_queue, skb); in xenvif_rx_queue_tail()
78 queue->rx_queue_len += skb->len; in xenvif_rx_queue_tail()
[all …]
Dnetback.c58 /* The time that packets can stay on the guest Rx internal queue
99 static void xenvif_idx_release(struct xenvif_queue *queue, u16 pending_idx,
102 static void make_tx_response(struct xenvif_queue *queue,
106 static void push_tx_responses(struct xenvif_queue *queue);
108 static inline int tx_work_todo(struct xenvif_queue *queue);
110 static inline unsigned long idx_to_pfn(struct xenvif_queue *queue, in idx_to_pfn() argument
113 return page_to_pfn(queue->mmap_pages[idx]); in idx_to_pfn()
116 static inline unsigned long idx_to_kaddr(struct xenvif_queue *queue, in idx_to_kaddr() argument
119 return (unsigned long)pfn_to_kaddr(idx_to_pfn(queue, idx)); in idx_to_kaddr()
152 void xenvif_kick_thread(struct xenvif_queue *queue) in xenvif_kick_thread() argument
[all …]
/kernel/linux/linux-4.19/drivers/gpu/drm/nouveau/nvkm/falcon/
Dmsgqueue.c36 msg_queue_open(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue) in msg_queue_open() argument
40 mutex_lock(&queue->mutex); in msg_queue_open()
42 queue->position = nvkm_falcon_rd32(falcon, queue->tail_reg); in msg_queue_open()
48 msg_queue_close(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue, in msg_queue_close() argument
54 nvkm_falcon_wr32(falcon, queue->tail_reg, queue->position); in msg_queue_close()
56 mutex_unlock(&queue->mutex); in msg_queue_close()
60 msg_queue_empty(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue) in msg_queue_empty() argument
65 head = nvkm_falcon_rd32(falcon, queue->head_reg); in msg_queue_empty()
66 tail = nvkm_falcon_rd32(falcon, queue->tail_reg); in msg_queue_empty()
72 msg_queue_pop(struct nvkm_msgqueue *priv, struct nvkm_msgqueue_queue *queue, in msg_queue_pop() argument
[all …]
/kernel/linux/linux-4.19/drivers/iio/buffer/
Dindustrialio-buffer-dma.c35 * means of two queues. The incoming queue and the outgoing queue. Blocks on the
36 * incoming queue are waiting for the DMA controller to pick them up and fill
37 * them with data. Block on the outgoing queue have been filled with data and
53 * incoming or outgoing queue the block will be freed.
102 dma_free_coherent(block->queue->dev, PAGE_ALIGN(block->size), in iio_buffer_block_release()
105 iio_buffer_put(&block->queue->buffer); in iio_buffer_block_release()
168 struct iio_dma_buffer_queue *queue, size_t size) in iio_dma_buffer_alloc_block() argument
176 block->vaddr = dma_alloc_coherent(queue->dev, PAGE_ALIGN(size), in iio_dma_buffer_alloc_block()
185 block->queue = queue; in iio_dma_buffer_alloc_block()
189 iio_buffer_get(&queue->buffer); in iio_dma_buffer_alloc_block()
[all …]

12345678910>>...242