Lines Matching refs:vidq

125 	struct viu_dmaqueue	vidq;
290 static int restart_video_queue(struct viu_dmaqueue *vidq)
294 dprintk(1, "%s vidq=%p\n", __func__, vidq);
295 if (!list_empty(&vidq->active)) {
296 buf = list_entry(vidq->active.next, struct viu_buf, vb.queue);
300 viu_stop_dma(vidq->dev);
303 list_for_each_entry_safe(buf, prev, &vidq->active, vb.queue) {
308 mod_timer(&vidq->timeout, jiffies+BUFFER_TIMEOUT);
314 if (list_empty(&vidq->queued))
316 buf = list_entry(vidq->queued.next, struct viu_buf, vb.queue);
318 list_move_tail(&buf->vb.queue, &vidq->active);
321 viu_stop_dma(vidq->dev);
322 viu_start_dma(vidq->dev);
325 mod_timer(&vidq->timeout, jiffies+BUFFER_TIMEOUT);
332 list_move_tail(&buf->vb.queue, &vidq->active);
345 struct viu_dev *dev = from_timer(dev, t, vidq.timeout);
347 struct viu_dmaqueue *vidq = &dev->vidq;
349 while (!list_empty(&vidq->active)) {
350 buf = list_entry(vidq->active.next, struct viu_buf, vb.queue);
357 restart_video_queue(vidq);
442 mod_timer(&dev->vidq.timeout, jiffies + BUFFER_TIMEOUT);
497 struct viu_dmaqueue *vidq = &dev->vidq;
500 if (!list_empty(&vidq->queued)) {
502 dprintk(1, "vidq pointer 0x%p, queued 0x%p\n",
503 vidq, &vidq->queued);
505 dev, &vidq->queued, vidq->queued.next,
506 vidq->queued.prev);
507 list_add_tail(&buf->vb.queue, &vidq->queued);
511 } else if (list_empty(&vidq->active)) {
513 list_add_tail(&buf->vb.queue, &vidq->active);
515 mod_timer(&vidq->timeout, jiffies+BUFFER_TIMEOUT);
522 prev = list_entry(vidq->active.prev, struct viu_buf, vb.queue);
526 list_add_tail(&buf->vb.queue, &vidq->active);
531 list_add_tail(&buf->vb.queue, &vidq->queued);
958 struct viu_dmaqueue *vidq = viuq;
962 if (!list_empty(&vidq->active)) {
963 buf = list_entry(vidq->active.next, struct viu_buf,
967 } else if (!list_empty(&vidq->queued)) {
968 buf = list_entry(vidq->queued.next, struct viu_buf,
973 list_add_tail(&buf->vb.queue, &vidq->active);
1023 struct viu_dmaqueue *vidq = &dev->vidq;
1047 viu_activate_next_buf(dev, vidq);
1054 if (!list_empty(&vidq->active)) {
1074 buf = list_entry(vidq->active.next,
1089 viu_activate_next_buf(dev, vidq);
1202 dprintk(1, "Open: fh=%p, dev=%p, dev->vidq=%p\n", fh, dev, &dev->vidq);
1204 list_empty(&dev->vidq.queued));
1206 list_empty(&dev->vidq.active));
1433 INIT_LIST_HEAD(&viu_dev->vidq.active);
1434 INIT_LIST_HEAD(&viu_dev->vidq.queued);
1463 timer_setup(&viu_dev->vidq.timeout, viu_vid_timeout, 0);