Error: nvcsi 150c0000.nvcsi: csi4_stream_check_status (4) ERROR_STATUS2VI_VC0 = 0x0000000e

Hi,

I am creating a driver for Jetpack-l4t-4-2, but when I try to capture with this command:

v4l2-ctl -d /dev/video0 --set-fmt-video=width=320,height=256 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1

I get these messages:

[ 1024.612439] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 1024.619033] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 1024.629832] nvcsi 150c0000.nvcsi: csi4_stream_check_status (4) ERROR_STATUS2VI_VC0 = 0x0000000e
[ 1024.638674] nvcsi 150c0000.nvcsi: csi4_stream_check_status (4) INTR_STATUS 0x0001000e
[ 1024.646671] nvcsi 150c0000.nvcsi: csi4_stream_check_status (4) ERR_INTR_STATUS 0x0001000e
[ 1024.860462] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 1024.866969] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 1024.876935] nvcsi 150c0000.nvcsi: csi4_stream_check_status (4) ERROR_STATUS2VI_VC0 = 0x0000000e
[ 1024.885703] nvcsi 150c0000.nvcsi: csi4_stream_check_status (4) INTR_STATUS 0x0001000e
[ 1024.893693] nvcsi 150c0000.nvcsi: csi4_stream_check_status (4) ERR_INTR_STATUS 0x0001000e
[ 1025.104398] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
. . .

This is the trace log:

# tracer: nop
#
# entries-in-buffer/entries-written: 543/543   #P:4
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
     kworker/5:1-1151  [005] ....   935.466027: rtos_queue_peek_from_isr_failed: tstamp:29615633376 queue:0x0b4b4500
. . .
     kworker/5:1-1151  [005] ....  1024.397247: rtos_queue_peek_from_isr_failed: tstamp:32394026278 queue:0x0b4b4500
     kworker/5:1-1151  [005] ....  1024.397336: rtcpu_start: tstamp:32394029150
     kworker/5:1-1151  [005] ....  1024.397363: rtos_queue_send_from_isr_failed: tstamp:32394091044 queue:0x0b4a7258
. . .
     kworker/5:1-1151  [005] ....  1024.397401: rtos_queue_send_from_isr_failed: tstamp:32394092302 queue:0x0b4b1c18
     kworker/5:1-1151  [005] ....  1024.397427: rtos_queue_send_failed: tstamp:32394093147 queue:0x0b4a7258
     kworker/5:1-1151  [005] ....  1024.397431: rtos_queue_send_from_isr_failed: tstamp:32394102613 queue:0x0b4a7258
