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_RESERVED) { 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_RESERVED) { 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()
559 struct vfe_output *output; in vfe_isr_reg_update() local
565 output = &vfe->line[line_id].output; in vfe_isr_reg_update()
567 if (output->wait_reg_update) { in vfe_isr_reg_update()
568 output->wait_reg_update = 0; in vfe_isr_reg_update()
569 complete(&output->reg_update); in vfe_isr_reg_update()
584 struct vfe_output *output; in vfe_isr_wm_done() local
596 output = &vfe->line[vfe->wm_output_map[wm]].output; in vfe_isr_wm_done()
598 ready_buf = output->buf[0]; in vfe_isr_wm_done()
601 "Missing ready buf %d!\n", output->state); in vfe_isr_wm_done()
606 ready_buf->vb.sequence = output->sequence++; in vfe_isr_wm_done()
609 output->buf[0] = output->buf[1]; in vfe_isr_wm_done()
610 if (output->buf[0]) in vfe_isr_wm_done()
613 output->buf[index] = vfe_buf_get_pending(output); in vfe_isr_wm_done()
615 if (output->buf[index]) in vfe_isr_wm_done()
616 vfe_wm_update(vfe, output->wm_idx[0], output->buf[index]->addr[0], line); in vfe_isr_wm_done()
618 output->gen2.active_num--; in vfe_isr_wm_done()
645 struct vfe_output *output; in vfe_queue_buffer() local
648 output = &line->output; in vfe_queue_buffer()
652 if (output->state == VFE_OUTPUT_ON && output->gen2.active_num < 2) { in vfe_queue_buffer()
653 output->buf[output->gen2.active_num++] = buf; in vfe_queue_buffer()
654 vfe_wm_update(vfe, output->wm_idx[0], buf->addr[0], line); in vfe_queue_buffer()
656 vfe_buf_add_pending(output, buf); in vfe_queue_buffer()