How to interpret CSI debug information

Hello all,
Forgive me if this question was already asked, but I didnt find satisfying information.

I have two FPGAs, with two video signals each, they go through serializers-deserializer pipeline into my CSI input, which gives me four signals with unique VCs.

When trying to verify device-tree settings for this configuration, I get the following errors after applying streaming command: v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=UYVY --stream-mmap --stream-count=1 -d /dev/video0 --stream-to=test.raw

The binding (sudo media-ctl -p -d /dev/media0) seems to be OK.

trace (a fragment, this goes on for ages):

 kworker/0:3-1654  [000] ....   109.944248: rtcpu_nvcsi_intr: tstamp:3803562516 class:CORRECTABLE_ERR type:STREAM_VC phy:0 cil:0 st:0 vc:1 status:0x00000004
 kworker/0:3-1654  [000] ....   109.944249: rtcpu_nvcsi_intr: tstamp:3803562516 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:0 st:0 vc:0 status:0x00000002
 kworker/0:3-1654  [000] ....   109.944249: rtcpu_nvcsi_intr: tstamp:3803563981 class:GLOBAL type:STREAM_NOVC phy:0 cil:0 st:0 vc:0 status:0x00000001
 kworker/0:3-1654  [000] ....   109.944249: rtcpu_nvcsi_intr: tstamp:3803563981 class:GLOBAL type:STREAM_VC phy:0 cil:0 st:0 vc:1 status:0x00000004
 kworker/0:3-1654  [000] ....   109.944250: rtcpu_nvcsi_intr: tstamp:3803563981 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000002
 kworker/0:3-1654  [000] ....   109.944250: rtcpu_nvcsi_intr: tstamp:3803563981 class:CORRECTABLE_ERR type:STREAM_NOVC phy:0 cil:0 st:0 vc:0 status:0x00000001
 kworker/0:3-1654  [000] ....   109.944250: rtcpu_nvcsi_intr: tstamp:3803563981 class:CORRECTABLE_ERR type:STREAM_VC phy:0 cil:0 st:0 vc:1 status:0x00000004
 kworker/0:3-1654  [000] ....   109.944250: rtcpu_nvcsi_intr: tstamp:3803563981 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:0 st:0 vc:0 status:0x00000002
 kworker/0:3-1654  [000] ....   109.944250: rtcpu_nvcsi_intr: tstamp:3803565275 class:GLOBAL type:STREAM_NOVC phy:0 cil:0 st:0 vc:0 status:0x00000001
 kworker/0:3-1654  [000] ....   109.944250: rtcpu_nvcsi_intr: tstamp:3803565275 class:GLOBAL type:STREAM_VC phy:0 cil:0 st:0 vc:1 status:0x00000004
 kworker/0:3-1654  [000] ....   109.944251: rtcpu_nvcsi_intr: tstamp:3803565275 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000002
 kworker/0:3-1654  [000] ....   109.944251: rtcpu_nvcsi_intr: tstamp:3803565275 class:CORRECTABLE_ERR type:STREAM_NOVC phy:0 cil:0 st:0 vc:0 status:0x00000001
 kworker/0:3-1654  [000] ....   109.944251: rtcpu_nvcsi_intr: tstamp:3803565275 class:CORRECTABLE_ERR type:STREAM_VC phy:0 cil:0 st:0 vc:1 status:0x00000004
 kworker/0:3-1654  [000] ....   109.944251: rtcpu_nvcsi_intr: tstamp:3803565275 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:0 st:0 vc:0 status:0x00000002
 kworker/0:3-1654  [000] ....   109.944251: rtcpu_nvcsi_intr: tstamp:3803566572 class:GLOBAL type:STREAM_VC phy:0 cil:0 st:0 vc:0 status:0x0000000a
 kworker/0:3-1654  [000] ....   109.944252: rtcpu_nvcsi_intr: tstamp:3803566572 class:GLOBAL type:STREAM_VC phy:0 cil:0 st:0 vc:1 status:0x00000004
 kworker/0:3-1654  [000] ....   109.944252: rtcpu_nvcsi_intr: tstamp:3803566572 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000002
 kworker/0:3-1654  [000] ....   109.944252: rtcpu_nvcsi_intr: tstamp:3803566572 class:CORRECTABLE_ERR type:STREAM_NOVC phy:0 cil:0 st:0 vc:0 status:0x00000001
 kworker/0:3-1654  [000] ....   109.944252: rtcpu_nvcsi_intr: tstamp:3803566572 class:CORRECTABLE_ERR type:STREAM_VC phy:0 cil:0 st:0 vc:0 status:0x0000000a
 kworker/0:3-1654  [000] ....   109.944252: rtcpu_nvcsi_intr: tstamp:3803566572 class:CORRECTABLE_ERR type:STREAM_VC phy:0 cil:0 st:0 vc:1 status:0x00000004
 kworker/0:3-1654  [000] ....   109.944253: rtcpu_nvcsi_intr: tstamp:3803566572 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:0 st:0 vc:0 status:0x00000002

dmesg (also a fragment):

[ 113.606785] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 240, err_data 14680160
[ 113.639912] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 112, err_data 14680160
[ 113.640146] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 0, err_data 131072
[ 113.673543] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 112, err_data 14680160
[ 113.706609] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 240, err_data 14680160
[ 113.740184] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 112, err_data 14680160
[ 113.772941] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 240, err_data 14680160
[ 113.773161] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 128, err_data 131072
[ 113.806633] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 112, err_data 14680160
[ 113.840070] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 240, err_data 14680160
[ 113.873304] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 240, err_data 14680160
[ 113.906675] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 240, err_data 14680160
[ 113.907196] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 0, err_data 131072
[ 113.940308] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 112, err_data 14680160
[ 113.973497] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 240, err_data 14680160
[ 114.006757] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 112, err_data 14680160
[ 114.040098] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 240, err_data 14680160
[ 114.040485] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 128, err_data 131072
[ 114.073601] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 112, err_data 14680160
[ 114.106897] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 240, err_data 14680160
[ 114.139941] tegra194-vi5 15c10000.vi: corr_err: discarding frame 0, flags: 240, err_data 14680160

  1. how to interpret those (and any possible future hurdles)? I saw the NVCSI tables in Xavier TRM but dont know how to apply this knowledge. In case of TX2, there was this jpeg with a table showing how to decode most common errors found in trace floating around the forums.
  2. the above setup does not have any device tree bindings or drivers for SerDes (I configure and launch it through scripted i2c userspace commands), I dont think this should be a problem, but maybe I am wrong? I received a single video signal through SerDes on a TX2 before, but there was only a single VC.
    Also, I had successfully received streams from single-channel FPGAs with the same internal configuration (i.e. resolution, timings, etc.) in the past on TX2, Nano, NX.

Best regards,
Jaglaz

Check the TRM for the REG

STREAM_VC: NVCSI_STREAM_0_INTR_STATUS_VC0_0
PHY_INTR0: NVCSI_PHY_0_CILA_INTR_0_STATUS_CILA_0

Hello,
where can I find more info about description, because it sounds kind of cryptic, e.g. I dont know what “mb” in intr_cil_data_lane_sot_mb_err0_a in NVCSI_PHY_0_CILA_INTR_0_STATUS_CILA_0 register stands for.

It means multiple bits