• Home
  • Raw
  • Download

Lines Matching refs:layer

51 			struct vpbe_layer *layer);
72 struct vpbe_layer *layer) in vpbe_isr_even_field() argument
74 if (layer->cur_frm == layer->next_frm) in vpbe_isr_even_field()
77 v4l2_get_timestamp(&layer->cur_frm->vb.timestamp); in vpbe_isr_even_field()
78 vb2_buffer_done(&layer->cur_frm->vb.vb2_buf, VB2_BUF_STATE_DONE); in vpbe_isr_even_field()
80 layer->cur_frm = layer->next_frm; in vpbe_isr_even_field()
84 struct vpbe_layer *layer) in vpbe_isr_odd_field() argument
90 if (list_empty(&layer->dma_queue) || in vpbe_isr_odd_field()
91 (layer->cur_frm != layer->next_frm)) { in vpbe_isr_odd_field()
101 layer->next_frm = list_entry(layer->dma_queue.next, in vpbe_isr_odd_field()
104 list_del(&layer->next_frm->list); in vpbe_isr_odd_field()
107 layer->next_frm->vb.vb2_buf.state = VB2_BUF_STATE_ACTIVE; in vpbe_isr_odd_field()
108 addr = vb2_dma_contig_plane_dma_addr(&layer->next_frm->vb.vb2_buf, 0); in vpbe_isr_odd_field()
110 layer->layer_info.id, in vpbe_isr_odd_field()
119 struct vpbe_layer *layer; in venc_isr() local
149 layer = disp_dev->dev[i]; in venc_isr()
151 if (!vb2_start_streaming_called(&layer->buffer_queue)) in venc_isr()
154 if (layer->layer_first_int) { in venc_isr()
155 layer->layer_first_int = 0; in venc_isr()
159 if ((V4L2_FIELD_NONE == layer->pix_fmt.field) && in venc_isr()
163 vpbe_isr_even_field(disp_dev, layer); in venc_isr()
164 vpbe_isr_odd_field(disp_dev, layer); in venc_isr()
168 layer->field_id ^= 1; in venc_isr()
178 if (fid != layer->field_id) { in venc_isr()
180 layer->field_id = fid; in venc_isr()
188 vpbe_isr_even_field(disp_dev, layer); in venc_isr()
190 vpbe_isr_odd_field(disp_dev, layer); in venc_isr()
206 struct vpbe_layer *layer = vb2_get_drv_priv(q); in vpbe_buffer_prepare() local
207 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_buffer_prepare()
213 vb2_set_plane_payload(vb, 0, layer->pix_fmt.sizeimage); in vpbe_buffer_prepare()
238 struct vpbe_layer *layer = vb2_get_drv_priv(vq); in vpbe_buffer_queue_setup() local
239 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_buffer_queue_setup()
243 if (fmt && fmt->fmt.pix.sizeimage < layer->pix_fmt.sizeimage) in vpbe_buffer_queue_setup()
251 sizes[0] = fmt ? fmt->fmt.pix.sizeimage : layer->pix_fmt.sizeimage; in vpbe_buffer_queue_setup()
252 alloc_ctxs[0] = layer->alloc_ctx; in vpbe_buffer_queue_setup()
267 struct vpbe_layer *layer = vb2_get_drv_priv(vb->vb2_queue); in vpbe_buffer_queue() local
268 struct vpbe_display *disp = layer->disp_dev; in vpbe_buffer_queue()
269 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_buffer_queue()
277 list_add_tail(&buf->list, &layer->dma_queue); in vpbe_buffer_queue()
283 struct vpbe_layer *layer = vb2_get_drv_priv(vq); in vpbe_start_streaming() local
284 struct osd_state *osd_device = layer->disp_dev->osd_device; in vpbe_start_streaming()
287 osd_device->ops.disable_layer(osd_device, layer->layer_info.id); in vpbe_start_streaming()
290 layer->next_frm = layer->cur_frm = list_entry(layer->dma_queue.next, in vpbe_start_streaming()
293 list_del(&layer->cur_frm->list); in vpbe_start_streaming()
295 layer->cur_frm->vb.vb2_buf.state = VB2_BUF_STATE_ACTIVE; in vpbe_start_streaming()
297 layer->field_id = 0; in vpbe_start_streaming()
300 ret = vpbe_set_osd_display_params(layer->disp_dev, layer); in vpbe_start_streaming()
304 vb2_buffer_done(&layer->cur_frm->vb.vb2_buf, in vpbe_start_streaming()
306 list_for_each_entry_safe(buf, tmp, &layer->dma_queue, list) { in vpbe_start_streaming()
319 layer->layer_first_int = 1; in vpbe_start_streaming()
326 struct vpbe_layer *layer = vb2_get_drv_priv(vq); in vpbe_stop_streaming() local
327 struct osd_state *osd_device = layer->disp_dev->osd_device; in vpbe_stop_streaming()
328 struct vpbe_display *disp = layer->disp_dev; in vpbe_stop_streaming()
334 osd_device->ops.disable_layer(osd_device, layer->layer_info.id); in vpbe_stop_streaming()
338 if (layer->cur_frm == layer->next_frm) { in vpbe_stop_streaming()
339 vb2_buffer_done(&layer->cur_frm->vb.vb2_buf, in vpbe_stop_streaming()
342 if (layer->cur_frm != NULL) in vpbe_stop_streaming()
343 vb2_buffer_done(&layer->cur_frm->vb.vb2_buf, in vpbe_stop_streaming()
345 if (layer->next_frm != NULL) in vpbe_stop_streaming()
346 vb2_buffer_done(&layer->next_frm->vb.vb2_buf, in vpbe_stop_streaming()
350 while (!list_empty(&layer->dma_queue)) { in vpbe_stop_streaming()
351 layer->next_frm = list_entry(layer->dma_queue.next, in vpbe_stop_streaming()
353 list_del(&layer->next_frm->list); in vpbe_stop_streaming()
354 vb2_buffer_done(&layer->next_frm->vb.vb2_buf, in vpbe_stop_streaming()
373 struct vpbe_layer *layer) in _vpbe_display_get_other_win_layer() argument
376 thiswin = layer->device_id; in _vpbe_display_get_other_win_layer()
384 struct vpbe_layer *layer) in vpbe_set_osd_display_params() argument
386 struct osd_layer_config *cfg = &layer->layer_info.config; in vpbe_set_osd_display_params()
392 addr = vb2_dma_contig_plane_dma_addr(&layer->cur_frm->vb.vb2_buf, 0); in vpbe_set_osd_display_params()
395 layer->layer_info.id, in vpbe_set_osd_display_params()
400 layer->layer_info.id, 0); in vpbe_set_osd_display_params()
408 layer->layer_info.enable = 1; in vpbe_set_osd_display_params()
411 _vpbe_display_get_other_win_layer(disp_dev, layer); in vpbe_set_osd_display_params()
427 struct vpbe_layer *layer, in vpbe_disp_calculate_scale_factor() argument
430 struct display_layer_info *layer_info = &layer->layer_info; in vpbe_disp_calculate_scale_factor()
431 struct v4l2_pix_format *pixfmt = &layer->pix_fmt; in vpbe_disp_calculate_scale_factor()
432 struct osd_layer_config *cfg = &layer->layer_info.config; in vpbe_disp_calculate_scale_factor()
534 struct vpbe_layer *layer, in vpbe_disp_adj_position() argument
537 struct osd_layer_config *cfg = &layer->layer_info.config; in vpbe_disp_adj_position()
640 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_querycap() local
641 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_display_querycap()
657 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_s_crop() local
658 struct vpbe_display *disp_dev = layer->disp_dev; in vpbe_display_s_crop()
660 struct osd_layer_config *cfg = &layer->layer_info.config; in vpbe_display_s_crop()
666 "VIDIOC_S_CROP, layer id = %d\n", layer->device_id); in vpbe_display_s_crop()
681 layer->layer_info.id, cfg); in vpbe_display_s_crop()
683 vpbe_disp_calculate_scale_factor(disp_dev, layer, in vpbe_display_s_crop()
686 vpbe_disp_adj_position(disp_dev, layer, rect.top, in vpbe_display_s_crop()
689 layer->layer_info.id, cfg); in vpbe_display_s_crop()
698 layer->layer_info.id, in vpbe_display_s_crop()
699 layer->layer_info.h_zoom, in vpbe_display_s_crop()
700 layer->layer_info.v_zoom); in vpbe_display_s_crop()
702 layer->layer_info.h_exp, in vpbe_display_s_crop()
703 layer->layer_info.v_exp); in vpbe_display_s_crop()
710 if ((layer->layer_info.h_zoom != ZOOM_X1) || in vpbe_display_s_crop()
711 (layer->layer_info.v_zoom != ZOOM_X1) || in vpbe_display_s_crop()
712 (layer->layer_info.h_exp != H_EXP_OFF) || in vpbe_display_s_crop()
713 (layer->layer_info.v_exp != V_EXP_OFF)) in vpbe_display_s_crop()
725 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_g_crop() local
726 struct osd_layer_config *cfg = &layer->layer_info.config; in vpbe_display_g_crop()
727 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_display_g_crop()
728 struct osd_state *osd_device = layer->disp_dev->osd_device; in vpbe_display_g_crop()
733 layer->device_id); in vpbe_display_g_crop()
740 layer->layer_info.id, cfg); in vpbe_display_g_crop()
752 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_cropcap() local
753 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_display_cropcap()
770 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_g_fmt() local
771 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_display_g_fmt()
775 layer->device_id); in vpbe_display_g_fmt()
783 fmt->fmt.pix = layer->pix_fmt; in vpbe_display_g_fmt()
791 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_enum_fmt() local
792 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_display_enum_fmt()
797 layer->device_id); in vpbe_display_enum_fmt()
822 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_s_fmt() local
823 struct vpbe_display *disp_dev = layer->disp_dev; in vpbe_display_s_fmt()
825 struct osd_layer_config *cfg = &layer->layer_info.config; in vpbe_display_s_fmt()
832 layer->device_id); in vpbe_display_s_fmt()
834 if (vb2_is_busy(&layer->buffer_queue)) in vpbe_display_s_fmt()
849 layer->pix_fmt = *pixfmt; in vpbe_display_s_fmt()
853 otherlayer = _vpbe_display_get_other_win_layer(disp_dev, layer); in vpbe_display_s_fmt()
868 layer->layer_info.id, cfg); in vpbe_display_s_fmt()
885 layer); in vpbe_display_s_fmt()
891 layer->layer_info.id, cfg); in vpbe_display_s_fmt()
900 layer->layer_info.id, cfg); in vpbe_display_s_fmt()
908 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_try_fmt() local
909 struct vpbe_display *disp_dev = layer->disp_dev; in vpbe_display_try_fmt()
910 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_display_try_fmt()
934 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_s_std() local
935 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_display_s_std()
940 if (vb2_is_busy(&layer->buffer_queue)) in vpbe_display_s_std()
966 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_g_std() local
967 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_display_g_std()
989 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_enum_output() local
990 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_display_enum_output()
1017 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_s_output() local
1018 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_display_s_output()
1023 if (vb2_is_busy(&layer->buffer_queue)) in vpbe_display_s_output()
1046 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_g_output() local
1047 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_display_g_output()
1066 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_enum_dv_timings() local
1067 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_display_enum_dv_timings()
1096 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_s_dv_timings() local
1097 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_display_s_dv_timings()
1102 if (vb2_is_busy(&layer->buffer_queue)) in vpbe_display_s_dv_timings()
1129 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_g_dv_timings() local
1130 struct vpbe_device *vpbe_dev = layer->disp_dev->vpbe_dev; in vpbe_display_g_dv_timings()
1153 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_open() local
1154 struct vpbe_display *disp_dev = layer->disp_dev; in vpbe_display_open()
1170 if (!layer->usrs) { in vpbe_display_open()
1171 if (mutex_lock_interruptible(&layer->opslock)) in vpbe_display_open()
1175 layer->layer_info.id); in vpbe_display_open()
1176 mutex_unlock(&layer->opslock); in vpbe_display_open()
1186 layer->usrs++; in vpbe_display_open()
1199 struct vpbe_layer *layer = video_drvdata(file); in vpbe_display_release() local
1200 struct osd_layer_config *cfg = &layer->layer_info.config; in vpbe_display_release()
1201 struct vpbe_display *disp_dev = layer->disp_dev; in vpbe_display_release()
1207 mutex_lock(&layer->opslock); in vpbe_display_release()
1210 layer->layer_info.id); in vpbe_display_release()
1212 layer->usrs--; in vpbe_display_release()
1214 if (!layer->usrs) { in vpbe_display_release()
1218 _vpbe_display_get_other_win_layer(disp_dev, layer); in vpbe_display_release()
1225 layer->layer_info.id); in vpbe_display_release()
1227 layer->layer_info.id); in vpbe_display_release()
1231 mutex_unlock(&layer->opslock); in vpbe_display_release()