Lines Matching refs:output
235 struct vfe_output *output; in vfe_get_output() local
241 output = &line->output; in vfe_get_output()
242 if (output->state != VFE_OUTPUT_OFF) { in vfe_get_output()
247 output->wm_num = 1; in vfe_get_output()
254 output->wm_idx[0] = wm_idx; in vfe_get_output()
256 output->drop_update_idx = 0; in vfe_get_output()
263 vfe_release_wm(vfe, output->wm_idx[0]); in vfe_get_output()
264 output->state = VFE_OUTPUT_OFF; in vfe_get_output()
274 struct vfe_output *output = &line->output; in vfe_enable_output() local
282 if (output->state != VFE_OUTPUT_OFF) { in vfe_enable_output()
284 output->state); in vfe_enable_output()
289 WARN_ON(output->gen2.active_num); in vfe_enable_output()
291 output->state = VFE_OUTPUT_ON; in vfe_enable_output()
293 output->sequence = 0; in vfe_enable_output()
294 output->wait_reg_update = 0; in vfe_enable_output()
295 reinit_completion(&output->reg_update); in vfe_enable_output()
297 vfe_wm_start(vfe, output->wm_idx[0], line); in vfe_enable_output()
300 output->buf[i] = vfe_buf_get_pending(output); in vfe_enable_output()
301 if (!output->buf[i]) in vfe_enable_output()
303 output->gen2.active_num++; in vfe_enable_output()
304 vfe_wm_update(vfe, output->wm_idx[0], output->buf[i]->addr[0], line); in vfe_enable_output()
317 struct vfe_output *output = &line->output; in vfe_disable_output() local
325 done = !output->gen2.active_num; in vfe_disable_output()
332 output->gen2.active_num = 0; in vfe_disable_output()
338 for (i = 0; i < output->wm_num; i++) in vfe_disable_output()
339 vfe_wm_stop(vfe, output->wm_idx[i]); in vfe_disable_output()
420 struct vfe_output *output; in vfe_isr_reg_update() local
426 output = &vfe->line[line_id].output; in vfe_isr_reg_update()
428 if (output->wait_reg_update) { in vfe_isr_reg_update()
429 output->wait_reg_update = 0; in vfe_isr_reg_update()
430 complete(&output->reg_update); in vfe_isr_reg_update()
445 struct vfe_output *output; in vfe_isr_wm_done() local
457 output = &vfe->line[vfe->wm_output_map[wm]].output; in vfe_isr_wm_done()
459 ready_buf = output->buf[0]; in vfe_isr_wm_done()
462 "Missing ready buf %d!\n", output->state); in vfe_isr_wm_done()
467 ready_buf->vb.sequence = output->sequence++; in vfe_isr_wm_done()
470 output->buf[0] = output->buf[1]; in vfe_isr_wm_done()
471 if (output->buf[0]) in vfe_isr_wm_done()
474 output->buf[index] = vfe_buf_get_pending(output); in vfe_isr_wm_done()
476 if (output->buf[index]) in vfe_isr_wm_done()
477 vfe_wm_update(vfe, output->wm_idx[0], output->buf[index]->addr[0], line); in vfe_isr_wm_done()
479 output->gen2.active_num--; in vfe_isr_wm_done()
542 struct vfe_output *output; in vfe_queue_buffer() local
545 output = &line->output; in vfe_queue_buffer()
549 if (output->state == VFE_OUTPUT_ON && output->gen2.active_num < 2) { in vfe_queue_buffer()
550 output->buf[output->gen2.active_num++] = buf; in vfe_queue_buffer()
551 vfe_wm_update(vfe, output->wm_idx[0], buf->addr[0], line); in vfe_queue_buffer()
553 vfe_buf_add_pending(output, buf); in vfe_queue_buffer()