. . .
     kworker/5:1-1151  [005] ....  1024.397458: rtos_queue_send_from_isr_failed: tstamp:32394103827 queue:0x0b4b1c18
     kworker/5:1-1151  [005] ....  1024.397462: rtos_queue_send_failed: tstamp:32394105746 queue:0x0b4a7258
     kworker/5:1-1151  [005] ....  1024.452341: rtcpu_vinotify_event: tstamp:32395461710 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:32395461054 data:0x000000a4
     kworker/5:1-1151  [005] ....  1024.452346: rtcpu_vinotify_event: tstamp:32395461903 tag:CHANSEL_PXL_SOF channel:0x00 frame:0 vi_tstamp:32395461071 data:0x00000001
     kworker/5:1-1151  [005] ....  1024.452348: rtcpu_vinotify_event: tstamp:32395462106 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:32395461077 data:0x00000000
     kworker/5:1-1151  [005] ....  1024.452351: rtcpu_vinotify_event: tstamp:32395464278 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:0 vi_tstamp:32395463895 data:0x08000000
     kworker/5:1-1151  [005] ....  1024.452353: rtcpu_vinotify_event: tstamp:32395472370 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:32395471656 data:0x000000a4
     kworker/5:1-1151  [005] ....  1024.452355: rtcpu_vinotify_event: tstamp:32395472606 tag:CHANSEL_SHORT_FRAME channel:0x10 frame:0 vi_tstamp:32395471656 data:0x00000001
     kworker/5:1-1151  [005] ....  1024.452357: rtcpu_vinotify_event: tstamp:32395472788 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:32395471659 data:0x00000000
     kworker/5:1-1151  [005] ....  1024.564349: rtos_queue_peek_from_isr_failed: tstamp:32399026808 queue:0x0b4b4500
     kworker/5:1-1151  [005] ....  1024.676389: rtos_queue_send_from_isr_failed: tstamp:32402236042 queue:0x0b4a7258
     kworker/5:1-1151  [005] ....  1024.676411: rtos_queue_send_from_isr_failed: tstamp:32402236505 queue:0x0b4aad68
     kworker/5:1-1151  [005] ....  1024.676416: rtos_queue_send_from_isr_failed: tstamp:32402236964 queue:0x0b4ac998
     kworker/5:1-1151  [005] ....  1024.676421: rtos_queue_send_from_isr_failed: tstamp:32402237420 queue:0x0b4ae518
     kworker/5:1-1151  [005] ....  1024.676425: rtos_queue_send_from_isr_failed: tstamp:32402237877 queue:0x0b4af2d8
     kworker/5:1-1151  [005] ....  1024.676430: rtos_queue_send_from_isr_failed: tstamp:32402238332 queue:0x0b4b0098
     kworker/5:1-1151  [005] ....  1024.676435: rtos_queue_send_from_isr_failed: tstamp:32402238788 queue:0x0b4b0e58
     kworker/5:1-1151  [005] ....  1024.676439: rtos_queue_send_from_isr_failed: tstamp:32402239245 queue:0x0b4b1c18
     kworker/5:1-1151  [005] ....  1024.676450: rtos_queue_send_failed: tstamp:32402241404 queue:0x0b4a7258
     kworker/5:1-1151  [005] ....  1024.676454: rtos_queue_send_from_isr_failed: tstamp:32402250683 queue:0x0b4a7258
     kworker/5:1-1151  [005] ....  1024.676459: rtos_queue_send_from_isr_failed: tstamp:32402251137 queue:0x0b4aad68
     kworker/5:1-1151  [005] ....  1024.676464: rtos_queue_send_from_isr_failed: tstamp:32402251593 queue:0x0b4ac998
     kworker/5:1-1151  [005] ....  1024.676469: rtos_queue_send_from_isr_failed: tstamp:32402252073 queue:0x0b4ae518
     kworker/5:1-1151  [005] ....  1024.676475: rtos_queue_send_from_isr_failed: tstamp:32402252523 queue:0x0b4af2d8
     kworker/5:1-1151  [005] ....  1024.676480: rtos_queue_send_from_isr_failed: tstamp:32402252977 queue:0x0b4b0098
     kworker/5:1-1151  [005] ....  1024.676485: rtos_queue_send_from_isr_failed: tstamp:32402253429 queue:0x0b4b0e58
     kworker/5:1-1151  [005] ....  1024.676489: rtos_queue_send_from_isr_failed: tstamp:32402253884 queue:0x0b4b1c18
     kworker/5:1-1151  [005] ....  1024.676494: rtos_queue_send_failed: tstamp:32402255697 queue:0x0b4a7258
     kworker/5:1-1151  [005] ....  1024.676499: rtos_queue_send_from_isr_failed: tstamp:32403054095 queue:0x0b4a7258
     kworker/5:1-1151  [005] ....  1024.676504: rtos_queue_send_from_isr_failed: tstamp:32403054270 queue:0x0b4aad68
     kworker/5:1-1151  [005] ....  1024.676510: rtos_queue_send_from_isr_failed: tstamp:32403054447 queue:0x0b4ac998
     kworker/5:1-1151  [005] ....  1024.676515: rtos_queue_send_from_isr_failed: tstamp:32403054620 queue:0x0b4ae518
     kworker/5:1-1151  [005] ....  1024.676520: rtos_queue_send_from_isr_failed: tstamp:32403054793 queue:0x0b4af2d8
     kworker/5:1-1151  [005] ....  1024.676525: rtos_queue_send_from_isr_failed: tstamp:32403054965 queue:0x0b4b0098
     kworker/5:1-1151  [005] ....  1024.676530: rtos_queue_send_from_isr_failed: tstamp:32403055138 queue:0x0b4b0e58
     kworker/5:1-1151  [005] ....  1024.676535: rtos_queue_send_from_isr_failed: tstamp:32403055309 queue:0x0b4b1c18
     kworker/5:1-1151  [005] ....  1024.676539: rtos_queue_send_failed: tstamp:32403056013 queue:0x0b4a7258
     kworker/5:1-1151  [005] ....  1024.676544: rtos_queue_send_from_isr_failed: tstamp:32403064239 queue:0x0b4a7258
     kworker/5:1-1151  [005] ....  1024.676549: rtos_queue_send_from_isr_failed: tstamp:32403064723 queue:0x0b4aad68
     kworker/5:1-1151  [005] ....  1024.676554: rtos_queue_send_from_isr_failed: tstamp:32403065179 queue:0x0b4ac998
     kworker/5:1-1151  [005] ....  1024.676559: rtos_queue_send_from_isr_failed: tstamp:32403065637 queue:0x0b4ae518
     kworker/5:1-1151  [005] ....  1024.676564: rtos_queue_send_from_isr_failed: tstamp:32403066092 queue:0x0b4af2d8
     kworker/5:1-1151  [005] ....  1024.676569: rtos_queue_send_from_isr_failed: tstamp:32403066547 queue:0x0b4b0098
     kworker/5:1-1151  [005] ....  1024.676574: rtos_queue_send_from_isr_failed: tstamp:32403067001 queue:0x0b4b0e58
     kworker/5:1-1151  [005] ....  1024.676578: rtos_queue_send_from_isr_failed: tstamp:32403067455 queue:0x0b4b1c18
     kworker/5:1-1151  [005] ....  1024.676583: rtos_queue_send_failed: tstamp:32403073934 queue:0x0b4a7258
     kworker/5:1-1151  [005] ....  1024.676594: rtcpu_vinotify_event: tstamp:32403078085 tag:CSIMUX_STREAM channel:0xff frame:0 vi_tstamp:32403072401 data:0x00010000
     kworker/5:1-1151  [005] ....  1024.676597: rtcpu_vinotify_event: tstamp:32403094681 tag:CHANSEL_PXL_SOF channel:0x00 frame:0 vi_tstamp:32403094000 data:0x00000001
     kworker/5:1-1151  [005] ....  1024.676600: rtcpu_vinotify_event: tstamp:32403095278 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:32403094007 data:0x00000000
     kworker/5:1-1151  [005] ....  1024.676604: rtcpu_vinotify_event: tstamp:32403100082 tag:CHANSEL_LOAD_FRAMED channel:0x10 frame:0 vi_tstamp:32403099515 data:0x08000000
     kworker/5:1-1151  [005] ....  1024.676607: rtcpu_vinotify_event: tstamp:32403105479 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:32403104593 data:0x000000a4
     kworker/5:1-1151  [005] ....  1024.676610: rtcpu_vinotify_event: tstamp:32403106034 tag:CHANSEL_SHORT_FRAME channel:0x10 frame:0 vi_tstamp:32403104593 data:0x00000001
     kworker/5:1-1151  [005] ....  1024.676613: rtcpu_vinotify_event: tstamp:32403106525 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:32403104597 data:0x00000000
     kworker/5:1-1151  [005] ....  1024.732391: rtos_queue_peek_from_isr_failed: tstamp:32404026815 queue:0x0b4b4500
