Lines Matching defs:dma_q

165 				 struct cx231xx_dmaqueue *dma_q,
170 buf->vb.sequence = dma_q->sequence++;
225 static inline void get_next_buf(struct cx231xx_dmaqueue *dma_q,
229 container_of(dma_q, struct cx231xx_video_mode, vidq);
234 if (list_empty(&dma_q->active)) {
245 *buf = list_entry(dma_q->active.next, struct cx231xx_buffer, list);
264 struct cx231xx_dmaqueue *dma_q = urb->context;
306 if (dma_q->is_partial_line) {
308 sav_eav = dma_q->last_sav;
314 dma_q->partial_buf,
322 bytes_parsed += cx231xx_get_video_line(dev, dma_q,
329 /* dma_q->is_partial_line = 0; */
344 dma_q, sav_eav, /* SAV/EAV */
352 memcpy(dma_q->partial_buf, p_buffer + buffer_size - 4, 4);
361 struct cx231xx_dmaqueue *dma_q = urb->context;
385 if (dma_q->is_partial_line) {
387 sav_eav = dma_q->last_sav;
393 dma_q->partial_buf,
401 bytes_parsed += cx231xx_get_video_line(dev, dma_q,
408 /* dma_q->is_partial_line = 0; */
423 dma_q, sav_eav, /* SAV/EAV */
431 memcpy(dma_q->partial_buf, p_buffer + buffer_size - 4, 4);
498 struct cx231xx_dmaqueue *dma_q, u8 sav_eav,
534 dma_q->last_sav = sav_eav;
536 bytes_copied = cx231xx_copy_video_line(dev, dma_q, p_buffer,
543 struct cx231xx_dmaqueue *dma_q, u8 *p_line,
550 if (dma_q->current_field != field_number)
551 cx231xx_reset_video_buffer(dev, dma_q);
560 dma_q->current_field = field_number;
562 bytes_to_copy = dma_q->bytes_left_in_line;
566 if (dma_q->lines_completed >= dma_q->lines_per_field) {
567 dma_q->bytes_left_in_line -= bytes_to_copy;
568 dma_q->is_partial_line = (dma_q->bytes_left_in_line == 0) ?
573 dma_q->is_partial_line = 1;
578 dma_q->bytes_left_in_line -= bytes_to_copy;
579 dma_q->is_partial_line = (dma_q->bytes_left_in_line == 0)
585 cx231xx_do_copy(dev, dma_q, p_line, bytes_to_copy);
587 dma_q->pos += bytes_to_copy;
588 dma_q->bytes_left_in_line -= bytes_to_copy;
590 if (dma_q->bytes_left_in_line == 0) {
591 dma_q->bytes_left_in_line = _line_size;
592 dma_q->lines_completed++;
593 dma_q->is_partial_line = 0;
595 if (cx231xx_is_buffer_done(dev, dma_q) && buf) {
596 buffer_filled(dev, dma_q, buf);
598 dma_q->pos = 0;
600 dma_q->lines_completed = 0;
608 struct cx231xx_dmaqueue *dma_q)
613 if (dma_q->current_field == 1) {
614 if (dma_q->lines_completed >= dma_q->lines_per_field)
615 dma_q->field1_done = 1;
617 dma_q->field1_done = 0;
627 get_next_buf(dma_q, &buf);
629 dma_q->pos = 0;
630 dma_q->field1_done = 0;
631 dma_q->current_field = -1;
635 dma_q->bytes_left_in_line = dev->width << 1;
636 dma_q->lines_completed = 0;
639 int cx231xx_do_copy(struct cx231xx *dev, struct cx231xx_dmaqueue *dma_q,
659 current_line_bytes_copied = _line_size - dma_q->bytes_left_in_line;
662 offset = (dma_q->current_field == 1) ? 0 : _line_size;
668 startwrite += (dma_q->lines_completed * _line_size * 2);
673 lencopy = dma_q->bytes_left_in_line > bytes_to_copy ?
674 bytes_to_copy : dma_q->bytes_left_in_line;
696 u8 cx231xx_is_buffer_done(struct cx231xx *dev, struct cx231xx_dmaqueue *dma_q)
701 buffer_complete = ((dma_q->current_field == 2) &&
702 (dma_q->lines_completed >= dma_q->lines_per_field) &&
703 dma_q->field1_done);