Questions about MIPI recievement on TX2 side

Hi,
We developed a custom camera driver, unfortunately a problem occurred streaming images can not be captured smoothly.

  • Jetson TX2
  • L4T28.2.1 (and applied NVIDIA patch https://devtalk.nvidia.com/default/topic/1037809)
  • V4L2 I/F
  • Ser/Des camera outputs RAW12

When using the nvcamerasrc of gstreamer, it moves without problems. However, it does not work fine at V4L2 despite using the same device driver and device tree. When using V4L2 interface, the device driver stack captures several frames and then freezes. After that the device driver recovers by the effect of the NVIDIA’s patch. At this time, the device driver outputs following messages.

Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.415928] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.422353] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.433024] nvcsi 150c0000.nvcsi: csi4_error_recover: resetting nvcsi stream 4
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.440459] nvcsi 150c0000.nvcsi: csi4_stop_streaming ports index=0, lanes=2
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.447928] nvcsi 150c0000.nvcsi: csi4_phy_config
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.452736] nvcsi 150c0000.nvcsi: NVCSI_CIL_CONFIG = 00000002
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.458554] nvcsi 150c0000.nvcsi: csi4_stream_check_status
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.464238] nvcsi 150c0000.nvcsi: csi4_cil_check_status 352
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.469874] nvcsi 150c0000.nvcsi: csi4_cil_check_status (4) CIL_INTR_STATUS 0x0000002c
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.477872] nvcsi 150c0000.nvcsi: csi4_cil_check_status (4) CIL_ERR_INTR_STATUS 0x0000002c
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.486255] nvcsi 150c0000.nvcsi: csi4_start_streaming ports index=4, lanes=2
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.493444] nvcsi 150c0000.nvcsi: csi4_stream_init
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.498365] nvcsi 150c0000.nvcsi: csi4_stream_config
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.503398] nvcsi 150c0000.nvcsi: csi4_stream_config (4) read VC0_DPCM_CTRL = 00000000
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.511432] nvcsi 150c0000.nvcsi: csi4_phy_config
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.516251] nvcsi 150c0000.nvcsi: NVCSI_CIL_CONFIG = 00000000
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.522047] nvcsi 150c0000.nvcsi: cil_settingtime is pulled from device
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.528699] nvcsi 150c0000.nvcsi: cil core clock: 204, csi clock: 102
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.535234] nvcsi 150c0000.nvcsi: cil_settingtime was autocalculated
Dec 19 15:53:59 tegra-ubuntu kernel: [ 1656.541649] nvcsi 150c0000.nvcsi: csi settle time: 33, cil settle time: 25
Dec 19 15:54:00 tegra-ubuntu kernel: [ 1657.631968] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
Dec 19 15:54:00 tegra-ubuntu kernel: [ 1657.638400] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
Dec 19 15:54:00 tegra-ubuntu kernel: [ 1657.648706] nvcsi 150c0000.nvcsi: csi4_error_recover: resetting nvcsi stream 4
Dec 19 15:54:00 tegra-ubuntu kernel: [ 1657.656158] nvcsi 150c0000.nvcsi: csi4_stop_streaming ports index=0, lanes=2
Dec 19 15:54:00 tegra-ubuntu kernel: [ 1657.663440] nvcsi 150c0000.nvcsi: csi4_phy_config
Dec 19 15:54:00 tegra-ubuntu kernel: [ 1657.668245] nvcsi 150c0000.nvcsi: NVCSI_CIL_CONFIG = 00000002
Dec 19 15:54:00 tegra-ubuntu kernel: [ 1657.674129] nvcsi 150c0000.nvcsi: csi4_stream_check_status
Dec 19 15:54:00 tegra-ubuntu kernel: [ 1657.679735] nvcsi 150c0000.nvcsi: csi4_stream_check_status (4) INTR_STATUS 0x00000008
Dec 19 15:54:00 tegra-ubuntu kernel: [ 1657.687699] nvcsi 150c0000.nvcsi: csi4_stream_check_status (4) ERR_INTR_STATUS 0x00000008
Dec 19 15:54:00 tegra-ubuntu kernel: [ 1657.695942] nvcsi 150c0000.nvcsi: csi4_cil_check_status 352
Dec 19 15:54:00 tegra-ubuntu kernel: [ 1657.701640] nvcsi 150c0000.nvcsi: csi4_cil_check_status (4) CIL_INTR_STATUS 0x0000006c
Dec 19 15:54:00 tegra-ubuntu kernel: [ 1657.709608] nvcsi 150c0000.nvcsi: csi4_cil_check_status (4) CIL_ERR_INTR_STATUS 0x0000006c

