hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/media/platform/rockchip/isp/capture_v32.c
....@@ -554,7 +554,8 @@
554554
555555 if (dcrop->width == input_win->width &&
556556 dcrop->height == input_win->height &&
557
- dcrop->left == 0 && dcrop->top == 0) {
557
+ dcrop->left == 0 && dcrop->top == 0 &&
558
+ !dev->hw_dev->unite) {
558559 rkisp_disable_dcrop(stream, async);
559560 v4l2_dbg(1, rkisp_debug, &dev->v4l2_dev,
560561 "stream %d crop disabled\n", stream->id);
....@@ -704,29 +705,29 @@
704705 /* in bytes for isp32 */
705706 if (dev->isp_ver == ISP_V32 &&
706707 stream->out_isp_fmt.write_format != MI_CTRL_MP_WRITE_YUVINT)
707
- rkisp_write(dev, ISP3X_MI_MP_WR_Y_LLENGTH, val, false);
708
+ rkisp_unite_write(dev, ISP3X_MI_MP_WR_Y_LLENGTH, val, false);
708709 val /= DIV_ROUND_UP(fmt->bpp[0], 8);
709710 /* in pixels for isp32 lite */
710711 if (dev->isp_ver == ISP_V32_L)
711
- rkisp_write(dev, ISP3X_MI_MP_WR_Y_LLENGTH, val, false);
712
+ rkisp_unite_write(dev, ISP3X_MI_MP_WR_Y_LLENGTH, val, false);
712713 val *= height;
713
- rkisp_write(dev, stream->config->mi.y_pic_size, val, false);
714
+ rkisp_unite_write(dev, stream->config->mi.y_pic_size, val, false);
714715 val = out_fmt->plane_fmt[0].bytesperline * height;
715
- rkisp_write(dev, stream->config->mi.y_size_init, val, false);
716
+ rkisp_unite_write(dev, stream->config->mi.y_size_init, val, false);
716717
717718 val = out_fmt->plane_fmt[1].sizeimage;
718719 if (dev->cap_dev.wrap_line)
719720 val = out_fmt->plane_fmt[0].bytesperline * height / 2;
720
- rkisp_write(dev, stream->config->mi.cb_size_init, val, false);
721
+ rkisp_unite_write(dev, stream->config->mi.cb_size_init, val, false);
721722
722723 val = out_fmt->plane_fmt[2].sizeimage;
723724 if (dev->cap_dev.wrap_line)
724725 val = out_fmt->plane_fmt[0].bytesperline * height / 2;
725
- rkisp_write(dev, stream->config->mi.cr_size_init, val, false);
726
+ rkisp_unite_write(dev, stream->config->mi.cr_size_init, val, false);
726727
727728 val = stream->out_isp_fmt.uv_swap ? ISP3X_MI_XTD_FORMAT_MP_UV_SWAP : 0;
728729 mask = ISP3X_MI_XTD_FORMAT_MP_UV_SWAP;
729
- rkisp_set_bits(dev, ISP3X_MI_WR_XTD_FORMAT_CTRL, mask, val, false);
730
+ rkisp_unite_set_bits(dev, ISP3X_MI_WR_XTD_FORMAT_CTRL, mask, val, false);
730731
731732 mask = ISP3X_MPFBC_FORCE_UPD | ISP3X_MP_YUV_MODE;
732733 val = rkisp_read_reg_cache(dev, ISP3X_MPFBC_CTRL) & ~mask;
....@@ -738,24 +739,24 @@
738739 val |= ISP3X_SEPERATE_YUV_CFG;
739740 else
740741 val |= ISP3X_SEPERATE_YUV_CFG | ISP3X_MP_YUV_MODE;
741
- rkisp_write(dev, ISP3X_MPFBC_CTRL, val, false);
742
+ rkisp_unite_write(dev, ISP3X_MPFBC_CTRL, val, false);
742743
743744 val = stream->out_isp_fmt.output_format;
744
- rkisp_write(dev, ISP32_MI_MP_WR_CTRL, val, false);
745
+ rkisp_unite_write(dev, ISP32_MI_MP_WR_CTRL, val, false);
745746
746747 val = calc_burst_len(stream) | CIF_MI_CTRL_INIT_BASE_EN |
747748 CIF_MI_CTRL_INIT_OFFSET_EN | CIF_MI_MP_AUTOUPDATE_ENABLE |
748749 stream->out_isp_fmt.write_format;
749750 mask = GENMASK(19, 16) | MI_CTRL_MP_FMT_MASK;
750
- rkisp_set_bits(dev, ISP3X_MI_WR_CTRL, mask, val, false);
751
+ rkisp_unite_set_bits(dev, ISP3X_MI_WR_CTRL, mask, val, false);
751752
752753 mi_frame_end_int_enable(stream);
753754 /* set up first buffer */
754755 mi_frame_end(stream, FRAME_INIT);
755756
756
- rkisp_write(dev, stream->config->mi.y_offs_cnt_init, 0, false);
757
- rkisp_write(dev, stream->config->mi.cb_offs_cnt_init, 0, false);
758
- rkisp_write(dev, stream->config->mi.cr_offs_cnt_init, 0, false);
757
+ rkisp_unite_write(dev, stream->config->mi.y_offs_cnt_init, 0, false);
758
+ rkisp_unite_write(dev, stream->config->mi.cb_offs_cnt_init, 0, false);
759
+ rkisp_unite_write(dev, stream->config->mi.cr_offs_cnt_init, 0, false);
759760 return 0;
760761 }
761762
....@@ -805,21 +806,21 @@
805806 * memory plane formats, so calculate the size explicitly.
806807 */
807808 val = stream->u.sp.y_stride;
808
- rkisp_write(dev, ISP3X_MI_SP_WR_Y_LLENGTH, val, false);
809
+ rkisp_unite_write(dev, ISP3X_MI_SP_WR_Y_LLENGTH, val, false);
809810 val *= out_fmt->height;
810
- rkisp_write(dev, stream->config->mi.y_pic_size, val, false);
811
+ rkisp_unite_write(dev, stream->config->mi.y_pic_size, val, false);
811812 val = out_fmt->plane_fmt[0].bytesperline * out_fmt->height;
812
- rkisp_write(dev, stream->config->mi.y_size_init, val, false);
813
+ rkisp_unite_write(dev, stream->config->mi.y_size_init, val, false);
813814
814815 val = out_fmt->plane_fmt[1].sizeimage;
815
- rkisp_write(dev, stream->config->mi.cb_size_init, val, false);
816
+ rkisp_unite_write(dev, stream->config->mi.cb_size_init, val, false);
816817
817818 val = out_fmt->plane_fmt[2].sizeimage;
818
- rkisp_write(dev, stream->config->mi.cr_size_init, val, false);
819
+ rkisp_unite_write(dev, stream->config->mi.cr_size_init, val, false);
819820
820821 val = stream->out_isp_fmt.uv_swap ? ISP3X_MI_XTD_FORMAT_SP_UV_SWAP : 0;
821822 mask = ISP3X_MI_XTD_FORMAT_SP_UV_SWAP;
822
- rkisp_set_bits(dev, ISP3X_MI_WR_XTD_FORMAT_CTRL, mask, val, false);
823
+ rkisp_unite_set_bits(dev, ISP3X_MI_WR_XTD_FORMAT_CTRL, mask, val, false);
823824
824825 mask = ISP3X_MPFBC_FORCE_UPD | ISP3X_SP_YUV_MODE;
825826 val = rkisp_read_reg_cache(dev, ISP3X_MPFBC_CTRL) & ~mask;
....@@ -831,22 +832,22 @@
831832 val |= ISP3X_SEPERATE_YUV_CFG;
832833 else
833834 val |= ISP3X_SEPERATE_YUV_CFG | ISP3X_SP_YUV_MODE;
834
- rkisp_write(dev, ISP3X_MPFBC_CTRL, val, false);
835
+ rkisp_unite_write(dev, ISP3X_MPFBC_CTRL, val, false);
835836
836837 val = calc_burst_len(stream) | CIF_MI_CTRL_INIT_BASE_EN |
837838 CIF_MI_CTRL_INIT_OFFSET_EN | stream->out_isp_fmt.write_format |
838839 sp_in_fmt | stream->out_isp_fmt.output_format |
839840 CIF_MI_SP_AUTOUPDATE_ENABLE;
840841 mask = GENMASK(19, 16) | MI_CTRL_SP_FMT_MASK;
841
- rkisp_set_bits(dev, ISP3X_MI_WR_CTRL, mask, val, false);
842
+ rkisp_unite_set_bits(dev, ISP3X_MI_WR_CTRL, mask, val, false);
842843
843844 mi_frame_end_int_enable(stream);
844845 /* set up first buffer */
845846 mi_frame_end(stream, FRAME_INIT);
846847
847
- rkisp_write(dev, stream->config->mi.y_offs_cnt_init, 0, false);
848
- rkisp_write(dev, stream->config->mi.cb_offs_cnt_init, 0, false);
849
- rkisp_write(dev, stream->config->mi.cr_offs_cnt_init, 0, false);
848
+ rkisp_unite_write(dev, stream->config->mi.y_offs_cnt_init, 0, false);
849
+ rkisp_unite_write(dev, stream->config->mi.cb_offs_cnt_init, 0, false);
850
+ rkisp_unite_write(dev, stream->config->mi.cr_offs_cnt_init, 0, false);
850851 return 0;
851852 }
852853
....@@ -864,18 +865,18 @@
864865 val = out_fmt->plane_fmt[0].bytesperline;
865866 /* in bytes */
866867 if (stream->out_isp_fmt.write_format != ISP3X_BP_FORMAT_INT)
867
- rkisp_write(dev, ISP3X_MI_BP_WR_Y_LLENGTH, val, false);
868
+ rkisp_unite_write(dev, ISP3X_MI_BP_WR_Y_LLENGTH, val, false);
868869 val /= DIV_ROUND_UP(fmt->bpp[0], 8);
869870 /* in pixels */
870871 if (stream->out_isp_fmt.write_format == ISP3X_BP_FORMAT_INT)
871
- rkisp_write(dev, ISP3X_MI_BP_WR_Y_LLENGTH, val, false);
872
+ rkisp_unite_write(dev, ISP3X_MI_BP_WR_Y_LLENGTH, val, false);
872873 val *= out_fmt->height;
873
- rkisp_write(dev, stream->config->mi.y_pic_size, val, false);
874
+ rkisp_unite_write(dev, stream->config->mi.y_pic_size, val, false);
874875 val = out_fmt->plane_fmt[0].bytesperline * out_fmt->height;
875
- rkisp_write(dev, stream->config->mi.y_size_init, val, false);
876
+ rkisp_unite_write(dev, stream->config->mi.y_size_init, val, false);
876877
877878 val = out_fmt->plane_fmt[1].sizeimage;
878
- rkisp_write(dev, stream->config->mi.cb_size_init, val, false);
879
+ rkisp_unite_write(dev, stream->config->mi.cb_size_init, val, false);
879880
880881 mask = ISP3X_MPFBC_FORCE_UPD | ISP3X_BP_YUV_MODE;
881882 val = rkisp_read_reg_cache(dev, ISP3X_MPFBC_CTRL) & ~mask;
....@@ -885,15 +886,15 @@
885886 val |= ISP3X_SEPERATE_YUV_CFG;
886887 else
887888 val |= ISP3X_SEPERATE_YUV_CFG | ISP3X_BP_YUV_MODE;
888
- rkisp_write(dev, ISP3X_MPFBC_CTRL, val, false);
889
+ rkisp_unite_write(dev, ISP3X_MPFBC_CTRL, val, false);
889890 val = CIF_MI_CTRL_INIT_BASE_EN | CIF_MI_CTRL_INIT_OFFSET_EN;
890
- rkisp_set_bits(dev, ISP3X_MI_WR_CTRL, 0, val, false);
891
+ rkisp_unite_set_bits(dev, ISP3X_MI_WR_CTRL, 0, val, false);
891892 mi_frame_end_int_enable(stream);
892893 /* set up first buffer */
893894 mi_frame_end(stream, FRAME_INIT);
894895
895
- rkisp_write(dev, stream->config->mi.y_offs_cnt_init, 0, false);
896
- rkisp_write(dev, stream->config->mi.cb_offs_cnt_init, 0, false);
896
+ rkisp_unite_write(dev, stream->config->mi.y_offs_cnt_init, 0, false);
897
+ rkisp_unite_write(dev, stream->config->mi.cb_offs_cnt_init, 0, false);
897898 return 0;
898899 }
899900
....@@ -906,27 +907,27 @@
906907
907908 val = out_fmt->plane_fmt[0].bytesperline;
908909 if (stream->out_isp_fmt.write_format != ISP3X_BP_FORMAT_INT)
909
- rkisp_write(dev, stream->config->mi.length, val, false);
910
+ rkisp_unite_write(dev, stream->config->mi.length, val, false);
910911 val /= DIV_ROUND_UP(fmt->bpp[0], 8);
911912 if (stream->out_isp_fmt.write_format == ISP3X_BP_FORMAT_INT)
912
- rkisp_write(dev, stream->config->mi.length, val, false);
913
+ rkisp_unite_write(dev, stream->config->mi.length, val, false);
913914 val *= out_fmt->height;
914
- rkisp_write(dev, stream->config->mi.y_pic_size, val, false);
915
+ rkisp_unite_write(dev, stream->config->mi.y_pic_size, val, false);
915916 val = out_fmt->plane_fmt[0].bytesperline * out_fmt->height;
916
- rkisp_write(dev, stream->config->mi.y_size_init, val, false);
917
+ rkisp_unite_write(dev, stream->config->mi.y_size_init, val, false);
917918
918919 val = out_fmt->plane_fmt[1].sizeimage;
919
- rkisp_write(dev, stream->config->mi.cb_size_init, val, false);
920
+ rkisp_unite_write(dev, stream->config->mi.cb_size_init, val, false);
920921
921922 val = CIF_MI_CTRL_INIT_BASE_EN | CIF_MI_CTRL_INIT_OFFSET_EN;
922
- rkisp_set_bits(dev, ISP3X_MI_WR_CTRL, 0, val, false);
923
+ rkisp_unite_set_bits(dev, ISP3X_MI_WR_CTRL, 0, val, false);
923924
924925 mi_frame_end_int_enable(stream);
925926
926927 mi_frame_end(stream, FRAME_INIT);
927928
928
- rkisp_write(dev, stream->config->mi.y_offs_cnt_init, 0, false);
929
- rkisp_write(dev, stream->config->mi.cb_offs_cnt_init, 0, false);
929
+ rkisp_unite_write(dev, stream->config->mi.y_offs_cnt_init, 0, false);
930
+ rkisp_unite_write(dev, stream->config->mi.cb_offs_cnt_init, 0, false);
930931 return 0;
931932 }
932933
....@@ -940,7 +941,7 @@
940941
941942 if (isp_fmt->fmt_type == FMT_BAYER)
942943 val = CIF_MI_CTRL_RAW_ENABLE;
943
- rkisp_set_bits(stream->ispdev, ISP3X_MI_WR_CTRL, mask, val, false);
944
+ rkisp_unite_set_bits(stream->ispdev, ISP3X_MI_WR_CTRL, mask, val, false);
944945
945946 /* enable bpds path output */
946947 if (t->streaming && !t->is_pause)
....@@ -957,7 +958,7 @@
957958 if (fmt->fmt_type == FMT_RGB &&
958959 dev->isp_sdev.quantization == V4L2_QUANTIZATION_FULL_RANGE)
959960 val |= mask;
960
- rkisp_set_bits(stream->ispdev, ISP3X_MI_WR_CTRL, mask, val, false);
961
+ rkisp_unite_set_bits(stream->ispdev, ISP3X_MI_WR_CTRL, mask, val, false);
961962 }
962963
963964 static void bp_enable_mi(struct rkisp_stream *stream)
....@@ -969,7 +970,7 @@
969970 stream->out_isp_fmt.output_format |
970971 ISP3X_BP_ENABLE | ISP3X_BP_AUTO_UPD;
971972
972
- rkisp_write(stream->ispdev, ISP3X_MI_BP_WR_CTRL, val, false);
973
+ rkisp_unite_write(stream->ispdev, ISP3X_MI_BP_WR_CTRL, val, false);
973974
974975 /* enable bpds path output */
975976 if (t->streaming && !t->is_pause)
....@@ -982,7 +983,7 @@
982983 stream->out_isp_fmt.output_format |
983984 ISP32_DS_ENABLE | ISP32_DS_AUTO_UPD;
984985
985
- rkisp_write(stream->ispdev, stream->config->mi.ctrl, val, false);
986
+ rkisp_unite_write(stream->ispdev, stream->config->mi.ctrl, val, false);
986987 }
987988
988989 static void mp_disable_mi(struct rkisp_stream *stream)
....@@ -991,8 +992,7 @@
991992 struct rkisp_stream *t = &dev->cap_dev.stream[stream->conn_id];
992993 u32 mask = CIF_MI_CTRL_MP_ENABLE | CIF_MI_CTRL_RAW_ENABLE;
993994
994
- rkisp_set_bits(dev, 0x1814, 0, BIT(0), false);
995
- rkisp_clear_bits(stream->ispdev, ISP3X_MI_WR_CTRL, mask, false);
995
+ rkisp_unite_clear_bits(stream->ispdev, ISP3X_MI_WR_CTRL, mask, false);
996996
997997 /* disable mpds path output */
998998 if (!stream->is_pause && t->streaming)
....@@ -1001,7 +1001,7 @@
10011001
10021002 static void sp_disable_mi(struct rkisp_stream *stream)
10031003 {
1004
- rkisp_clear_bits(stream->ispdev, ISP3X_MI_WR_CTRL, CIF_MI_CTRL_SP_ENABLE, false);
1004
+ rkisp_unite_clear_bits(stream->ispdev, ISP3X_MI_WR_CTRL, CIF_MI_CTRL_SP_ENABLE, false);
10051005 }
10061006
10071007 static void bp_disable_mi(struct rkisp_stream *stream)
....@@ -1009,7 +1009,7 @@
10091009 struct rkisp_device *dev = stream->ispdev;
10101010 struct rkisp_stream *t = &dev->cap_dev.stream[stream->conn_id];
10111011
1012
- rkisp_clear_bits(stream->ispdev, ISP3X_MI_BP_WR_CTRL, ISP3X_BP_ENABLE, false);
1012
+ rkisp_unite_clear_bits(stream->ispdev, ISP3X_MI_BP_WR_CTRL, ISP3X_BP_ENABLE, false);
10131013
10141014 /* disable bpds path output */
10151015 if (!stream->is_pause && t->streaming)
....@@ -1018,7 +1018,7 @@
10181018
10191019 static void ds_disable_mi(struct rkisp_stream *stream)
10201020 {
1021
- rkisp_clear_bits(stream->ispdev, stream->config->mi.ctrl, ISP32_DS_ENABLE, false);
1021
+ rkisp_unite_clear_bits(stream->ispdev, stream->config->mi.ctrl, ISP32_DS_ENABLE, false);
10221022 }
10231023
10241024 static void update_mi(struct rkisp_stream *stream)
....@@ -1046,6 +1046,25 @@
10461046 reg = stream->config->mi.cr_base_ad_init;
10471047 val = stream->next_buf->buff_addr[RKISP_PLANE_CR];
10481048 rkisp_write(dev, reg, val, false);
1049
+ }
1050
+
1051
+ if (dev->hw_dev->unite) {
1052
+ reg = stream->config->mi.y_base_ad_init;
1053
+ val = stream->next_buf->buff_addr[RKISP_PLANE_Y];
1054
+ val += ((stream->out_fmt.width / 2) & ~0xf);
1055
+ rkisp_next_write(dev, reg, val, false);
1056
+
1057
+ reg = stream->config->mi.cb_base_ad_init;
1058
+ val = stream->next_buf->buff_addr[RKISP_PLANE_CB];
1059
+ val += ((stream->out_fmt.width / 2) & ~0xf);
1060
+ rkisp_next_write(dev, reg, val, false);
1061
+
1062
+ if (is_cr_cfg) {
1063
+ reg = stream->config->mi.cr_base_ad_init;
1064
+ val = stream->next_buf->buff_addr[RKISP_PLANE_CR];
1065
+ val += ((stream->out_fmt.width / 2) & ~0xf);
1066
+ rkisp_next_write(dev, reg, val, false);
1067
+ }
10491068 }
10501069
10511070 if (stream->is_pause) {
....@@ -1141,9 +1160,9 @@
11411160
11421161 stream->is_mf_upd = false;
11431162 if (dev->cap_dev.is_mirror)
1144
- rkisp_set_bits(dev, ISP3X_ISP_CTRL0, 0, ISP32_MIR_ENABLE, false);
1163
+ rkisp_unite_set_bits(dev, ISP3X_ISP_CTRL0, 0, ISP32_MIR_ENABLE, false);
11451164 else
1146
- rkisp_clear_bits(dev, ISP3X_ISP_CTRL0, ISP32_MIR_ENABLE, false);
1165
+ rkisp_unite_clear_bits(dev, ISP3X_ISP_CTRL0, ISP32_MIR_ENABLE, false);
11471166
11481167 switch (stream->id) {
11491168 case RKISP_STREAM_SP:
....@@ -1169,9 +1188,9 @@
11691188
11701189 tmp = rkisp_read_reg_cache(dev, ISP32_MI_WR_VFLIP_CTRL);
11711190 if (stream->is_flip)
1172
- rkisp_write(dev, ISP32_MI_WR_VFLIP_CTRL, tmp | val, false);
1191
+ rkisp_unite_write(dev, ISP32_MI_WR_VFLIP_CTRL, tmp | val, false);
11731192 else
1174
- rkisp_write(dev, ISP32_MI_WR_VFLIP_CTRL, tmp & ~val, false);
1193
+ rkisp_unite_write(dev, ISP32_MI_WR_VFLIP_CTRL, tmp & ~val, false);
11751194 return 0;
11761195 }
11771196
....@@ -1221,7 +1240,7 @@
12211240 data++;
12221241 }
12231242 if (!ns)
1224
- ns = ktime_get_ns();
1243
+ ns = rkisp_time_get_ns(dev);
12251244 stream->curr_buf->vb.vb2_buf.timestamp = ns;
12261245 stream->curr_buf->vb.sequence = seq;
12271246 vb2_set_plane_payload(&stream->curr_buf->vb.vb2_buf, 0, val * 4);
....@@ -1408,7 +1427,10 @@
14081427 (stream->frame_early && state == FRAME_IRQ))
14091428 goto end;
14101429 } else {
1430
+ spin_lock_irqsave(&stream->vbq_lock, lock_flags);
14111431 buf = stream->curr_buf;
1432
+ stream->curr_buf = NULL;
1433
+ spin_unlock_irqrestore(&stream->vbq_lock, lock_flags);
14121434 }
14131435
14141436 if (buf) {
....@@ -1433,10 +1455,10 @@
14331455
14341456 rkisp_dmarx_get_frame(dev, &i, NULL, &ns, true);
14351457 if (!ns)
1436
- ns = ktime_get_ns();
1458
+ ns = rkisp_time_get_ns(dev);
14371459 buf->vb.sequence = i;
14381460 buf->vb.vb2_buf.timestamp = ns;
1439
- ns = ktime_get_ns();
1461
+ ns = rkisp_time_get_ns(dev);
14401462 stream->dbg.interval = ns - stream->dbg.timestamp;
14411463 stream->dbg.delay = ns - dev->isp_sdev.frm_timestamp;
14421464 stream->dbg.timestamp = ns;
....@@ -1546,6 +1568,7 @@
15461568 struct rkisp_device *dev = stream->ispdev;
15471569 int ret;
15481570
1571
+ stream->is_pause = false;
15491572 if (stream->ops->set_data_path)
15501573 stream->ops->set_data_path(stream);
15511574 if (stream->ops->config_mi) {
....@@ -2264,6 +2287,12 @@
22642287 v4l2_dbg(3, rkisp_debug, &dev->v4l2_dev,
22652288 "mi isr:0x%x\n", mis_val);
22662289
2290
+ if (dev->hw_dev->unite == ISP_UNITE_ONE &&
2291
+ dev->unite_index == ISP_UNITE_LEFT) {
2292
+ rkisp_write(dev, ISP3X_MI_ICR, mis_val, true);
2293
+ goto end;
2294
+ }
2295
+
22672296 for (i = 0; i < RKISP_MAX_STREAM; ++i) {
22682297 stream = &dev->cap_dev.stream[i];
22692298
....@@ -2296,7 +2325,7 @@
22962325 wake_up(&stream->done);
22972326 }
22982327 } else if (stream->id == RKISP_STREAM_MP && dev->cap_dev.wrap_line) {
2299
- ns = ktime_get_ns();
2328
+ ns = rkisp_time_get_ns(dev);
23002329 rkisp_dmarx_get_frame(dev, &seq, NULL, NULL, true);
23012330 stream->dbg.interval = ns - stream->dbg.timestamp;
23022331 stream->dbg.delay = ns - dev->isp_sdev.frm_timestamp;
....@@ -2306,7 +2335,7 @@
23062335 mi_frame_end(stream, FRAME_IRQ);
23072336 }
23082337 }
2309
-
2338
+end:
23102339 if (mis_val & ISP3X_MI_MP_FRAME) {
23112340 stream = &dev->cap_dev.stream[RKISP_STREAM_MP];
23122341 if (!stream->streaming)