Lines Matching defs:dma_q
73 struct cx231xx_dmaqueue *dma_q = urb->context;
98 if (dma_q->is_partial_line) {
101 sav_eav = dma_q->last_sav;
107 dma_q->partial_buf,
115 bytes_parsed += cx231xx_get_vbi_line(dev, dma_q,
122 dma_q->is_partial_line = 0;
137 dma_q, sav_eav, /* SAV/EAV */
145 memcpy(dma_q->partial_buf, p_buffer + buffer_size - 4, 4);
259 struct cx231xx_dmaqueue *dma_q = urb->context;
261 container_of(dma_q, struct cx231xx_video_mode, vidq);
345 struct cx231xx_dmaqueue *dma_q = &dev->vbi_mode.vidq;
363 dma_q->pos = 0;
364 dma_q->is_partial_line = 0;
365 dma_q->last_sav = 0;
366 dma_q->current_field = -1;
367 dma_q->bytes_left_in_line = dev->width << 1;
368 dma_q->lines_per_field = ((dev->norm & V4L2_STD_625_50) ?
370 dma_q->lines_completed = 0;
372 dma_q->partial_buf[i] = 0;
420 sb_size, cx231xx_irq_vbi_callback, dma_q);
423 init_waitqueue_head(&dma_q->wq);
442 u32 cx231xx_get_vbi_line(struct cx231xx *dev, struct cx231xx_dmaqueue *dma_q,
464 dma_q->last_sav = sav_eav;
467 cx231xx_copy_vbi_line(dev, dma_q, p_buffer, buffer_size,
477 struct cx231xx_dmaqueue *dma_q,
483 buf->vb.sequence = dma_q->sequence++;
492 u32 cx231xx_copy_vbi_line(struct cx231xx *dev, struct cx231xx_dmaqueue *dma_q,
499 if (dma_q->current_field == -1) {
501 cx231xx_reset_vbi_buffer(dev, dma_q);
504 if (dma_q->current_field != field_number)
505 dma_q->lines_completed = 0;
511 dma_q->current_field = field_number;
513 bytes_to_copy = dma_q->bytes_left_in_line;
517 if (dma_q->lines_completed >= dma_q->lines_per_field) {
518 dma_q->bytes_left_in_line -= bytes_to_copy;
519 dma_q->is_partial_line =
520 (dma_q->bytes_left_in_line == 0) ? 0 : 1;
524 dma_q->is_partial_line = 1;
529 dma_q->bytes_left_in_line -= bytes_to_copy;
530 dma_q->is_partial_line =
531 (dma_q->bytes_left_in_line == 0) ? 0 : 1;
536 cx231xx_do_vbi_copy(dev, dma_q, p_line, bytes_to_copy);
538 dma_q->pos += bytes_to_copy;
539 dma_q->bytes_left_in_line -= bytes_to_copy;
541 if (dma_q->bytes_left_in_line == 0) {
543 dma_q->bytes_left_in_line = _line_size;
544 dma_q->lines_completed++;
545 dma_q->is_partial_line = 0;
547 if (cx231xx_is_vbi_buffer_done(dev, dma_q) && buf) {
549 vbi_buffer_filled(dev, dma_q, buf);
551 dma_q->pos = 0;
552 dma_q->lines_completed = 0;
553 cx231xx_reset_vbi_buffer(dev, dma_q);
563 static inline void get_next_vbi_buf(struct cx231xx_dmaqueue *dma_q,
567 container_of(dma_q, struct cx231xx_video_mode, vidq);
571 if (list_empty(&dma_q->active)) {
579 *buf = list_entry(dma_q->active.next, struct cx231xx_buffer, list);
591 struct cx231xx_dmaqueue *dma_q)
599 get_next_vbi_buf(dma_q, &buf);
601 dma_q->pos = 0;
602 dma_q->current_field = -1;
605 dma_q->bytes_left_in_line = dev->width << 1;
606 dma_q->lines_completed = 0;
609 int cx231xx_do_vbi_copy(struct cx231xx *dev, struct cx231xx_dmaqueue *dma_q,
626 if (dma_q->bytes_left_in_line != _line_size) {
628 _line_size - dma_q->bytes_left_in_line;
631 offset = (dma_q->lines_completed * _line_size) +
634 if (dma_q->current_field == 2) {
636 offset += (dev->width * 2 * dma_q->lines_per_field);
642 lencopy = dma_q->bytes_left_in_line > bytes_to_copy ?
643 bytes_to_copy : dma_q->bytes_left_in_line;
651 struct cx231xx_dmaqueue *dma_q)
657 if (dma_q->lines_completed == height && dma_q->current_field == 2)