We checked MIPI waveform and some unclear points came out. So, I have a few questions.

  1. At about the same time as an error and recovery occurred, the waveform was amplified during one frame. We guess it is the effect of electrical termination, so is there a way to adjust something on Jetson side?
    e.g. adjustment parameter of RX that receives MIPI HS(high speed) signal of Jetson TX2.

normal case: no_amplified.png
amplified case: amplified.png

  1. When sets Ser/Des MIPI rate to 1.2Gbps/lane, capture works normally and seems the start position of sync sequence is stable. However sets 1.1Gbps/lane, capture does not work smoothly and the start position of sync sequence shifts around several clock every frame. We wonder Jetson cannot received payload data by effect of this timing shift. Is there any condition for Jetson’s payload data receiving timing?

stable condition (1.2Gbps/lane): no_shift_sync.png
unstable condition (1.1Gbps/lane): shift_sync.png

Thanks.


no_amplified.png

hello Muraisae,

  1. could you please share the commands that you access camera sensors via V4L2 interface.
  2. according to Camera Architecture Stack, nvcamerasrc and V4L2 were going through different software stacks.
    please examine your sensor device tree properties settings. especially sensor signal settings, pix_clk_hz, mclk_multiplier, mclk_khz.
  3. you might also refer to https://elinux.org/Jetson_TX2_Camera_BringUp for some debugging tips.
    thanks

Boost the vi clock a try.

echo 1 > /sys/kernel/debug/bpmp/debug/clk/vi/mrq_rate_locked
cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate
echo max_rate > /sys/kernel/debug/bpmp/debug/clk/vi/rate

Hello, JerryChang.
Thank you for your prompt reply.

A1)
The commands are as follows.

v4l2-ctl --set-fmt-video=width=1928,height=1208,pixelformat=RG12 --stream-mmap --stream-count=100 -d /dev/video0 --stream-to=dump.raw

Response at normal case (1.2Gbps/lane):

$ v4l2-ctl --set-fmt-video=width=1928,height=1208,pixelformat=RG12 --stream-mmap --stream-count=100 -d /dev/video0 --stream-to=dump.raw
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33.98 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33.83 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$

Response at abnormal case (1.1Gbps/lane):

$ v4l2-ctl --set-fmt-video=width=1928,height=1208,pixelformat=RG12 --stream-mmap --stream-count=100 -d /dev/video0 --stream-to=dump.raw
<<<<<<<<<<< 7.19 fps
< 4.10 fps
<<<<<<<<<<<< 7.64 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<< 10.16 fps
< 10.17 fps
<<<<<<<<<<< 9.65 fps
<<<<<<<<< 9.05 fps
< 7.95 fps
<<<< 7.34 fps
<<<<<<<<<<<<< 7.47 fps
< 7.47 fps
<<<<<<< 7.27 fps
<<
$

A2)
We described to the device driver as follows.

mode0 {
        mclk_khz = "24000";
        num_lanes = "2";
        tegra_sinterface = "serial_e";
        discontinuous_clk = "no";
        cil_settletime = "0";

        active_w = "1928";
        active_h = "1208";
        pixel_t = "bayer_rggb12";
        readout_orientation = "0";
        line_length = "1928";
        inherent_gain = "1";
        mclk_multiplier = "25";
        pix_clk_hz = "130680000";

        min_gain_val = "0";
        max_gain_val = "48";
        min_hdr_ratio = "1";
        max_hdr_ratio = "1";
        min_framerate = "6";
        max_framerate = "30";
        min_exp_time = "30";
        max_exp_time = "666000";
        embedded_metadata_height = "0";
};

A3)
We refer to https://elinux.org/Jetson_TX2_Camera_BringUp, and take trace data. A part of the trace data is shown below.
(Start->Take some images->Fail->Restart)

