Lines Matching refs:output
405 struct vfe_output *output; in vfe_get_output() local
411 output = &line->output; in vfe_get_output()
412 if (output->state != VFE_OUTPUT_OFF) { in vfe_get_output()
417 output->wm_num = 1; in vfe_get_output()
424 output->wm_idx[0] = wm_idx; in vfe_get_output()
426 output->drop_update_idx = 0; in vfe_get_output()
433 vfe_release_wm(vfe, output->wm_idx[0]); in vfe_get_output()
434 output->state = VFE_OUTPUT_OFF; in vfe_get_output()
444 struct vfe_output *output = &line->output; in vfe_enable_output() local
465 if (output->state != VFE_OUTPUT_OFF) { in vfe_enable_output()
467 output->state); in vfe_enable_output()
472 WARN_ON(output->gen2.active_num); in vfe_enable_output()
474 output->state = VFE_OUTPUT_ON; in vfe_enable_output()
476 output->sequence = 0; in vfe_enable_output()
477 output->wait_reg_update = 0; in vfe_enable_output()
478 reinit_completion(&output->reg_update); in vfe_enable_output()
480 vfe_wm_start(vfe, output->wm_idx[0], line); in vfe_enable_output()
483 output->buf[i] = vfe_buf_get_pending(output); in vfe_enable_output()
484 if (!output->buf[i]) in vfe_enable_output()
486 output->gen2.active_num++; in vfe_enable_output()
487 vfe_wm_update(vfe, output->wm_idx[0], output->buf[i]->addr[0], line); in vfe_enable_output()
500 struct vfe_output *output = &line->output; in vfe_disable_output() local
508 done = !output->gen2.active_num; in vfe_disable_output()
515 output->gen2.active_num = 0; in vfe_disable_output()
521 for (i = 0; i < output->wm_num; i++) in vfe_disable_output()
522 vfe_wm_stop(vfe, output->wm_idx[i]); in vfe_disable_output()
613 struct vfe_output *output; in vfe_isr_reg_update() local
619 output = &vfe->line[line_id].output; in vfe_isr_reg_update()
621 if (output->wait_reg_update) { in vfe_isr_reg_update()
622 output->wait_reg_update = 0; in vfe_isr_reg_update()
623 complete(&output->reg_update); in vfe_isr_reg_update()
638 struct vfe_output *output; in vfe_isr_wm_done() local
650 output = &vfe->line[vfe->wm_output_map[wm]].output; in vfe_isr_wm_done()
652 ready_buf = output->buf[0]; in vfe_isr_wm_done()
655 "Missing ready buf %d!\n", output->state); in vfe_isr_wm_done()
660 ready_buf->vb.sequence = output->sequence++; in vfe_isr_wm_done()
663 output->buf[0] = output->buf[1]; in vfe_isr_wm_done()
664 if (output->buf[0]) in vfe_isr_wm_done()
667 output->buf[index] = vfe_buf_get_pending(output); in vfe_isr_wm_done()
669 if (output->buf[index]) in vfe_isr_wm_done()
670 vfe_wm_update(vfe, output->wm_idx[0], output->buf[index]->addr[0], line); in vfe_isr_wm_done()
672 output->gen2.active_num--; in vfe_isr_wm_done()
735 struct vfe_output *output; in vfe_queue_buffer() local
738 output = &line->output; in vfe_queue_buffer()
742 if (output->state == VFE_OUTPUT_ON && output->gen2.active_num < 2) { in vfe_queue_buffer()
743 output->buf[output->gen2.active_num++] = buf; in vfe_queue_buffer()
744 vfe_wm_update(vfe, output->wm_idx[0], buf->addr[0], line); in vfe_queue_buffer()
746 vfe_buf_add_pending(output, buf); in vfe_queue_buffer()