Lines Matching refs:vb
124 struct videobuf_buffer vb; member
335 buf = list_entry(vidq->active.next, struct viu_buf, vb.queue); in restart_video_queue()
337 buf, buf->vb.i); in restart_video_queue()
342 list_for_each_entry_safe(buf, prev, &vidq->active, vb.queue) { in restart_video_queue()
343 list_del(&buf->vb.queue); in restart_video_queue()
344 buf->vb.state = VIDEOBUF_ERROR; in restart_video_queue()
345 wake_up(&buf->vb.done); in restart_video_queue()
355 buf = list_entry(vidq->queued.next, struct viu_buf, vb.queue); in restart_video_queue()
357 list_move_tail(&buf->vb.queue, &vidq->active); in restart_video_queue()
363 buf->vb.state = VIDEOBUF_ACTIVE; in restart_video_queue()
366 buf, buf->vb.i); in restart_video_queue()
368 } else if (prev->vb.width == buf->vb.width && in restart_video_queue()
369 prev->vb.height == buf->vb.height && in restart_video_queue()
371 list_move_tail(&buf->vb.queue, &vidq->active); in restart_video_queue()
372 buf->vb.state = VIDEOBUF_ACTIVE; in restart_video_queue()
374 buf, buf->vb.i); in restart_video_queue()
389 buf = list_entry(vidq->active.next, struct viu_buf, vb.queue); in viu_vid_timeout()
390 list_del(&buf->vb.queue); in viu_vid_timeout()
391 buf->vb.state = VIDEOBUF_ERROR; in viu_vid_timeout()
392 wake_up(&buf->vb.done); in viu_vid_timeout()
393 dprintk(1, "viu/0: [%p/%d] timeout\n", buf, buf->vb.i); in viu_vid_timeout()
420 struct videobuf_buffer *vb = &buf->vb; in free_buffer() local
425 videobuf_waiton(vq, &buf->vb, 0, 0); in free_buffer()
428 vaddr = vq->int_ops->vaddr(vb); in free_buffer()
431 videobuf_dma_contig_free(vq, &buf->vb); in free_buffer()
433 buf->vb.state = VIDEOBUF_NEEDS_INIT; in free_buffer()
442 reg_val.field_base_addr = videobuf_to_dma_contig(&buf->vb); in buffer_activate()
445 buf, buf->vb.i, (unsigned long)reg_val.field_base_addr); in buffer_activate()
453 reg_val.dma_inc = buf->vb.width * 2; in buffer_activate()
457 reg_val.dma_inc = buf->vb.width * 4; in buffer_activate()
466 reg_val.picture_count = (buf->vb.height / 2) << 16 | in buffer_activate()
467 buf->vb.width; in buffer_activate()
471 buf->vb.state = VIDEOBUF_ACTIVE; in buffer_activate()
472 dev->capfield = buf->vb.field; in buffer_activate()
475 if (!V4L2_FIELD_HAS_BOTH(buf->vb.field)) in buffer_activate()
486 struct videobuf_buffer *vb, in buffer_prepare() argument
490 struct viu_buf *buf = container_of(vb, struct viu_buf, vb); in buffer_prepare()
498 buf->vb.size = (fh->width * fh->height * fh->fmt->depth) >> 3; in buffer_prepare()
499 if (buf->vb.baddr != 0 && buf->vb.bsize < buf->vb.size) in buffer_prepare()
503 buf->vb.width != fh->width || in buffer_prepare()
504 buf->vb.height != fh->height || in buffer_prepare()
505 buf->vb.field != field) { in buffer_prepare()
507 buf->vb.width = fh->width; in buffer_prepare()
508 buf->vb.height = fh->height; in buffer_prepare()
509 buf->vb.field = field; in buffer_prepare()
512 if (buf->vb.state == VIDEOBUF_NEEDS_INIT) { in buffer_prepare()
513 rc = videobuf_iolock(vq, &buf->vb, NULL); in buffer_prepare()
517 buf->vb.width = fh->width; in buffer_prepare()
518 buf->vb.height = fh->height; in buffer_prepare()
519 buf->vb.field = field; in buffer_prepare()
523 buf->vb.state = VIDEOBUF_PREPARED; in buffer_prepare()
531 static void buffer_queue(struct videobuf_queue *vq, struct videobuf_buffer *vb) in buffer_queue() argument
533 struct viu_buf *buf = container_of(vb, struct viu_buf, vb); in buffer_queue()
541 (unsigned long)&buf->vb.queue); in buffer_queue()
547 list_add_tail(&buf->vb.queue, &vidq->queued); in buffer_queue()
548 buf->vb.state = VIDEOBUF_QUEUED; in buffer_queue()
550 buf, buf->vb.i); in buffer_queue()
553 (unsigned long)&buf->vb.queue); in buffer_queue()
554 list_add_tail(&buf->vb.queue, &vidq->active); in buffer_queue()
555 buf->vb.state = VIDEOBUF_ACTIVE; in buffer_queue()
558 buf, buf->vb.i); in buffer_queue()
563 (unsigned long)&buf->vb.queue); in buffer_queue()
564 prev = list_entry(vidq->active.prev, struct viu_buf, vb.queue); in buffer_queue()
565 if (prev->vb.width == buf->vb.width && in buffer_queue()
566 prev->vb.height == buf->vb.height && in buffer_queue()
568 list_add_tail(&buf->vb.queue, &vidq->active); in buffer_queue()
569 buf->vb.state = VIDEOBUF_ACTIVE; in buffer_queue()
571 buf, buf->vb.i); in buffer_queue()
573 list_add_tail(&buf->vb.queue, &vidq->queued); in buffer_queue()
574 buf->vb.state = VIDEOBUF_QUEUED; in buffer_queue()
576 buf, buf->vb.i); in buffer_queue()
582 struct videobuf_buffer *vb) in buffer_release() argument
584 struct viu_buf *buf = container_of(vb, struct viu_buf, vb); in buffer_release()
1066 vb.queue); in viu_activate_next_buf()
1071 vb.queue); in viu_activate_next_buf()
1072 list_del(&buf->vb.queue); in viu_activate_next_buf()
1075 list_add_tail(&buf->vb.queue, &vidq->active); in viu_activate_next_buf()
1076 buf->vb.state = VIDEOBUF_ACTIVE; in viu_activate_next_buf()
1179 struct viu_buf, vb.queue); in viu_capture_intr()
1181 buf, buf->vb.i, in viu_capture_intr()
1182 (unsigned long)videobuf_to_dma_contig(&buf->vb), in viu_capture_intr()
1185 if (waitqueue_active(&buf->vb.done)) { in viu_capture_intr()
1186 list_del(&buf->vb.queue); in viu_capture_intr()
1187 v4l2_get_timestamp(&buf->vb.ts); in viu_capture_intr()
1188 buf->vb.state = VIDEOBUF_DONE; in viu_capture_intr()
1189 buf->vb.field_count++; in viu_capture_intr()
1190 wake_up(&buf->vb.done); in viu_capture_intr()