| .. | .. |
|---|
| 15 | 15 | #include "isp_external.h" |
|---|
| 16 | 16 | #include "regs.h" |
|---|
| 17 | 17 | |
|---|
| 18 | | -static void get_remote_mipi_sensor(struct rkisp_device *dev, |
|---|
| 18 | +void rkisp_get_remote_mipi_sensor(struct rkisp_device *dev, |
|---|
| 19 | 19 | struct v4l2_subdev **sensor_sd, u32 function) |
|---|
| 20 | 20 | { |
|---|
| 21 | 21 | struct media_graph graph; |
|---|
| .. | .. |
|---|
| 82 | 82 | id = local->index - 1; |
|---|
| 83 | 83 | if (id && id < RKISP_STREAM_DMATX3) |
|---|
| 84 | 84 | stream = &csi->ispdev->cap_dev.stream[id + 1]; |
|---|
| 85 | + if (id >= ARRAY_SIZE(csi->sink)) |
|---|
| 86 | + return -EINVAL; |
|---|
| 85 | 87 | if (flags & MEDIA_LNK_FL_ENABLED) { |
|---|
| 86 | 88 | if (csi->sink[id].linked) { |
|---|
| 87 | 89 | ret = -EBUSY; |
|---|
| .. | .. |
|---|
| 210 | 212 | emd_vc = 0xFF; |
|---|
| 211 | 213 | emd_dt = 0; |
|---|
| 212 | 214 | 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); |
|---|
| 214 | 216 | if (mipi_sensor) { |
|---|
| 215 | 217 | ctrl = v4l2_ctrl_find(mipi_sensor->ctrl_handler, |
|---|
| 216 | 218 | CIFISP_CID_EMB_VC); |
|---|
| .. | .. |
|---|
| 546 | 548 | } |
|---|
| 547 | 549 | return 0; |
|---|
| 548 | 550 | } |
|---|
| 549 | | - get_remote_mipi_sensor(dev, &sd, type); |
|---|
| 551 | + rkisp_get_remote_mipi_sensor(dev, &sd, type); |
|---|
| 550 | 552 | if (!sd) { |
|---|
| 551 | 553 | v4l2_err(&dev->v4l2_dev, "%s don't find subdev\n", __func__); |
|---|
| 552 | 554 | return -EINVAL; |
|---|
| .. | .. |
|---|
| 577 | 579 | memset(&mode, 0, sizeof(mode)); |
|---|
| 578 | 580 | mode.name = dev->name; |
|---|
| 579 | 581 | |
|---|
| 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); |
|---|
| 581 | 583 | if (!mipi_sensor) |
|---|
| 582 | 584 | return -EINVAL; |
|---|
| 583 | 585 | dev->hdr.op_mode = HDR_NORMAL; |
|---|
| .. | .. |
|---|
| 626 | 628 | |
|---|
| 627 | 629 | if (!dev->hw_dev->is_mi_update) |
|---|
| 628 | 630 | 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); |
|---|
| 631 | 632 | |
|---|
| 632 | 633 | /* hdr merge */ |
|---|
| 633 | 634 | switch (dev->hdr.op_mode) { |
|---|
| .. | .. |
|---|
| 651 | 652 | return -EINVAL; |
|---|
| 652 | 653 | } |
|---|
| 653 | 654 | } |
|---|
| 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); |
|---|
| 655 | 656 | |
|---|
| 656 | 657 | val = RAW_RD_SIZE_ERR; |
|---|
| 657 | 658 | if (!IS_HDR_RDBK(dev->hdr.op_mode)) |
|---|
| 658 | 659 | 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); |
|---|
| 660 | 661 | } |
|---|
| 661 | 662 | |
|---|
| 662 | 663 | 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); |
|---|
| 665 | 665 | |
|---|
| 666 | 666 | 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); |
|---|
| 669 | 668 | /* line counter from isp out, default from mp out */ |
|---|
| 670 | 669 | 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); |
|---|
| 673 | 671 | dev->rdbk_cnt = -1; |
|---|
| 674 | 672 | dev->rdbk_cnt_x1 = -1; |
|---|
| 675 | 673 | dev->rdbk_cnt_x2 = -1; |
|---|