Lines Matching refs:output
422 struct vfe_output *output; in vfe_get_output() local
428 output = &line->output; in vfe_get_output()
429 if (output->state != VFE_OUTPUT_OFF) { in vfe_get_output()
434 output->wm_num = 1; in vfe_get_output()
441 output->wm_idx[0] = wm_idx; in vfe_get_output()
443 output->drop_update_idx = 0; in vfe_get_output()
450 vfe_release_wm(vfe, output->wm_idx[0]); in vfe_get_output()
451 output->state = VFE_OUTPUT_OFF; in vfe_get_output()
461 struct vfe_output *output = &line->output; in vfe_enable_output() local
482 if (output->state != VFE_OUTPUT_OFF) { in vfe_enable_output()
484 output->state); in vfe_enable_output()
489 WARN_ON(output->gen2.active_num); in vfe_enable_output()
491 output->state = VFE_OUTPUT_ON; in vfe_enable_output()
493 output->sequence = 0; in vfe_enable_output()
494 output->wait_reg_update = 0; in vfe_enable_output()
495 reinit_completion(&output->reg_update); in vfe_enable_output()
497 vfe_wm_start(vfe, output->wm_idx[0], line); in vfe_enable_output()
500 output->buf[i] = vfe_buf_get_pending(output); in vfe_enable_output()
501 if (!output->buf[i]) in vfe_enable_output()
503 output->gen2.active_num++; in vfe_enable_output()
504 vfe_wm_update(vfe, output->wm_idx[0], output->buf[i]->addr[0], line); in vfe_enable_output()
517 struct vfe_output *output = &line->output; in vfe_disable_output() local
525 done = !output->gen2.active_num; in vfe_disable_output()
532 output->gen2.active_num = 0; in vfe_disable_output()
538 for (i = 0; i < output->wm_num; i++) in vfe_disable_output()
539 vfe_wm_stop(vfe, output->wm_idx[i]); in vfe_disable_output()
630 struct vfe_output *output; in vfe_isr_reg_update() local
636 output = &vfe->line[line_id].output; in vfe_isr_reg_update()
638 if (output->wait_reg_update) { in vfe_isr_reg_update()
639 output->wait_reg_update = 0; in vfe_isr_reg_update()
640 complete(&output->reg_update); in vfe_isr_reg_update()
655 struct vfe_output *output; in vfe_isr_wm_done() local
667 output = &vfe->line[vfe->wm_output_map[wm]].output; in vfe_isr_wm_done()
669 ready_buf = output->buf[0]; in vfe_isr_wm_done()
672 "Missing ready buf %d!\n", output->state); in vfe_isr_wm_done()
677 ready_buf->vb.sequence = output->sequence++; in vfe_isr_wm_done()
680 output->buf[0] = output->buf[1]; in vfe_isr_wm_done()
681 if (output->buf[0]) in vfe_isr_wm_done()
684 output->buf[index] = vfe_buf_get_pending(output); in vfe_isr_wm_done()
686 if (output->buf[index]) in vfe_isr_wm_done()
687 vfe_wm_update(vfe, output->wm_idx[0], output->buf[index]->addr[0], line); in vfe_isr_wm_done()
689 output->gen2.active_num--; in vfe_isr_wm_done()
734 struct vfe_output *output; in vfe_queue_buffer() local
737 output = &line->output; in vfe_queue_buffer()
741 if (output->state == VFE_OUTPUT_ON && output->gen2.active_num < 2) { in vfe_queue_buffer()
742 output->buf[output->gen2.active_num++] = buf; in vfe_queue_buffer()
743 vfe_wm_update(vfe, output->wm_idx[0], buf->addr[0], line); in vfe_queue_buffer()
745 vfe_buf_add_pending(output, buf); in vfe_queue_buffer()