From 5f731fa6db1599ad5e89b57a582178d0ce5f45ba Mon Sep 17 00:00:00 2001 From: Zefa Chen Date: Mon, 22 Jan 2024 20:31:48 +0800 Subject: [PATCH] media: rockchip: isp: skip s_stream of sensor while connect to vicap sditf Signed-off-by: Zefa Chen Change-Id: I0adcd429d254381e7fa2e9c7911687a471ce53b4 --- drivers/media/platform/rockchip/isp/dev.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/rockchip/isp/dev.c b/drivers/media/platform/rockchip/isp/dev.c index 4ed234132bc5..5c2fa4b5be65 100644 --- a/drivers/media/platform/rockchip/isp/dev.c +++ b/drivers/media/platform/rockchip/isp/dev.c @@ -342,8 +342,10 @@ static int rkisp_pipeline_set_stream(struct rkisp_pipeline *p, bool on) goto err; /* phy -> sensor */ for (i = 0; i < p->num_subdevs; ++i) { - if ((dev->vicap_in.merge_num > 1) && - (p->subdevs[i]->entity.function == MEDIA_ENT_F_CAM_SENSOR)) + if (((dev->vicap_in.merge_num > 1) && + (p->subdevs[i]->entity.function == MEDIA_ENT_F_CAM_SENSOR)) || + (dev->isp_inp & INP_CIF && IS_HDR_RDBK(dev->rd_mode) && + (!dev->is_rdbk_auto))) continue; ret = v4l2_subdev_call(p->subdevs[i], video, s_stream, on); if (on && ret < 0 && ret != -ENOIOCTLCMD && ret != -ENODEV) @@ -362,8 +364,10 @@ static int rkisp_pipeline_set_stream(struct rkisp_pipeline *p, bool on) } /* sensor -> phy */ for (i = p->num_subdevs - 1; i >= 0; --i) { - if ((dev->vicap_in.merge_num > 1) && - (p->subdevs[i]->entity.function == MEDIA_ENT_F_CAM_SENSOR)) + if (((dev->vicap_in.merge_num > 1) && + (p->subdevs[i]->entity.function == MEDIA_ENT_F_CAM_SENSOR)) || + (dev->isp_inp & INP_CIF && IS_HDR_RDBK(dev->rd_mode) && + (!dev->is_rdbk_auto))) continue; v4l2_subdev_call(p->subdevs[i], video, s_stream, on); }