hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/media/platform/rockchip/isp/csi.c
....@@ -15,7 +15,7 @@
1515 #include "isp_external.h"
1616 #include "regs.h"
1717
18
-static void get_remote_mipi_sensor(struct rkisp_device *dev,
18
+void rkisp_get_remote_mipi_sensor(struct rkisp_device *dev,
1919 struct v4l2_subdev **sensor_sd, u32 function)
2020 {
2121 struct media_graph graph;
....@@ -82,6 +82,8 @@
8282 id = local->index - 1;
8383 if (id && id < RKISP_STREAM_DMATX3)
8484 stream = &csi->ispdev->cap_dev.stream[id + 1];
85
+ if (id >= ARRAY_SIZE(csi->sink))
86
+ return -EINVAL;
8587 if (flags & MEDIA_LNK_FL_ENABLED) {
8688 if (csi->sink[id].linked) {
8789 ret = -EBUSY;
....@@ -210,7 +212,7 @@
210212 emd_vc = 0xFF;
211213 emd_dt = 0;
212214 dev->hdr.sensor = NULL;
213
- get_remote_mipi_sensor(dev, &mipi_sensor, MEDIA_ENT_F_CAM_SENSOR);
215
+ rkisp_get_remote_mipi_sensor(dev, &mipi_sensor, MEDIA_ENT_F_CAM_SENSOR);
214216 if (mipi_sensor) {
215217 ctrl = v4l2_ctrl_find(mipi_sensor->ctrl_handler,
216218 CIFISP_CID_EMB_VC);
....@@ -546,7 +548,7 @@
546548 }
547549 return 0;
548550 }
549
- get_remote_mipi_sensor(dev, &sd, type);
551
+ rkisp_get_remote_mipi_sensor(dev, &sd, type);
550552 if (!sd) {
551553 v4l2_err(&dev->v4l2_dev, "%s don't find subdev\n", __func__);
552554 return -EINVAL;
....@@ -577,7 +579,7 @@
577579 memset(&mode, 0, sizeof(mode));
578580 mode.name = dev->name;
579581
580
- get_remote_mipi_sensor(dev, &mipi_sensor, MEDIA_ENT_F_PROC_VIDEO_COMPOSER);
582
+ rkisp_get_remote_mipi_sensor(dev, &mipi_sensor, MEDIA_ENT_F_PROC_VIDEO_COMPOSER);
581583 if (!mipi_sensor)
582584 return -EINVAL;
583585 dev->hdr.op_mode = HDR_NORMAL;
....@@ -626,8 +628,7 @@
626628
627629 if (!dev->hw_dev->is_mi_update)
628630 rkisp_unite_write(dev, CSI2RX_CTRL0,
629
- SW_IBUF_OP_MODE(dev->hdr.op_mode),
630
- true, dev->hw_dev->is_unite);
631
+ SW_IBUF_OP_MODE(dev->hdr.op_mode), true);
631632
632633 /* hdr merge */
633634 switch (dev->hdr.op_mode) {
....@@ -651,25 +652,22 @@
651652 return -EINVAL;
652653 }
653654 }
654
- rkisp_unite_write(dev, ISP_HDRMGE_BASE, val, false, dev->hw_dev->is_unite);
655
+ rkisp_unite_write(dev, ISP_HDRMGE_BASE, val, false);
655656
656657 val = RAW_RD_SIZE_ERR;
657658 if (!IS_HDR_RDBK(dev->hdr.op_mode))
658659 val |= ISP21_MIPI_DROP_FRM;
659
- rkisp_unite_set_bits(dev, CSI2RX_MASK_STAT, 0, val, true, dev->hw_dev->is_unite);
660
+ rkisp_unite_set_bits(dev, CSI2RX_MASK_STAT, 0, val, true);
660661 }
661662
662663 if (IS_HDR_RDBK(dev->hdr.op_mode))
663
- rkisp_unite_set_bits(dev, CTRL_SWS_CFG, 0, SW_MPIP_DROP_FRM_DIS,
664
- true, dev->hw_dev->is_unite);
664
+ rkisp_unite_set_bits(dev, CTRL_SWS_CFG, 0, SW_MPIP_DROP_FRM_DIS, true);
665665
666666 if (dev->isp_ver >= ISP_V30)
667
- rkisp_unite_set_bits(dev, CTRL_SWS_CFG, 0, ISP3X_SW_ACK_FRM_PRO_DIS,
668
- true, dev->hw_dev->is_unite);
667
+ rkisp_unite_set_bits(dev, CTRL_SWS_CFG, 0, ISP3X_SW_ACK_FRM_PRO_DIS, true);
669668 /* line counter from isp out, default from mp out */
670669 if (dev->isp_ver == ISP_V32_L)
671
- rkisp_unite_set_bits(dev, CTRL_SWS_CFG, 0, ISP32L_ISP2ENC_CNT_MUX,
672
- true, dev->hw_dev->is_unite);
670
+ rkisp_unite_set_bits(dev, CTRL_SWS_CFG, 0, ISP32L_ISP2ENC_CNT_MUX, true);
673671 dev->rdbk_cnt = -1;
674672 dev->rdbk_cnt_x1 = -1;
675673 dev->rdbk_cnt_x2 = -1;