@@ -1,7 +1,6 @@
* Don't use v4l2_async_notifier_parse_fwnode_endpoints_by_port().
e.g. isp_parse_of_endpoints in drivers/media/platform/omap3isp/isp.c
cio2_parse_firmware in drivers/media/pci/intel/ipu3/ipu3-cio2.c.
-* Fix pad format size for statistics and parameters entities.
* Use threaded interrupt for rkisp1_stats_isr(), remove work queue.
* Fix checkpatch errors.
* Make sure uapi structs have the same size and layout in 32 and 62 bits,
@@ -654,8 +654,8 @@ static int rkisp1_isp_init_config(struct v4l2_subdev *sd,
RKISP1_ISP_PAD_SINK_PARAMS);
src_fmt = v4l2_subdev_get_try_format(sd, cfg,
RKISP1_ISP_PAD_SOURCE_STATS);
- sink_fmt->width = RKISP1_DEFAULT_WIDTH;
- sink_fmt->height = RKISP1_DEFAULT_HEIGHT;
+ sink_fmt->width = 0;
+ sink_fmt->height = 0;
sink_fmt->field = V4L2_FIELD_NONE;
sink_fmt->code = MEDIA_BUS_FMT_FIXED;
*src_fmt = *sink_fmt;
@@ -1041,9 +1041,11 @@ int rkisp1_isp_register(struct rkisp1_device *rkisp1,
pads[RKISP1_ISP_PAD_SINK_VIDEO].flags = MEDIA_PAD_FL_SINK |
MEDIA_PAD_FL_MUST_CONNECT;
- pads[RKISP1_ISP_PAD_SINK_PARAMS].flags = MEDIA_PAD_FL_SINK;
+ pads[RKISP1_ISP_PAD_SINK_PARAMS].flags =
+ MEDIA_PAD_FL_SINK | MEDIA_PAD_FL_METADATA;
pads[RKISP1_ISP_PAD_SOURCE_VIDEO].flags = MEDIA_PAD_FL_SOURCE;
- pads[RKISP1_ISP_PAD_SOURCE_STATS].flags = MEDIA_PAD_FL_SOURCE;
+ pads[RKISP1_ISP_PAD_SOURCE_STATS].flags =
+ MEDIA_PAD_FL_SOURCE | MEDIA_PAD_FL_METADATA;
isp->sink_fmt = rkisp1_isp_mbus_info_get(RKISP1_DEF_SINK_PAD_FMT);
isp->src_fmt = rkisp1_isp_mbus_info_get(RKISP1_DEF_SRC_PAD_FMT);
@@ -1601,7 +1601,7 @@ int rkisp1_params_register(struct rkisp1_params *params,
rkisp1_init_params(params);
video_set_drvdata(vdev, params);
- node->pad.flags = MEDIA_PAD_FL_SOURCE;
+ node->pad.flags = MEDIA_PAD_FL_SOURCE | MEDIA_PAD_FL_METADATA;
ret = media_entity_pads_init(&vdev->entity, 1, &node->pad);
if (ret)
goto err_release_queue;
@@ -481,7 +481,7 @@ int rkisp1_stats_register(struct rkisp1_stats *stats,
rkisp1_init_stats(stats);
video_set_drvdata(vdev, stats);
- node->pad.flags = MEDIA_PAD_FL_SINK;
+ node->pad.flags = MEDIA_PAD_FL_SINK | MEDIA_PAD_FL_METADATA;
ret = media_entity_pads_init(&vdev->entity, 1, &node->pad);
if (ret)
goto err_release_queue;
The 4 pads of the links between kisp1_isp and the params and stats entities transmit metadata. This patch adds the flag MEDIA_PAD_FL_METADATA to those pads. In addition it initializes the width and height of the pads formats to 0 since metadata format has no dimensions. This fixes the TODO item: "Fix pad format size for statistics and parameters entities." So the patch also removes this item. Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com> --- drivers/staging/media/rkisp1/TODO | 1 - drivers/staging/media/rkisp1/rkisp1-isp.c | 10 ++++++---- drivers/staging/media/rkisp1/rkisp1-params.c | 2 +- drivers/staging/media/rkisp1/rkisp1-stats.c | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-)