kworker/0:0-4     [000] ...1   526.032208: rtcpu_start: tstamp:16824453978
     kworker/0:0-4     [000] ...1   526.032210: rtcpu_vinotify_handle_msg: tstamp:16824458763 tag:CSIMUX_STREAM channel:0xff frame:0 vi_tstamp:3939555643 data:0x00010000
     kworker/0:0-4     [000] ...1   526.032210: rtcpu_vinotify_handle_msg: tstamp:16825328395 tag:CHANSEL_PXL_SOF channel:0x00 frame:0 vi_tstamp:3940425942 data:0x00000001
     kworker/0:0-4     [000] ...1   526.032211: rtcpu_vinotify_handle_msg: tstamp:16825328560 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:3940425949 data:0x00000000
     kworker/0:0-4     [000] ...1   526.032212: rtcpu_vinotify_handle_msg: tstamp:16825330348 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:0 vi_tstamp:3940428045 data:0x08000000
     kworker/0:0-4     [000] ...1   526.080221: rtcpu_vinotify_handle_msg: tstamp:16825816426 tag:CHANSEL_PXL_EOF channel:0x00 frame:0 vi_tstamp:3940913938 data:0x04b70002
     kworker/0:0-4     [000] ...1   526.080223: rtcpu_vinotify_handle_msg: tstamp:16825816537 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:3940913962 data:0x00000000
     kworker/0:0-4     [000] ...1   526.080224: rtcpu_vinotify_handle_msg: tstamp:16826254427 tag:CHANSEL_PXL_SOF channel:0x00 frame:0 vi_tstamp:3941351994 data:0x00000001
     kworker/0:0-4     [000] ...1   526.080225: rtcpu_vinotify_handle_msg: tstamp:16826254586 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:3941352000 data:0x00000000
     kworker/0:0-4     [000] ...1   526.080226: rtcpu_vinotify_handle_msg: tstamp:16826742469 tag:CHANSEL_PXL_EOF channel:0x00 frame:0 vi_tstamp:3941839994 data:0x04b70002
     kworker/0:0-4     [000] ...1   526.080226: rtcpu_vinotify_handle_msg: tstamp:16826742579 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:3941840017 data:0x00000000
     kworker/0:0-4     [000] ...1   526.184214: rtcpu_vinotify_handle_msg: tstamp:16829032599 tag:CHANSEL_PXL_SOF channel:0x00 frame:0 vi_tstamp:3944130157 data:0x00000001
     kworker/0:0-4     [000] ...1   526.184217: rtcpu_vinotify_handle_msg: tstamp:16829032758 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:3944130163 data:0x00000000
     kworker/0:0-4     [000] ...1   526.184218: rtcpu_vinotify_handle_msg: tstamp:16829034896 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:0 vi_tstamp:3944132597 data:0x08000000
     kworker/0:0-4     [000] ...1   526.184220: rtos_queue_peek_from_isr_failed: tstamp:16829453742 queue:0x0b4a3c58
     kworker/0:0-4     [000] ...1   526.184220: rtcpu_vinotify_handle_msg: tstamp:16829520624 tag:CHANSEL_PXL_EOF channel:0x00 frame:0 vi_tstamp:3944618157 data:0x04b70002
     kworker/0:0-4     [000] ...1   526.184221: rtcpu_vinotify_handle_msg: tstamp:16829520730 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:3944618181 data:0x00000000
     kworker/0:0-4     [000] ...1   526.184222: rtcpu_vinotify_handle_msg: tstamp:16829958659 tag:CHANSEL_PXL_SOF channel:0x00 frame:0 vi_tstamp:3945056210 data:0x00000001
     kworker/0:0-4     [000] ...1   526.184223: rtcpu_vinotify_handle_msg: tstamp:16829958818 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:3945056217 data:0x00000000
     kworker/0:0-4     [000] ...1   526.184223: rtcpu_vinotify_handle_msg: tstamp:16829960491 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:0 vi_tstamp:3945058191 data:0x08000000
     kworker/0:0-4     [000] ...1   526.184224: rtcpu_vinotify_handle_msg: tstamp:16830446698 tag:CHANSEL_PXL_EOF channel:0x00 frame:0 vi_tstamp:3945544214 data:0x04b70002
     kworker/0:0-4     [000] ...1   526.184225: rtcpu_vinotify_handle_msg: tstamp:16830446810 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:3945544237 data:0x00000000
     kworker/0:0-4     [000] ...1   526.236216: rtcpu_vinotify_handle_msg: tstamp:16830884702 tag:CHANSEL_PXL_SOF channel:0x00 frame:0 vi_tstamp:3945982268 data:0x00000001
     kworker/0:0-4     [000] ...1   526.236222: rtcpu_vinotify_handle_msg: tstamp:16830884868 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:3945982274 data:0x00000000
     kworker/0:0-4     [000] ...1   526.236223: rtcpu_vinotify_handle_msg: tstamp:16831372740 tag:CHANSEL_PXL_EOF channel:0x00 frame:0 vi_tstamp:3946470266 data:0x04b70002
     kworker/0:0-4     [000] ...1   526.236224: rtcpu_vinotify_handle_msg: tstamp:16831372852 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:3946470290 data:0x00000000
     kworker/0:0-4     [000] ...1   526.236225: rtcpu_vinotify_handle_msg: tstamp:16831810763 tag:CHANSEL_PXL_SOF channel:0x00 frame:0 vi_tstamp:3946908322 data:0x00000001
     kworker/0:0-4     [000] ...1   526.236226: rtcpu_vinotify_handle_msg: tstamp:16831810933 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:3946908328 data:0x00000000
     kworker/0:0-4     [000] ...1   526.293644: rtcpu_vinotify_handle_msg: tstamp:16832131747 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:0 vi_tstamp:3947229423 data:0x08000000
     kworker/0:0-4     [000] ...1   526.293648: rtcpu_vinotify_handle_msg: tstamp:16832298796 tag:CHANSEL_PXL_EOF channel:0x00 frame:0 vi_tstamp:3947396323 data:0x04b70002
     kworker/0:0-4     [000] ...1   526.293649: rtcpu_vinotify_handle_msg: tstamp:16832298908 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:3947396347 data:0x00000000
     kworker/0:0-4     [000] ...1   526.293649: rtcpu_vinotify_handle_msg: tstamp:16832736818 tag:CHANSEL_PXL_SOF channel:0x00 frame:0 vi_tstamp:3947834379 data:0x00000001
     kworker/0:0-4     [000] ...1   526.293650: rtcpu_vinotify_handle_msg: tstamp:16832736983 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:3947834385 data:0x00000000
     kworker/0:0-4     [000] ...1   526.293651: rtcpu_vinotify_handle_msg: tstamp:16832742561 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:0 vi_tstamp:3947840244 data:0x08000000
     kworker/0:0-4     [000] ...1   526.293652: rtcpu_vinotify_handle_msg: tstamp:16833224877 tag:CHANSEL_PXL_EOF channel:0x00 frame:0 vi_tstamp:3948322381 data:0x04b70002
     kworker/0:0-4     [000] ...1   526.293652: rtcpu_vinotify_handle_msg: tstamp:16833225004 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:3948322406 data:0x00000000
     kworker/0:0-4     [000] ...1   526.293653: rtcpu_vinotify_handle_msg: tstamp:16833662865 tag:CHANSEL_PXL_SOF channel:0x00 frame:0 vi_tstamp:3948760431 data:0x00000001
     kworker/0:0-4     [000] ...1   526.293654: rtcpu_vinotify_handle_msg: tstamp:16833663024 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:3948760437 data:0x00000000
     kworker/0:0-4     [000] ...1   526.347744: rtcpu_vinotify_handle_msg: tstamp:16834150903 tag:CHANSEL_PXL_EOF channel:0x00 frame:0 vi_tstamp:3949248436 data:0x04b70002
     kworker/0:0-4     [000] ...1   526.347747: rtcpu_vinotify_handle_msg: tstamp:16834151008 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:3949248460 data:0x00000000
     kworker/0:0-4     [000] ...1   526.347751: rtos_queue_peek_from_isr_failed: tstamp:16834454242 queue:0x0b4a3c58
     kworker/0:0-4     [000] ...1   526.347752: rtcpu_vinotify_handle_msg: tstamp:16835076828 tag:CSIMUX_FRAME channel:0x00 frame:3072 vi_tstamp:3950174510 data:0x00000224
     kworker/0:0-4     [000] ...1   526.448219: rtcpu_vinotify_handle_msg: tstamp:16837367101 tag:CHANSEL_PXL_SOF channel:0x00 frame:0 vi_tstamp:3952464654 data:0x00000001
     kworker/0:0-4     [000] ...1   526.448224: rtcpu_vinotify_handle_msg: tstamp:16837367263 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:3952464661 data:0x00000000
     kworker/0:0-4     [000] ...1   526.448225: rtcpu_vinotify_handle_msg: tstamp:16837700942 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:0 vi_tstamp:3952798624 data:0x08000000
     kworker/0:0-4     [000] ...1   526.448226: rtcpu_vinotify_handle_msg: tstamp:16837855122 tag:CHANSEL_PXL_EOF channel:0x00 frame:0 vi_tstamp:3952952655 data:0x04b70002
     kworker/0:0-4     [000] ...1   526.448227: rtcpu_vinotify_handle_msg: tstamp:16837855227 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:3952952679 data:0x00000000
     kworker/0:0-4     [000] ...1   526.448229: rtcpu_vinotify_handle_msg: tstamp:16838293149 tag:CHANSEL_PXL_SOF channel:0x00 frame:0 vi_tstamp:3953390710 data:0x00000001
     kworker/0:0-4     [000] ...1   526.448230: rtcpu_vinotify_handle_msg: tstamp:16838293308 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:3953390716 data:0x00000000
     kworker/0:0-4     [000] ...1   526.448231: rtcpu_vinotify_handle_msg: tstamp:16838295431 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:0 vi_tstamp:3953393130 data:0x08000000
     kworker/0:0-4     [000] ...1   526.500244: rtcpu_vinotify_handle_msg: tstamp:16838781208 tag:CHANSEL_PXL_EOF channel:0x00 frame:0 vi_tstamp:3953878713 data:0x04b70002
     kworker/0:0-4     [000] ...1   526.500248: rtcpu_vinotify_handle_msg: tstamp:16838781329 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:3953878738 data:0x00000000
     kworker/0:0-4     [000] ...1   526.500250: rtcpu_vinotify_handle_msg: tstamp:16839219196 tag:CHANSEL_PXL_SOF channel:0x00 frame:0 vi_tstamp:3954316763 data:0x00000001
     kworker/0:0-4     [000] ...1   526.500251: rtcpu_vinotify_handle_msg: tstamp:16839219354 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:3954316770 data:0x00000000
     kworker/0:0-4     [000] ...1   526.500253: rtcpu_vinotify_handle_msg: tstamp:16839221519 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:0 vi_tstamp:3954319222 data:0x08000000
     kworker/0:0-4     [000] ...1   526.500256: rtos_queue_peek_from_isr_failed: tstamp:16839454761 queue:0x0b4a3c58
     kworker/0:0-4     [000] ...1   526.500257: rtcpu_vinotify_handle_msg: tstamp:16839707246 tag:CHANSEL_PXL_EOF channel:0x00 frame:0 vi_tstamp:3954804763 data:0x04b70002
     kworker/0:0-4     [000] ...1   526.500259: rtcpu_vinotify_handle_msg: tstamp:16839707359 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:3954804788 data:0x00000000
     kworker/0:0-4     [000] ...1   526.500260: rtcpu_vinotify_handle_msg: tstamp:16840145265 tag:CHANSEL_PXL_SOF channel:0x00 frame:0 vi_tstamp:3955242820 data:0x00000001
     kworker/0:0-4     [000] ...1   526.500262: rtcpu_vinotify_handle_msg: tstamp:16840145427 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:3955242826 data:0x00000000
     kworker/0:0-4     [000] ...1   526.500263: rtcpu_vinotify_handle_msg: tstamp:16840148344 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:0 vi_tstamp:3955246045 data:0x08000000
     kworker/0:0-4     [000] ...1   526.552252: rtcpu_vinotify_handle_msg: tstamp:16840633423 tag:CHANSEL_PXL_EOF channel:0x00 frame:0 vi_tstamp:3955730821 data:0x04b70002
     kworker/0:0-4     [000] ...1   526.552255: rtcpu_vinotify_handle_msg: tstamp:16840633534 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:3955730842 data:0x00000224
     kworker/0:0-4     [000] ...1   526.552256: rtcpu_vinotify_handle_msg: tstamp:16840633730 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:3955730845 data:0x00000000
     kworker/0:0-4     [000] .n.1   526.656302: rtos_queue_peek_from_isr_failed: tstamp:16844455269 queue:0x0b4a3c58
     kworker/0:0-4     [000] ...1   526.812302: rtos_queue_peek_from_isr_failed: tstamp:16849455774 queue:0x0b4a3c58
     kworker/0:0-4     [000] ...1   526.968307: rtos_queue_peek_from_isr_failed: tstamp:16854456280 queue:0x0b4a3c58
     kworker/0:0-4     [000] ...1   527.124291: rtos_queue_peek_from_isr_failed: tstamp:16859456783 queue:0x0b4a3c58
     kworker/0:0-4     [000] ...1   527.280289: rtos_queue_peek_from_isr_failed: tstamp:16864457323 queue:0x0b4a3c58
     kworker/0:0-4     [000] ...1   527.436284: rtos_queue_peek_from_isr_failed: tstamp:16869457801 queue:0x0b4a3c58
     kworker/0:0-4     [000] ...1   527.544241: rtos_queue_peek_from_isr_failed: tstamp:16871871187 queue:0x0b4a3c58
     kworker/0:0-4     [000] ...1   527.648224: rtos_queue_peek_from_isr_failed: tstamp:16875511507 queue:0x0b4a3c58
     kworker/0:0-4     [000] ...1   527.648228: rtcpu_start: tstamp:16875512491

