Lines Matching refs:aq

28 	struct ipu6_isys_queue *aq = vb2_queue_to_isys_queue(q);
29 struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
49 struct ipu6_isys_queue *aq = vb2_queue_to_isys_queue(vb->vb2_queue);
50 struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
89 struct ipu6_isys_queue *aq =
93 av = ipu6_isys_queue_to_video(aq);
95 spin_lock_irqsave(&aq->lock, flags);
98 list_add(&ib->head, &aq->active);
100 list_add_tail(&ib->head, &aq->incoming);
101 spin_unlock_irqrestore(&aq->lock, flags);
127 struct ipu6_isys_queue *aq;
132 list_for_each_entry(aq, &stream->queues, node) {
133 struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
136 spin_lock_irqsave(&aq->lock, flags);
137 list_for_each_entry_safe(ib, ib_safe, &aq->active, head) {
147 list_add(&ib->head, &aq->incoming);
156 spin_unlock_irqrestore(&aq->lock, flags);
169 struct ipu6_isys_queue *aq;
176 list_for_each_entry(aq, &stream->queues, node) {
179 spin_lock_irqsave(&aq->lock, flags);
180 if (list_empty(&aq->incoming)) {
181 spin_unlock_irqrestore(&aq->lock, flags);
187 ib = list_last_entry(&aq->incoming,
191 ipu6_isys_queue_to_video(aq)->vdev.name,
195 spin_unlock_irqrestore(&aq->lock, flags);
209 struct ipu6_isys_queue *aq = vb2_queue_to_isys_queue(vb->vb2_queue);
211 set->output_pins[aq->fw_output].addr =
213 set->output_pins[aq->fw_output].out_buf_id = vb->index + 1;
316 struct ipu6_isys_queue *aq = vb2_queue_to_isys_queue(vb->vb2_queue);
317 struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
338 spin_lock_irqsave(&aq->lock, flags);
339 list_add(&ib->head, &aq->incoming);
340 spin_unlock_irqrestore(&aq->lock, flags);
401 static int ipu6_isys_link_fmt_validate(struct ipu6_isys_queue *aq)
404 struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
446 static void return_buffers(struct ipu6_isys_queue *aq,
449 struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
454 spin_lock_irqsave(&aq->lock, flags);
455 while (!list_empty(&aq->incoming)) {
458 ib = list_first_entry(&aq->incoming, struct ipu6_isys_buffer,
462 spin_unlock_irqrestore(&aq->lock, flags);
466 spin_lock_irqsave(&aq->lock, flags);
474 while (!list_empty(&aq->active)) {
477 ib = list_first_entry(&aq->active, struct ipu6_isys_buffer,
482 spin_unlock_irqrestore(&aq->lock, flags);
486 spin_lock_irqsave(&aq->lock, flags);
490 spin_unlock_irqrestore(&aq->lock, flags);
508 struct ipu6_isys_queue *aq = vb2_queue_to_isys_queue(q);
509 struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
528 ret = ipu6_isys_link_fmt_validate(aq);
553 list_add(&aq->node, &stream->queues);
579 list_del(&aq->node);
590 return_buffers(aq, VB2_BUF_STATE_QUEUED);
597 struct ipu6_isys_queue *aq = vb2_queue_to_isys_queue(q);
598 struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
613 list_del(&aq->node);
619 return_buffers(aq, VB2_BUF_STATE_ERROR);
675 struct ipu6_isys_queue *aq = vb2_queue_to_isys_queue(vb->vb2_queue);
676 struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
713 struct ipu6_isys_queue *aq = stream->output_pins[info->pin_id].aq;
722 spin_lock_irqsave(&aq->lock, flags);
723 if (list_empty(&aq->active)) {
724 spin_unlock_irqrestore(&aq->lock, flags);
729 list_for_each_entry_reverse(ib, &aq->active, head) {
757 spin_unlock_irqrestore(&aq->lock, flags);
768 spin_unlock_irqrestore(&aq->lock, flags);
781 int ipu6_isys_queue_init(struct ipu6_isys_queue *aq)
783 struct ipu6_isys *isys = ipu6_isys_queue_to_video(aq)->isys;
784 struct ipu6_isys_video *av = ipu6_isys_queue_to_video(aq);
788 if (!aq->vbq.io_modes)
789 aq->vbq.io_modes = VB2_MMAP | VB2_DMABUF;
791 aq->vbq.drv_priv = aq;
792 aq->vbq.ops = &ipu6_isys_queue_ops;
793 aq->vbq.lock = &av->mutex;
794 aq->vbq.mem_ops = &vb2_dma_contig_memops;
795 aq->vbq.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
796 aq->vbq.min_queued_buffers = 1;
797 aq->vbq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
799 ret = vb2_queue_init(&aq->vbq);
803 aq->dev = &isys->adev->auxdev.dev;
804 aq->vbq.dev = &isys->adev->auxdev.dev;
805 spin_lock_init(&aq->lock);
806 INIT_LIST_HEAD(&aq->active);
807 INIT_LIST_HEAD(&aq->incoming);