Lines Matching refs:output

404 	struct vfe_output *output;  in vfe_get_output()  local
410 output = &line->output; in vfe_get_output()
411 if (output->state > VFE_OUTPUT_RESERVED) { in vfe_get_output()
416 output->wm_num = 1; in vfe_get_output()
423 output->wm_idx[0] = wm_idx; in vfe_get_output()
425 output->drop_update_idx = 0; in vfe_get_output()
432 vfe_release_wm(vfe, output->wm_idx[0]); in vfe_get_output()
433 output->state = VFE_OUTPUT_OFF; in vfe_get_output()
443 struct vfe_output *output = &line->output; in vfe_enable_output() local
464 if (output->state > VFE_OUTPUT_RESERVED) { in vfe_enable_output()
466 output->state); in vfe_enable_output()
471 WARN_ON(output->gen2.active_num); in vfe_enable_output()
473 output->state = VFE_OUTPUT_ON; in vfe_enable_output()
475 output->sequence = 0; in vfe_enable_output()
476 output->wait_reg_update = 0; in vfe_enable_output()
477 reinit_completion(&output->reg_update); in vfe_enable_output()
479 vfe_wm_start(vfe, output->wm_idx[0], line); in vfe_enable_output()
482 output->buf[i] = vfe_buf_get_pending(output); in vfe_enable_output()
483 if (!output->buf[i]) in vfe_enable_output()
485 output->gen2.active_num++; in vfe_enable_output()
486 vfe_wm_update(vfe, output->wm_idx[0], output->buf[i]->addr[0], line); in vfe_enable_output()
499 struct vfe_output *output = &line->output; in vfe_disable_output() local
504 for (i = 0; i < output->wm_num; i++) in vfe_disable_output()
505 vfe_wm_stop(vfe, output->wm_idx[i]); in vfe_disable_output()
506 output->gen2.active_num = 0; in vfe_disable_output()
597 struct vfe_output *output; in vfe_isr_reg_update() local
603 output = &vfe->line[line_id].output; in vfe_isr_reg_update()
605 if (output->wait_reg_update) { in vfe_isr_reg_update()
606 output->wait_reg_update = 0; in vfe_isr_reg_update()
607 complete(&output->reg_update); in vfe_isr_reg_update()
622 struct vfe_output *output; in vfe_isr_wm_done() local
634 output = &vfe->line[vfe->wm_output_map[wm]].output; in vfe_isr_wm_done()
636 ready_buf = output->buf[0]; in vfe_isr_wm_done()
639 "Missing ready buf %d!\n", output->state); in vfe_isr_wm_done()
644 ready_buf->vb.sequence = output->sequence++; in vfe_isr_wm_done()
647 output->buf[0] = output->buf[1]; in vfe_isr_wm_done()
648 if (output->buf[0]) in vfe_isr_wm_done()
651 output->buf[index] = vfe_buf_get_pending(output); in vfe_isr_wm_done()
653 if (output->buf[index]) in vfe_isr_wm_done()
654 vfe_wm_update(vfe, output->wm_idx[0], output->buf[index]->addr[0], line); in vfe_isr_wm_done()
656 output->gen2.active_num--; in vfe_isr_wm_done()
719 struct vfe_output *output; in vfe_queue_buffer() local
722 output = &line->output; in vfe_queue_buffer()
726 if (output->state == VFE_OUTPUT_ON && output->gen2.active_num < 2) { in vfe_queue_buffer()
727 output->buf[output->gen2.active_num++] = buf; in vfe_queue_buffer()
728 vfe_wm_update(vfe, output->wm_idx[0], buf->addr[0], line); in vfe_queue_buffer()
730 vfe_buf_add_pending(output, buf); in vfe_queue_buffer()