Lines Matching refs:buf

25 int ivtv_buf_copy_from_user(struct ivtv_stream *s, struct ivtv_buffer *buf, const char __user *src,…  in ivtv_buf_copy_from_user()  argument
27 if (s->buf_size - buf->bytesused < copybytes) in ivtv_buf_copy_from_user()
28 copybytes = s->buf_size - buf->bytesused; in ivtv_buf_copy_from_user()
29 if (copy_from_user(buf->buf + buf->bytesused, src, copybytes)) { in ivtv_buf_copy_from_user()
32 buf->bytesused += copybytes; in ivtv_buf_copy_from_user()
36 void ivtv_buf_swap(struct ivtv_buffer *buf) in ivtv_buf_swap() argument
40 for (i = 0; i < buf->bytesused; i += 4) in ivtv_buf_swap()
41 swab32s((u32 *)(buf->buf + i)); in ivtv_buf_swap()
52 void ivtv_enqueue(struct ivtv_stream *s, struct ivtv_buffer *buf, struct ivtv_queue *q) in ivtv_enqueue() argument
58 buf->bytesused = 0; in ivtv_enqueue()
59 buf->readpos = 0; in ivtv_enqueue()
60 buf->b_flags = 0; in ivtv_enqueue()
61 buf->dma_xfer_cnt = 0; in ivtv_enqueue()
64 list_add_tail(&buf->list, &q->list); in ivtv_enqueue()
67 q->bytesused += buf->bytesused - buf->readpos; in ivtv_enqueue()
73 struct ivtv_buffer *buf = NULL; in ivtv_dequeue() local
78 buf = list_entry(q->list.next, struct ivtv_buffer, list); in ivtv_dequeue()
82 q->bytesused -= buf->bytesused - buf->readpos; in ivtv_dequeue()
85 return buf; in ivtv_dequeue()
91 struct ivtv_buffer *buf = list_entry(from->list.next, struct ivtv_buffer, list); in ivtv_queue_move_buf() local
96 from->bytesused -= buf->bytesused - buf->readpos; in ivtv_queue_move_buf()
99 buf->bytesused = buf->readpos = buf->b_flags = buf->dma_xfer_cnt = 0; in ivtv_queue_move_buf()
102 to->bytesused += buf->bytesused - buf->readpos; in ivtv_queue_move_buf()
145 struct ivtv_buffer *buf = list_entry(steal->list.prev, struct ivtv_buffer, list); in ivtv_queue_move() local
146 u16 dma_xfer_cnt = buf->dma_xfer_cnt; in ivtv_queue_move()
152 while (dma_xfer_cnt == buf->dma_xfer_cnt) { in ivtv_queue_move()
157 steal->bytesused -= buf->bytesused - buf->readpos; in ivtv_queue_move()
158 buf->bytesused = buf->readpos = buf->b_flags = buf->dma_xfer_cnt = 0; in ivtv_queue_move()
164 buf = list_entry(steal->list.prev, struct ivtv_buffer, list); in ivtv_queue_move()
240 struct ivtv_buffer *buf = kzalloc(sizeof(struct ivtv_buffer), in ivtv_stream_alloc() local
243 if (buf == NULL) in ivtv_stream_alloc()
245 buf->buf = kmalloc(s->buf_size + 256, GFP_KERNEL|__GFP_NOWARN); in ivtv_stream_alloc()
246 if (buf->buf == NULL) { in ivtv_stream_alloc()
247 kfree(buf); in ivtv_stream_alloc()
250 INIT_LIST_HEAD(&buf->list); in ivtv_stream_alloc()
252 buf->dma_handle = pci_map_single(s->itv->pdev, in ivtv_stream_alloc()
253 buf->buf, s->buf_size + 256, s->dma); in ivtv_stream_alloc()
254 ivtv_buf_sync_for_cpu(s, buf); in ivtv_stream_alloc()
256 ivtv_enqueue(s, buf, &s->q_free); in ivtv_stream_alloc()
267 struct ivtv_buffer *buf; in ivtv_stream_free() local
273 while ((buf = ivtv_dequeue(s, &s->q_free))) { in ivtv_stream_free()
275 pci_unmap_single(s->itv->pdev, buf->dma_handle, in ivtv_stream_free()
277 kfree(buf->buf); in ivtv_stream_free()
278 kfree(buf); in ivtv_stream_free()