From 2e3ebdadc40d010749042cf14d4b0b91cba4211c Mon Sep 17 00:00:00 2001 From: Allon Huang Date: Wed, 22 Jul 2020 15:04:41 +0800 Subject: [PATCH] media: platform: rockchip: cif: support subscribing lvds sof event Signed-off-by: Allon Huang Change-Id: I1c24c30050912f29e6ce1e4a4065575979b07de7 --- drivers/media/platform/rockchip/cif/capture.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/rockchip/cif/capture.c b/drivers/media/platform/rockchip/cif/capture.c index cef350c9b45b..9ebec4abe3f6 100644 --- a/drivers/media/platform/rockchip/cif/capture.c +++ b/drivers/media/platform/rockchip/cif/capture.c @@ -2784,6 +2784,11 @@ static int rkcif_lvds_g_mbus_config(struct v4l2_subdev *sd, static int rkcif_lvds_sd_s_stream(struct v4l2_subdev *sd, int on) { + struct rkcif_lvds_subdev *subdev = container_of(sd, struct rkcif_lvds_subdev, sd); + + if (on) + atomic_set(&subdev->frm_sync_seq, 0); + return 0; } @@ -2862,7 +2867,7 @@ int rkcif_register_lvds_subdev(struct rkcif_device *dev) sd = &lvds_subdev->sd; lvds_subdev->state = RKCIF_LVDS_STOP; v4l2_subdev_init(sd, &rkcif_lvds_sd_ops); - sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; + sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS; sd->entity.ops = &rkcif_lvds_sd_media_ops; if (dev->chip_id == CHIP_RV1126_CIF) snprintf(sd->name, sizeof(sd->name), "rkcif-lvds-subdev");