. . .

Any idea about the cause of this error?

Below logs show the frame size was not as expect. Have driver to report smaller height.
CSIMUX_FRAME tell lost the frame end package.

kworker/5:1-1151  [005] ....  1024.452353: rtcpu_vinotify_event: tstamp:32395472370 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:32395471656 data:0x000000a4
 kworker/5:1-1151  [005] ....  1024.452355: rtcpu_vinotify_event: tstamp:32395472606 tag:CHANSEL_SHORT_FRAME channel:0x10 frame:0 vi_tstamp:32395471656 data

Thanks ShaneCCC for the fast answer.

Do you know if there is some method to know what is the height size received?

I have enabled the debug messages for camera_common.c, sensor_common.c, capture_common.c and csi5_fops.c, csi4_fops.c but I didn’t see messages related to frame size.

Maybe first you can turn on nlines options to check how many lines does VI receive; To enable that you need to config below register:
VI_CH*_LINE_TIMER_0:
TRIPLINE: e.g. if you set this to 50, then VI would emit a CHANSEL_NLINES events for every 50 lines received; but do NOT set this too small value, otherwise there’re too many notify generated during each frame and might cause notify fifo overflow.
PERIODIC: set to 1 for now; otherwise for each frame only 1 TRIPLINE would be generated
ENABLE: set to 1