Thank you.

Hello, ShaneCCC.
Thank you for your response. I tried your advice, but unfortunately it seems no improvement. My operation is as follows.

root@tegra-ubuntu:~# echo 1 > /sys/kernel/debug/bpmp/debug/clk/vi/mrq_rate_locked 
root@tegra-ubuntu:~# cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate
1036800000
root@tegra-ubuntu:~# cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate > /sys/kernel/debug/bpmp/debug/clk/vi/rate 
root@tegra-ubuntu:~# cat /sys/kernel/debug/bpmp/debug/clk/vi/rate
1036800000

$ v4l2-ctl --set-fmt-video=width=1928,height=1208,pixelformat=RG12 --stream-mmap --stream-count=100 -d /dev/video0 --stream-to=dump.raw
<<<<<< 4.06 fps
<<<<<<<<<<<<<<<<<<<<<<<< 14.50 fps
<<< 10.00 fps
<<<<<<<<<<<<<<< 9.71 fps
<< 8.07 fps
<< 6.96 fps
<

Thanks.

Remove file write “–stream-to=dump.raw” in the command line to try.

I removed “–stream-to=dump.raw” in the command line.

Normal case:

$ v4l2-ctl --set-fmt-video=width=1928,height=1208,pixelformat=RG12 --stream-mmap --stream-count=100 -d /dev/video0
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 34.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33.83 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Abnormal case:

$ v4l2-ctl --set-fmt-video=width=1928,height=1208,pixelformat=RG12 --stream-mmap --stream-count=100 -d /dev/video0
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 34.00 fps
<< 16.66 fps
<<<<<<<<<<<<<<<< 13.64 fps
<<<< 14.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 14.61 fps
<<<<<<<<<<

Our sensor setting is around 33 FPS. However, in the abnormal case, it is not stable at 33 FPS.
To be exact, we use a V4L2 application developed on our company. Although, we believe that there is no problem on the application layer because can see some errors in the messages of the kernel (dmesg).

tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel

As I mentioned before we found some waveform differences between normal case and abnormal case. These might be causes by the transmission side. But also we are looking for some adjustable settings on receiving (Jetson) side.
Don’t you have any ideas about this?

Thanks.

As the “PXL_SOF syncpt timeout! err = -11” message, that means vi/csi lost receive frames. It could cause by signal quality problem. Please have check the MIPI signal is compatible with MIPI spec. Also try set the discontinuous_clk = “yes”

Thank you for your instruction. I changed the setting of discontinuous_clk to “yes”, but unfortunately the situation did not change. We continue checking the MIPI signal and specification. Please tell us if any other idea comes up about Jetson setting.
Thanks.