Lines Matching refs:vidq
124 struct viu_dmaqueue vidq; member
289 static int restart_video_queue(struct viu_dmaqueue *vidq) in restart_video_queue() argument
293 dprintk(1, "%s vidq=0x%08lx\n", __func__, (unsigned long)vidq); in restart_video_queue()
294 if (!list_empty(&vidq->active)) { in restart_video_queue()
295 buf = list_entry(vidq->active.next, struct viu_buf, vb.queue); in restart_video_queue()
299 viu_stop_dma(vidq->dev); in restart_video_queue()
302 list_for_each_entry_safe(buf, prev, &vidq->active, vb.queue) { in restart_video_queue()
307 mod_timer(&vidq->timeout, jiffies+BUFFER_TIMEOUT); in restart_video_queue()
313 if (list_empty(&vidq->queued)) in restart_video_queue()
315 buf = list_entry(vidq->queued.next, struct viu_buf, vb.queue); in restart_video_queue()
317 list_move_tail(&buf->vb.queue, &vidq->active); in restart_video_queue()
320 viu_stop_dma(vidq->dev); in restart_video_queue()
321 viu_start_dma(vidq->dev); in restart_video_queue()
324 mod_timer(&vidq->timeout, jiffies+BUFFER_TIMEOUT); in restart_video_queue()
331 list_move_tail(&buf->vb.queue, &vidq->active); in restart_video_queue()
346 struct viu_dmaqueue *vidq = &dev->vidq; in viu_vid_timeout() local
348 while (!list_empty(&vidq->active)) { in viu_vid_timeout()
349 buf = list_entry(vidq->active.next, struct viu_buf, vb.queue); in viu_vid_timeout()
356 restart_video_queue(vidq); in viu_vid_timeout()
441 mod_timer(&dev->vidq.timeout, jiffies + BUFFER_TIMEOUT); in buffer_activate()
496 struct viu_dmaqueue *vidq = &dev->vidq; in buffer_queue() local
499 if (!list_empty(&vidq->queued)) { in buffer_queue()
503 vidq, &vidq->queued); in buffer_queue()
505 dev, &vidq->queued, vidq->queued.next, in buffer_queue()
506 vidq->queued.prev); in buffer_queue()
507 list_add_tail(&buf->vb.queue, &vidq->queued); in buffer_queue()
511 } else if (list_empty(&vidq->active)) { in buffer_queue()
514 list_add_tail(&buf->vb.queue, &vidq->active); in buffer_queue()
516 mod_timer(&vidq->timeout, jiffies+BUFFER_TIMEOUT); in buffer_queue()
524 prev = list_entry(vidq->active.prev, struct viu_buf, vb.queue); in buffer_queue()
528 list_add_tail(&buf->vb.queue, &vidq->active); in buffer_queue()
533 list_add_tail(&buf->vb.queue, &vidq->queued); in buffer_queue()
967 struct viu_dmaqueue *vidq = viuq; in viu_activate_next_buf() local
971 if (!list_empty(&vidq->active)) { in viu_activate_next_buf()
972 buf = list_entry(vidq->active.next, struct viu_buf, in viu_activate_next_buf()
976 } else if (!list_empty(&vidq->queued)) { in viu_activate_next_buf()
977 buf = list_entry(vidq->queued.next, struct viu_buf, in viu_activate_next_buf()
982 list_add_tail(&buf->vb.queue, &vidq->active); in viu_activate_next_buf()
1034 struct viu_dmaqueue *vidq = &dev->vidq; in viu_capture_intr() local
1058 viu_activate_next_buf(dev, vidq); in viu_capture_intr()
1065 if (!list_empty(&vidq->active)) { in viu_capture_intr()
1085 buf = list_entry(vidq->active.next, in viu_capture_intr()
1100 viu_activate_next_buf(dev, vidq); in viu_capture_intr()
1215 (unsigned long)&dev->vidq); in viu_open()
1217 list_empty(&dev->vidq.queued)); in viu_open()
1219 list_empty(&dev->vidq.active)); in viu_open()
1444 INIT_LIST_HEAD(&viu_dev->vidq.active); in viu_of_probe()
1445 INIT_LIST_HEAD(&viu_dev->vidq.queued); in viu_of_probe()
1469 viu_dev->vidq.timeout.function = viu_vid_timeout; in viu_of_probe()
1470 viu_dev->vidq.timeout.data = (unsigned long)viu_dev; in viu_of_probe()
1471 init_timer(&viu_dev->vidq.timeout); in viu_of_probe()