• Home
  • Raw
  • Download

Lines Matching refs:layer

447 					 enum zynqmp_disp_layer_id layer,  in zynqmp_disp_avbuf_set_format()  argument
454 val &= layer == ZYNQMP_DISP_LAYER_VID in zynqmp_disp_avbuf_set_format()
461 unsigned int reg = layer == ZYNQMP_DISP_LAYER_VID in zynqmp_disp_avbuf_set_format()
583 enum zynqmp_disp_layer_id layer, in zynqmp_disp_avbuf_enable_video() argument
589 if (layer == ZYNQMP_DISP_LAYER_VID) { in zynqmp_disp_avbuf_enable_video()
614 enum zynqmp_disp_layer_id layer) in zynqmp_disp_avbuf_disable_video() argument
619 if (layer == ZYNQMP_DISP_LAYER_VID) { in zynqmp_disp_avbuf_disable_video()
791 struct zynqmp_disp_layer *layer, in zynqmp_disp_blend_layer_set_csc() argument
799 if (layer->disp_fmt->swap) { in zynqmp_disp_blend_layer_set_csc()
800 if (layer->drm_fmt->is_yuv) { in zynqmp_disp_blend_layer_set_csc()
811 if (layer->id == ZYNQMP_DISP_LAYER_VID) in zynqmp_disp_blend_layer_set_csc()
822 if (layer->id == ZYNQMP_DISP_LAYER_VID) in zynqmp_disp_blend_layer_set_csc()
837 struct zynqmp_disp_layer *layer) in zynqmp_disp_blend_layer_enable() argument
843 val = (layer->drm_fmt->is_yuv ? in zynqmp_disp_blend_layer_enable()
845 (layer->drm_fmt->hsub > 1 ? in zynqmp_disp_blend_layer_enable()
849 ZYNQMP_DISP_V_BLEND_LAYER_CONTROL(layer->id), in zynqmp_disp_blend_layer_enable()
852 if (layer->drm_fmt->is_yuv) { in zynqmp_disp_blend_layer_enable()
860 zynqmp_disp_blend_layer_set_csc(blend, layer, coeffs, offsets); in zynqmp_disp_blend_layer_enable()
869 struct zynqmp_disp_layer *layer) in zynqmp_disp_blend_layer_disable() argument
872 ZYNQMP_DISP_V_BLEND_LAYER_CONTROL(layer->id), in zynqmp_disp_blend_layer_disable()
875 zynqmp_disp_blend_layer_set_csc(blend, layer, csc_zero_matrix, in zynqmp_disp_blend_layer_disable()
1007 zynqmp_disp_layer_find_format(struct zynqmp_disp_layer *layer, in zynqmp_disp_layer_find_format() argument
1012 for (i = 0; i < layer->info->num_formats; i++) { in zynqmp_disp_layer_find_format()
1013 if (layer->info->formats[i].drm_fmt == drm_fmt) in zynqmp_disp_layer_find_format()
1014 return &layer->info->formats[i]; in zynqmp_disp_layer_find_format()
1027 static void zynqmp_disp_layer_enable(struct zynqmp_disp_layer *layer) in zynqmp_disp_layer_enable() argument
1029 zynqmp_disp_avbuf_enable_video(&layer->disp->avbuf, layer->id, in zynqmp_disp_layer_enable()
1031 zynqmp_disp_blend_layer_enable(&layer->disp->blend, layer); in zynqmp_disp_layer_enable()
1033 layer->mode = ZYNQMP_DISP_LAYER_NONLIVE; in zynqmp_disp_layer_enable()
1043 static void zynqmp_disp_layer_disable(struct zynqmp_disp_layer *layer) in zynqmp_disp_layer_disable() argument
1047 for (i = 0; i < layer->drm_fmt->num_planes; i++) in zynqmp_disp_layer_disable()
1048 dmaengine_terminate_sync(layer->dmas[i].chan); in zynqmp_disp_layer_disable()
1050 zynqmp_disp_avbuf_disable_video(&layer->disp->avbuf, layer->id); in zynqmp_disp_layer_disable()
1051 zynqmp_disp_blend_layer_disable(&layer->disp->blend, layer); in zynqmp_disp_layer_disable()
1062 static void zynqmp_disp_layer_set_format(struct zynqmp_disp_layer *layer, in zynqmp_disp_layer_set_format() argument
1068 layer->disp_fmt = zynqmp_disp_layer_find_format(layer, info->format); in zynqmp_disp_layer_set_format()
1069 layer->drm_fmt = info; in zynqmp_disp_layer_set_format()
1071 zynqmp_disp_avbuf_set_format(&layer->disp->avbuf, layer->id, in zynqmp_disp_layer_set_format()
1072 layer->disp_fmt); in zynqmp_disp_layer_set_format()
1079 struct zynqmp_disp_layer_dma *dma = &layer->dmas[i]; in zynqmp_disp_layer_set_format()
1099 static int zynqmp_disp_layer_update(struct zynqmp_disp_layer *layer, in zynqmp_disp_layer_update() argument
1102 const struct drm_format_info *info = layer->drm_fmt; in zynqmp_disp_layer_update()
1105 for (i = 0; i < layer->drm_fmt->num_planes; i++) { in zynqmp_disp_layer_update()
1108 struct zynqmp_disp_layer_dma *dma = &layer->dmas[i]; in zynqmp_disp_layer_update()
1128 dev_err(layer->disp->dev, in zynqmp_disp_layer_update()
1168 struct zynqmp_disp_layer *layer = plane_to_layer(plane); in zynqmp_disp_plane_atomic_disable() local
1173 zynqmp_disp_layer_disable(layer); in zynqmp_disp_plane_atomic_disable()
1180 struct zynqmp_disp_layer *layer = plane_to_layer(plane); in zynqmp_disp_plane_atomic_update() local
1194 zynqmp_disp_layer_disable(layer); in zynqmp_disp_plane_atomic_update()
1196 zynqmp_disp_layer_set_format(layer, plane->state); in zynqmp_disp_plane_atomic_update()
1199 zynqmp_disp_layer_update(layer, plane->state); in zynqmp_disp_plane_atomic_update()
1203 zynqmp_disp_layer_enable(layer); in zynqmp_disp_plane_atomic_update()
1227 struct zynqmp_disp_layer *layer = &disp->layers[i]; in zynqmp_disp_create_planes() local
1232 layer->info->num_formats, in zynqmp_disp_create_planes()
1237 for (j = 0; j < layer->info->num_formats; ++j) in zynqmp_disp_create_planes()
1238 drm_formats[j] = layer->info->formats[j].drm_fmt; in zynqmp_disp_create_planes()
1243 ret = drm_universal_plane_init(disp->drm, &layer->plane, 0, in zynqmp_disp_create_planes()
1246 layer->info->num_formats, in zynqmp_disp_create_planes()
1251 drm_plane_helper_add(&layer->plane, in zynqmp_disp_create_planes()
1266 struct zynqmp_disp_layer *layer) in zynqmp_disp_layer_release_dma() argument
1270 if (!layer->info) in zynqmp_disp_layer_release_dma()
1273 for (i = 0; i < layer->info->num_channels; i++) { in zynqmp_disp_layer_release_dma()
1274 struct zynqmp_disp_layer_dma *dma = &layer->dmas[i]; in zynqmp_disp_layer_release_dma()
1307 struct zynqmp_disp_layer *layer) in zynqmp_disp_layer_request_dma() argument
1313 for (i = 0; i < layer->info->num_channels; i++) { in zynqmp_disp_layer_request_dma()
1314 struct zynqmp_disp_layer_dma *dma = &layer->dmas[i]; in zynqmp_disp_layer_request_dma()
1318 "%s%u", dma_names[layer->id], i); in zynqmp_disp_layer_request_dma()
1357 struct zynqmp_disp_layer *layer = &disp->layers[i]; in zynqmp_disp_create_layers() local
1359 layer->id = i; in zynqmp_disp_create_layers()
1360 layer->disp = disp; in zynqmp_disp_create_layers()
1361 layer->info = &layer_info[i]; in zynqmp_disp_create_layers()
1363 ret = zynqmp_disp_layer_request_dma(disp, layer); in zynqmp_disp_create_layers()
1628 struct zynqmp_disp_layer *layer; in zynqmp_disp_probe() local
1680 layer = &disp->layers[ZYNQMP_DISP_LAYER_VID]; in zynqmp_disp_probe()
1681 dpsub->dma_align = 1 << layer->dmas[0].chan->device->copy_align; in zynqmp_disp_probe()