This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: multi-camera streaming failed and get dma callback warning

Part Number: TDA4VM


Tool/software:

Hi team,

I am using SDK 9.1 and kernel 6.1.46.

I'm running 8 camera streaming with ds90ub962 and ds90ub953 by the Gsteamer, but not success every single time.

When a failure occurs, I'll get some logs warning about j721e-csi2rx.c dma callback.

the Gsteamer command:

gst-launch-1.0 \
v4l2src device=/dev/video-tevs-cam0 io-mode=4 ! video/x-raw,width=1280,height=720,format=UYVY ! tiovxldc out-block-width=128 out-block-height=20 ! video/x-raw, format=NV12,! mosaic.sink_0 \
v4l2src device=/dev/video-tevs-cam1 io-mode=4 ! video/x-raw,width=1280,height=720,format=UYVY ! tiovxldc out-block-width=128 out-block-height=20 ! video/x-raw, format=NV12,! mosaic.sink_1 \
v4l2src device=/dev/video-tevs-cam2 io-mode=4 ! video/x-raw,width=1280,height=720,format=UYVY ! tiovxldc out-block-width=128 out-block-height=20 ! video/x-raw, format=NV12,! mosaic.sink_2 \
v4l2src device=/dev/video-tevs-cam3 io-mode=4 ! video/x-raw,width=1280,height=720,format=UYVY ! tiovxldc out-block-width=128 out-block-height=20 ! video/x-raw, format=NV12,! mosaic.sink_3 \
v4l2src device=/dev/video-tevs-cam4 io-mode=4 ! video/x-raw,width=1280,height=720,format=UYVY ! tiovxldc out-block-width=128 out-block-height=20 ! video/x-raw, format=NV12,! mosaic.sink_4 \
v4l2src device=/dev/video-tevs-cam5 io-mode=4 ! video/x-raw,width=1280,height=720,format=UYVY ! tiovxldc out-block-width=128 out-block-height=20 ! video/x-raw, format=NV12,! mosaic.sink_5 \
v4l2src device=/dev/video-tevs-cam6 io-mode=4 ! video/x-raw,width=1280,height=720,format=UYVY ! tiovxldc out-block-width=128 out-block-height=20 ! video/x-raw, format=NV12,! mosaic.sink_6 \
v4l2src device=/dev/video-tevs-cam7 io-mode=4 ! video/x-raw,width=1280,height=720,format=UYVY ! tiovxldc out-block-width=128 out-block-height=20 ! video/x-raw, format=NV12,! mosaic.sink_7 \
tiovxmosaic name=mosaic latency=1234567890 src::repeat-after-eos=false src::pool-size=10 \
sink_0::startx="<0>" sink_0::starty="<0>" sink_0::widths="<320>" sink_0::heights="<240>" sink_0::repeat-after-eos=false sink_0::pool-size=16 \
sink_1::startx="<320>" sink_1::starty="<0>" sink_1::widths="<320>" sink_1::heights="<240>" sink_1::repeat-after-eos=false sink_1::pool-size=16 \
sink_2::startx="<640>" sink_2::starty="<0>" sink_2::widths="<320>" sink_2::heights="<240>" sink_2::repeat-after-eos=false sink_2::pool-size=16 \
sink_3::startx="<959>" sink_3::starty="<0>" sink_3::widths="<320>" sink_3::heights="<240>" sink_3::repeat-after-eos=false sink_3::pool-size=16 \
sink_4::startx="<0>" sink_4::starty="<320>" sink_4::widths="<320>" sink_4::heights="<240>" sink_4::repeat-after-eos=false sink_4::pool-size=16 \
sink_5::startx="<320>" sink_5::starty="<320>" sink_5::widths="<320>" sink_5::heights="<240>" sink_5::repeat-after-eos=false sink_5::pool-size=16 \
sink_6::startx="<640>" sink_6::starty="<320>" sink_6::widths="<320>" sink_6::heights="<240>" sink_6::repeat-after-eos=false sink_6::pool-size=16 \
sink_7::startx="<959>" sink_7::starty="<320>" sink_7::widths="<320>" sink_7::heights="<240>" sink_7::repeat-after-eos=false sink_7::pool-size=16 ! \
tiperfoverlay overlay-type=0 update-fps-interval=1000 ! video/x-raw, width=1280, height=800, framerate=10/1 ! queue ! waylandsink sync=false  --no-position &

Here is the log:

root@rovy-4vm:/opt/edgeai-gst-apps# . ~/run_8_cam.sh
Set the resolution=1280x720
WIDTH=1280 & HIGHT=720 ..
root@rovy-4vm:/opt/edgeai-gst-apps# APP: Init ... !!!
MEM: Init ... !!!
MEM: Initialized DMA HEAP (fd=6) !!!
MEM: Init ... Done !!!
IPC: Init ... !!!
IPC: Init ... Done !!!
REMOTE_SERVICE: Init ... !!!
REMOTE_SERVICE: Init ... Done !!!
   249.649106 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
   249.649171 s:  VX_ZONE_INIT:Enabled
   249.649178 s:  VX_ZONE_ERROR:Enabled
   249.649183 s:  VX_ZONE_WARNING:Enabled
   249.649900 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
   249.650410 s:  VX_ZONE_INIT:[tivxHostInitLocal:101] Initialization Done for HOST !!!
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
[  241.999941] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
[  242.007010] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
[  242.013921] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
[  242.020900] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
[  242.021492] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
[  242.027791] ds90ub960 5-0030: Mapping sink 0/0 to output VC 0
[  242.027797] ds90ub960 5-0030: Mapping sink 1/0 to output VC 1
[  242.027801] ds90ub960 5-0030: Mapping sink 2/0 to output VC 2
[  242.027805] ds90ub960 5-0030: Mapping sink 3/0 to output VC 3
[  242.030334] ds90ub960 5-0030: Prepare for streaming
[  242.034702] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
[  242.046016] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
[  242.046278] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
[  242.053517] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
[  242.057694] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
[  242.063299] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
[  242.069840] ds90ub960 3-0030: Mapping sink 0/0 to output VC 0
[  242.077037] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
[  242.088142] ds90ub960 3-0030: Mapping sink 1/0 to output VC 1
[  242.091964] ds90ub960 5-0030: enable TX port 0
[  242.097283] ds90ub960 3-0030: Mapping sink 2/0 to output VC 2
[  242.104864] ds90ub960 5-0030: enable RX port 0
[  242.109992] ds90ub960 3-0030: Mapping sink 3/0 to output VC 3
[  242.117378] ds90ub960 5-0030: enable RX port 0 streams 0x1
[  242.142505] ds90ub960 3-0030: Prepare for streaming
[  242.156045] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
[  242.164027] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
[  242.171800] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
[  242.178727] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
[  242.186506] ds90ub960 3-0030: enable TX port 0
[  242.191184] ds90ub960 3-0030: enable RX port 0
[  242.195850] ds90ub960 3-0030: enable RX port 0 streams 0x1
[  242.231706] j721e-csi2rx 4500000.ticsi2rx: Failed to drain DMA. Next frame might be bogus
[  242.252297] ds90ub960 5-0030: enable RX port 1
[  242.256966] ds90ub960 5-0030: enable RX port 1 streams 0x1
[  242.300302] ds90ub960 3-0030: enable RX port 1
[  242.305005] ds90ub960 3-0030: enable RX port 1 streams 0x1
[  242.367556] ds90ub960 5-0030: enable RX port 2
[  242.372219] ds90ub960 5-0030: enable RX port 2 streams 0x1
[  242.415618] ds90ub960 3-0030: enable RX port 2
[  242.420276] ds90ub960 3-0030: enable RX port 2 streams 0x1
[  242.482826] ds90ub960 5-0030: enable RX port 3
[  242.487491] ds90ub960 5-0030: enable RX port 3 streams 0x1
[  242.530919] ds90ub960 3-0030: enable RX port 3
[  242.535588] ds90ub960 3-0030: enable RX port 3 streams 0x1
[  242.598129] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
[  242.605006] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
[  242.611938] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
[  242.618879] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
[  242.625846] ds90ub960 5-0030: Mapping sink 0/0 to output VC 0
[  242.631680] ds90ub960 5-0030: Mapping sink 1/0 to output VC 1
[  242.637483] ds90ub960 5-0030: Mapping sink 2/0 to output VC 2
[  242.643272] ds90ub960 5-0030: Mapping sink 3/0 to output VC 3
[  242.649249] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
[  242.656233] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
[  242.663172] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
[  242.670103] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
[  242.677055] ds90ub960 5-0030: Mapping sink 0/0 to output VC 0
[  242.682862] ds90ub960 5-0030: Mapping sink 1/0 to output VC 1
[  242.688626] ds90ub960 5-0030: Mapping sink 2/0 to output VC 2
[  242.694393] ds90ub960 5-0030: Mapping sink 3/0 to output VC 3
[  242.700286] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
[  242.707286] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
[  242.715451] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
[  242.715673] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
[  242.724173] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
[  242.738053] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
[  242.740427] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
[  242.750412] ds90ub960 5-0030: Mapping sink 0/0 to output VC 0
[  242.753176] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
[  242.759029] ds90ub960 5-0030: Mapping sink 1/0 to output VC 1
[  242.765517] ds90ub960 3-0030: Mapping sink 0/0 to output VC 0
[  242.770423] ds90ub960 5-0030: Mapping sink 2/0 to output VC 2
[  242.776765] ds90ub960 3-0030: Mapping sink 1/0 to output VC 1
[  242.788285] ds90ub960 3-0030: Mapping sink 2/0 to output VC 2
[  242.795136] ds90ub960 3-0030: Mapping sink 3/0 to output VC 3
[  242.801822] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
[  242.809812] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
[  242.817715] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
[  242.825630] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
[  242.828475] ds90ub960 5-0030: Mapping sink 3/0 to output VC 3
[  242.835236] ds90ub960 3-0030: Mapping sink 0/0 to output VC 0
[  242.845077] ds90ub960 3-0030: Mapping sink 1/0 to output VC 1
[  242.851887] ds90ub960 3-0030: Mapping sink 2/0 to output VC 2
[  242.858568] ds90ub960 3-0030: Mapping sink 3/0 to output VC 3
[  242.864450] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
[  242.867656] ------------[ cut here ]------------
[  242.871467] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
[  242.875920] WARNING: CPU: 0 PID: 2042 at drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c:709 ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
[  242.882838] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
[  242.896045] Modules linked in: tevs xhci_plat_hcd pci_endpoint_test rpmsg_ctrl cdns_csi2rx ds90ub953 ti_am335x_adc rpmsg_char kfifo_buf irq_pruss_intc panel_simple pru_rproc omap_rng cdns_pltfrm cdns3 cdns_usb_common spidev overlay crct10dif_ce snd_soc_simple_card snd_soc_simple_card_utils phy_can_transceiver pwm_bl pvrsrvkm(O) ti_k3_r5_remoteproc vxd_dec cfg80211 vxe_enc j721e_csi2rx at24 ds90ub960 videobuf2_dma_sg cdns_mhdp8546 ti_k3_dsp_remoteproc ti_am335x_tscadc
[  242.902948] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
[  242.902950]  v4l2_mem2mem
[  242.902955] ds90ub960 3-0030: Mapping sink 0/0 to output VC 0
[  242.944211]  videobuf2_dma_contig drm_display_helper virtio_rpmsg_bus i2c_atr tidss pruss videobuf2_memops bluetooth v4l2_fwnode cdns_dsi ti_j721e_ufs rpmsg_ns videobuf2_v4l2 sa2ul
[  242.953214] ds90ub960 3-0030: Mapping sink 1/0 to output VC 1
[  242.953687]  ti_k3_common drm_dma_helper
[  242.959837] ds90ub960 3-0030: Mapping sink 2/0 to output VC 2
[  242.975452]  v4l2_async videobuf2_common pwm_tiehrpwm cdns_dphy cdns_dphy_rx videodev snd_soc_tlv320aic3x_i2c ecdh_generic ecc mc rfkill cdns3_ti snd_soc_davinci_mcasp rtc_ds1307 snd_soc_tlv320aic3x snd_soc_ti_udma pci_j721e_host snd_soc_ti_edma pci_j721e
[  242.981562] ds90ub960 3-0030: Mapping sink 3/0 to output VC 3
[  242.985107]  snd_soc_ti_sdma pcie_cadence_host pcie_cadence ina2xx m_can_platform m_can can_dev spi_omap2_mcspi optee_rng rti_wdt rng_core fuse ipv6
[  243.032381] CPU: 0 PID: 2042 Comm: v4l2src2:src Tainted: G        W  O       6.1.46-ge59371b14a0a-dirty #43
[  243.042099] Hardware name: TechNexion ROVY-4VM and EVM baseboard with Vizionpanel 10.1 inch LVDS panel (DT)
[  243.051814] pstate: 800000c5 (Nzcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  243.058757] pc : ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
[  243.064925] lr : ti_csi2rx_dma_callback+0x48/0x140 [j721e_csi2rx]
[  243.071005] sp : ffff800008003e00
[  243.074305] x29: ffff800008003e00 x28: 0000000000000000 x27: 0000000000000038
[  243.081424] x26: 0000000000000003 x25: ffff00082ba48ec0 x24: dead000000000100
[  243.088542] x23: dead000000000122 x22: 0000000000000000 x21: ffff000830221de8
[  243.095660] x20: ffff000830221628 x19: ffff00082d8e4400 x18: 0000000000000000
[  243.102777] x17: ffff800955622000 x16: ffff800008000000 x15: 0000000000000000
[  243.109895] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
[  243.117013] x11: 0000000000000040 x10: ffff000827d9f470 x9 : ffff000827d9f468
[  243.124131] x8 : ffff00095f19a040 x7 : c9943389b496b104 x6 : 0000000bab04e177
[  243.131248] x5 : 03ffffffffffffff x4 : 0000000000000000 x3 : ffff000830221de8
[  243.138366] x2 : 0000000000000001 x1 : ffff0008295de800 x0 : 0000000000000000
[  243.145485] Call trace:
[  243.147918]  ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
[  243.153736]  udma_vchan_complete+0x21c/0x2a0
[  243.158000]  tasklet_action_common.isra.0+0x11c/0x148
[  243.163041]  tasklet_action+0x28/0x38
[  243.166690]  __do_softirq+0x120/0x288
[  243.170339]  ____do_softirq+0x10/0x20
[  243.173988]  call_on_irq_stack+0x24/0x4c
[  243.177897]  do_softirq_own_stack+0x1c/0x28
[  243.182065]  irq_exit_rcu+0xe8/0x108
[  243.185628]  el0_interrupt+0x54/0xd8
[  243.189195]  __el0_irq_handler_common+0x18/0x28
[  243.193712]  el0t_64_irq_handler+0x10/0x20
[  243.197793]  el0t_64_irq+0x18c/0x190
[  243.201354] ---[ end trace 0000000000000000 ]---
[  243.206319] ------------[ cut here ]------------
[  243.210930] WARNING: CPU: 0 PID: 534 at drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c:709 ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
[  243.224131] Modules linked in: tevs xhci_plat_hcd pci_endpoint_test rpmsg_ctrl cdns_csi2rx ds90ub953 ti_am335x_adc rpmsg_char kfifo_buf irq_pruss_intc panel_simple pru_rproc omap_rng cdns_pltfrm cdns3 cdns_usb_common spidev overlay crct10dif_ce snd_soc_simple_card snd_soc_simple_card_utils phy_can_transceiver pwm_bl pvrsrvkm(O) ti_k3_r5_remoteproc vxd_dec cfg80211 vxe_enc j721e_csi2rx at24 ds90ub960 videobuf2_dma_sg cdns_mhdp8546 ti_k3_dsp_remoteproc ti_am335x_tscadc v4l2_mem2mem videobuf2_dma_contig drm_display_helper virtio_rpmsg_bus i2c_atr tidss pruss videobuf2_memops bluetooth v4l2_fwnode cdns_dsi ti_j721e_ufs rpmsg_ns videobuf2_v4l2 sa2ul ti_k3_common drm_dma_helper v4l2_async videobuf2_common pwm_tiehrpwm cdns_dphy cdns_dphy_rx videodev snd_soc_tlv320aic3x_i2c ecdh_generic ecc mc rfkill cdns3_ti snd_soc_davinci_mcasp rtc_ds1307 snd_soc_tlv320aic3x snd_soc_ti_udma pci_j721e_host snd_soc_ti_edma pci_j721e snd_soc_ti_sdma pcie_cadence_host pcie_cadence ina2xx m_can_platform m_can
[  243.224255]  can_dev spi_omap2_mcspi optee_rng rti_wdt rng_core fuse ipv6
[  243.317968] CPU: 0 PID: 534 Comm: containerd Tainted: G        W  O       6.1.46-ge59371b14a0a-dirty #43
[  243.327425] Hardware name: TechNexion ROVY-4VM and EVM baseboard with Vizionpanel 10.1 inch LVDS panel (DT)
[  243.337140] pstate: 800000c5 (Nzcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  243.344083] pc : ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
[  243.350252] lr : ti_csi2rx_dma_callback+0x48/0x140 [j721e_csi2rx]
[  243.356330] sp : ffff800008003e00
[  243.359630] x29: ffff800008003e00 x28: 0000000000000005 x27: 0000000000000018
[  243.366748] x26: 0000000000000003 x25: ffff000829698000 x24: dead000000000100
[  243.373866] x23: dead000000000122 x22: 0000000000000000 x21: ffff000830221de8
[  243.380984] x20: ffff000830221628 x19: ffff0008295de800 x18: 0000000000000000
[  243.388101] x17: ffff800955622000 x16: ffff800008000000 x15: 0000000000000001
[  243.395218] x14: ffff800008003978 x13: 000000000a141f86 x12: 0000000000005000
[  243.402335] x11: 0000000000000040 x10: ffff80000a1f3c38 x9 : ffff80000a1f3c30
[  243.409451] x8 : ffff000827400270 x7 : 0000000000000000 x6 : 0000000baf127a77
[  243.416568] x5 : 03ffffffffffffff x4 : 0000000000000000 x3 : ffff000830221de8
[  243.423685] x2 : 0000000000000001 x1 : ffff0008295ddc00 x0 : 0000000000000000
[  243.430801] Call trace:
[  243.433235]  ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
[  243.439053]  udma_vchan_complete+0x21c/0x2a0
[  243.443316]  tasklet_action_common.isra.0+0x11c/0x148
[  243.448354]  tasklet_action+0x28/0x38
[  243.452004]  __do_softirq+0x120/0x288
[  243.455653]  ____do_softirq+0x10/0x20
[  243.459302]  call_on_irq_stack+0x24/0x4c
[  243.463209]  do_softirq_own_stack+0x1c/0x28
[  243.467378]  do_softirq+0x94/0xa0
[  243.470680]  __local_bh_enable_ip+0xa4/0xb0
[  243.474849]  fpsimd_restore_current_state+0xb8/0xe0
[  243.479711]  do_notify_resume+0xfc/0x448
[  243.483622]  el0_svc+0x74/0x88
[  243.486668]  el0t_64_sync_handler+0xb8/0xc0
[  243.490835]  el0t_64_sync+0x18c/0x190
[  243.494483] ---[ end trace 0000000000000000 ]---
[  243.499389] ------------[ cut here ]------------
[  243.504006] WARNING: CPU: 0 PID: 13 at drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c:709 ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
[  243.517129] Modules linked in: tevs xhci_plat_hcd pci_endpoint_test rpmsg_ctrl cdns_csi2rx ds90ub953 ti_am335x_adc rpmsg_char kfifo_buf irq_pruss_intc panel_simple pru_rproc omap_rng cdns_pltfrm cdns3 cdns_usb_common spidev overlay crct10dif_ce snd_soc_simple_card snd_soc_simple_card_utils phy_can_transceiver pwm_bl pvrsrvkm(O) ti_k3_r5_remoteproc vxd_dec cfg80211 vxe_enc j721e_csi2rx at24 ds90ub960 videobuf2_dma_sg cdns_mhdp8546 ti_k3_dsp_remoteproc ti_am335x_tscadc v4l2_mem2mem videobuf2_dma_contig drm_display_helper virtio_rpmsg_bus i2c_atr tidss pruss videobuf2_memops bluetooth v4l2_fwnode cdns_dsi ti_j721e_ufs rpmsg_ns videobuf2_v4l2 sa2ul ti_k3_common drm_dma_helper v4l2_async videobuf2_common pwm_tiehrpwm cdns_dphy cdns_dphy_rx videodev snd_soc_tlv320aic3x_i2c ecdh_generic ecc mc rfkill cdns3_ti snd_soc_davinci_mcasp rtc_ds1307 snd_soc_tlv320aic3x snd_soc_ti_udma pci_j721e_host snd_soc_ti_edma pci_j721e snd_soc_ti_sdma pcie_cadence_host pcie_cadence ina2xx m_can_platform m_can
[  243.517272]  can_dev spi_omap2_mcspi optee_rng rti_wdt rng_core fuse ipv6
[  243.610987] CPU: 0 PID: 13 Comm: ksoftirqd/0 Tainted: G        W  O       6.1.46-ge59371b14a0a-dirty #43
[  243.620445] Hardware name: TechNexion ROVY-4VM and EVM baseboard with Vizionpanel 10.1 inch LVDS panel (DT)
[  243.630160] pstate: 800000c5 (Nzcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  243.637103] pc : ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
[  243.643273] lr : ti_csi2rx_dma_callback+0x48/0x140 [j721e_csi2rx]
[  243.649351] sp : ffff80000a77bc20
[  243.652652] x29: ffff80000a77bc20 x28: 0000000000000005 x27: 0000000000000018
[  243.659770] x26: 0000000000000003 x25: ffff000827113b00 x24: dead000000000100
[  243.666887] x23: dead000000000122 x22: 0000000000000000 x21: ffff000830221de8
[  243.674004] x20: ffff000830221628 x19: ffff0008295ddc00 x18: 0000000047706f7d
[  243.681121] x17: 000000004c2d98c8 x16: 000000009248be44 x15: 0000000000000001
[  243.688238] x14: ffff80000a77b918 x13: 000000000a141e58 x12: 0000000000000080
[  243.695356] x11: 0000000000000040 x10: ffff80000a1f3c38 x9 : ffff80000a1f3c30
[  243.702474] x8 : ffff000827400270 x7 : 0000000000000000 x6 : 0000000bb299cc77
[  243.709592] x5 : 03ffffffffffffff x4 : 0000000000000000 x3 : ffff000830221de8
[  243.716710] x2 : 0000000000000001 x1 : ffff0008295dd400 x0 : 0000000000000000
[  243.723828] Call trace:
[  243.726261]  ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
[  243.732079]  udma_vchan_complete+0x21c/0x2a0
[  243.736343]  tasklet_action_common.isra.0+0x11c/0x148
[  243.741382]  tasklet_action+0x28/0x38
[  243.745032]  __do_softirq+0x120/0x288
[  243.748682]  run_ksoftirqd+0x4c/0x60
[  243.752245]  smpboot_thread_fn+0x1bc/0x278
[  243.756328]  kthread+0x110/0x120
[  243.759544]  ret_from_fork+0x10/0x20
[  243.763106] ---[ end trace 0000000000000000 ]---
[  243.768012] ------------[ cut here ]------------
[  243.772622] WARNING: CPU: 0 PID: 180 at drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c:709 ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
[  243.785816] Modules linked in: tevs xhci_plat_hcd pci_endpoint_test rpmsg_ctrl cdns_csi2rx ds90ub953 ti_am335x_adc rpmsg_char kfifo_buf irq_pruss_intc panel_simple pru_rproc omap_rng cdns_pltfrm cdns3 cdns_usb_common spidev overlay crct10dif_ce snd_soc_simple_card snd_soc_simple_card_utils phy_can_transceiver pwm_bl pvrsrvkm(O) ti_k3_r5_remoteproc vxd_dec cfg80211 vxe_enc j721e_csi2rx at24 ds90ub960 videobuf2_dma_sg cdns_mhdp8546 ti_k3_dsp_remoteproc ti_am335x_tscadc v4l2_mem2mem videobuf2_dma_contig drm_display_helper virtio_rpmsg_bus i2c_atr tidss pruss videobuf2_memops bluetooth v4l2_fwnode cdns_dsi ti_j721e_ufs rpmsg_ns videobuf2_v4l2 sa2ul ti_k3_common drm_dma_helper v4l2_async videobuf2_common pwm_tiehrpwm cdns_dphy cdns_dphy_rx videodev snd_soc_tlv320aic3x_i2c ecdh_generic ecc mc rfkill cdns3_ti snd_soc_davinci_mcasp rtc_ds1307 snd_soc_tlv320aic3x snd_soc_ti_udma pci_j721e_host snd_soc_ti_edma pci_j721e snd_soc_ti_sdma pcie_cadence_host pcie_cadence ina2xx m_can_platform m_can
[  243.785933]  can_dev spi_omap2_mcspi optee_rng rti_wdt rng_core fuse ipv6
[  243.879643] CPU: 0 PID: 180 Comm: kworker/0:3 Tainted: G        W  O       6.1.46-ge59371b14a0a-dirty #43
[  243.889187] Hardware name: TechNexion ROVY-4VM and EVM baseboard with Vizionpanel 10.1 inch LVDS panel (DT)
[  243.898903] Workqueue: events ub960_handler_work [ds90ub960]
[  243.904553] pstate: 200000c5 (nzCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  243.911495] pc : ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
[  243.917661] lr : ti_csi2rx_dma_callback+0x48/0x140 [j721e_csi2rx]
[  243.923739] sp : ffff800008003e00
[  243.927039] x29: ffff800008003e00 x28: 0000000000000005 x27: 0000000000000018
[  243.934156] x26: 0000000000000003 x25: ffff00082b973b00 x24: dead000000000100
[  243.941274] x23: dead000000000122 x22: 0000000000000000 x21: ffff000830221de8
[  243.948392] x20: ffff000830221628 x19: ffff0008295dd400 x18: 0000000000000000
[  243.955508] x17: ffff800955622000 x16: ffff800008000000 x15: 0000000000000001
[  243.962625] x14: ffff800008003978 x13: 000000000a141e94 x12: 0000000000000080
[  243.969743] x11: 0000000000000040 x10: ffff80000a1f3c38 x9 : ffff80000a1f3c30
[  243.976861] x8 : ffff000827400270 x7 : 0000000000000000 x6 : 0000000bb5cbab77
[  243.983979] x5 : 03ffffffffffffff x4 : 0000000000000000 x3 : ffff000830221de8
[  243.991095] x2 : 0000000000000001 x1 : ffff00082d8e4400 x0 : 0000000000000000
[  243.998212] Call trace:
[  244.000645]  ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
[  244.006463]  udma_vchan_complete+0x21c/0x2a0
[  244.010722]  tasklet_action_common.isra.0+0x11c/0x148
[  244.015762]  tasklet_action+0x28/0x38
[  244.019412]  __do_softirq+0x120/0x288
[  244.023061]  ____do_softirq+0x10/0x20
[  244.026709]  call_on_irq_stack+0x24/0x4c
[  244.030617]  do_softirq_own_stack+0x1c/0x28
[  244.034785]  irq_exit_rcu+0xe8/0x108
[  244.038347]  el1_interrupt+0x3c/0x70
[  244.041912]  el1h_64_irq_handler+0x18/0x28
[  244.045996]  el1h_64_irq+0x64/0x68
[  244.049384]  _raw_spin_unlock_irq+0x40/0x50
[  244.053556]  omap_i2c_xfer_common+0x424/0x560
[  244.057903]  omap_i2c_xfer_irq+0x14/0x20
[  244.061812]  __i2c_transfer+0x190/0x370
[  244.065635]  i2c_transfer+0xa8/0x120
[  244.069197]  regmap_i2c_read+0x60/0xa8
[  244.072936]  _regmap_raw_read+0xdc/0x160
[  244.076846]  _regmap_bus_read+0x44/0x80
[  244.080669]  _regmap_read+0x64/0xf8
[  244.084143]  regmap_read+0x4c/0x78
[  244.087532]  ub960_read+0x54/0xc8 [ds90ub960]
[  244.091879]  ub960_handler_work+0x3c/0x568 [ds90ub960]
[  244.097004]  process_one_work+0x1b4/0x310
[  244.101002]  worker_thread+0x4c/0x400
[  244.104651]  kthread+0x110/0x120
[  244.107867]  ret_from_fork+0x10/0x20
[  244.111430] ---[ end trace 0000000000000000 ]---
[  244.116183] ------------[ cut here ]------------
[  244.120788] WARNING: CPU: 0 PID: 13 at drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c:709 ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
[  244.133895] Modules linked in: tevs xhci_plat_hcd pci_endpoint_test rpmsg_ctrl cdns_csi2rx ds90ub953 ti_am335x_adc rpmsg_char kfifo_buf irq_pruss_intc panel_simple pru_rproc omap_rng cdns_pltfrm cdns3 cdns_usb_common spidev overlay crct10dif_ce snd_soc_simple_card snd_soc_simple_card_utils phy_can_transceiver pwm_bl pvrsrvkm(O) ti_k3_r5_remoteproc vxd_dec cfg80211 vxe_enc j721e_csi2rx at24 ds90ub960 videobuf2_dma_sg cdns_mhdp8546 ti_k3_dsp_remoteproc ti_am335x_tscadc v4l2_mem2mem videobuf2_dma_contig drm_display_helper virtio_rpmsg_bus i2c_atr tidss pruss videobuf2_memops bluetooth v4l2_fwnode cdns_dsi ti_j721e_ufs rpmsg_ns videobuf2_v4l2 sa2ul ti_k3_common drm_dma_helper v4l2_async videobuf2_common pwm_tiehrpwm cdns_dphy cdns_dphy_rx videodev snd_soc_tlv320aic3x_i2c ecdh_generic ecc mc rfkill cdns3_ti snd_soc_davinci_mcasp rtc_ds1307 snd_soc_tlv320aic3x snd_soc_ti_udma pci_j721e_host snd_soc_ti_edma pci_j721e snd_soc_ti_sdma pcie_cadence_host pcie_cadence ina2xx m_can_platform m_can
[  244.134011]  can_dev spi_omap2_mcspi optee_rng rti_wdt rng_core fuse ipv6
[  244.227719] CPU: 0 PID: 13 Comm: ksoftirqd/0 Tainted: G        W  O       6.1.46-ge59371b14a0a-dirty #43
[  244.237176] Hardware name: TechNexion ROVY-4VM and EVM baseboard with Vizionpanel 10.1 inch LVDS panel (DT)
[  244.246890] pstate: 000000c5 (nzcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  244.253832] pc : ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
[  244.259998] lr : ti_csi2rx_dma_callback+0x48/0x140 [j721e_csi2rx]
[  244.266075] sp : ffff80000a77bc20
[  244.269375] x29: ffff80000a77bc20 x28: 0000000000000005 x27: 0000000000000028
[  244.276491] x26: 0000000000000003 x25: ffff000827113b00 x24: dead000000000100
[  244.283609] x23: dead000000000122 x22: 0000000000000000 x21: ffff000830221de8
[  244.290726] x20: ffff000830221628 x19: ffff00082d8e4400 x18: 0000000000000000
[  244.297844] x17: 0000000000000003 x16: 0000000000000000 x15: 00000001fffffffe
[  244.304960] x14: 000000000000031a x13: 0000000000000324 x12: 0000000000000001
[  244.312077] x11: 0000000000000040 x10: ffff80000a180478 x9 : ffff80000a180470
[  244.319193] x8 : ffff000827400028 x7 : 0000000000000000 x6 : 0000000bb9f1ae77
[  244.326311] x5 : 03ffffffffffffff x4 : 0000000000000000 x3 : ffff000830221de8
[  244.333429] x2 : 0000000000000001 x1 : 0000000000000000 x0 : 0000000000000000
[  244.340547] Call trace:
[  244.342979]  ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
[  244.348798]  udma_vchan_complete+0x21c/0x2a0
[  244.353059]  tasklet_action_common.isra.0+0x11c/0x148
[  244.358096]  tasklet_action+0x28/0x38
[  244.361746]  __do_softirq+0x120/0x288
[  244.365394]  run_ksoftirqd+0x4c/0x60
[  244.368957]  smpboot_thread_fn+0x1bc/0x278
[  244.373039]  kthread+0x110/0x120
[  244.376255]  ret_from_fork+0x10/0x20
[  244.379817] ---[ end trace 0000000000000000 ]---
[  244.559197] ti-udma 31150000.dma-controller: chan26 teardown timeout!
[  244.569396] j721e-csi2rx 4510000.ticsi2rx: Failed to drain DMA. Next frame might be bogus

root@rovy-4vm:/opt/edgeai-gst-apps#
root@rovy-4vm:/opt/edgeai-gst-apps#
root@rovy-4vm:/opt/edgeai-gst-apps#

I decode the log and found it cause by  " WARN_ON(dma->curr != buf) "

pc : ti_csi2rx_dma_callback (acpi_sci_irq/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c:709 (discriminator 1)) j721e_csi2rx
lr : ti_csi2rx_dma_callback (acpi_sci_irq/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c:707) j721e_csi2rx

I have no idea what is going on and how to prevent this case happening?

Best regards
Dennis Tseng
  • HI Dennis,

    ds90ub962 and ds90ub953

    Could you please confirm if you are using ub962 or ub960 deserializer? 

    The logs says ub960. Are you using the same?

    Have you tried streaming this camera individually without any other components such as mosaic or display, to ensure that camera streaming part works fine?

    Regards,

    Nikhil

  • Both of them are using the same driver ds90ub960, that why the log always show ub960.

    I have tried streaming camera individually and it looks not too bad. and also using v4l2-ctl stream-map to ensure that cameras data source are fine.


    Here's another issue I found, when I run v4l2-ctl command on each camera individually, it will stuck at third or fourth one.

    root@rovy-4vm:~# v4l2-ctl -d /dev/video-tevs-cam0 --stream-mmap
    <<<<<<<<<<<<<<<<<<<<<<<<<<<< 26.62 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<< 26.20 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<< 26.06 fps
    <<<<<<<<<<<<<<<<<<<<<<<<< 25.99 fps
    <<<<<<<<<<<<<^C
    root@rovy-4vm:~# v4l2-ctl -d /dev/video-tevs-cam1 --stream-mmap
    <<<<<<<<<<<<<<<<<<<<<<<<<<< 25.77 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<< 25.77 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<< 25.77 fps
    <<<<<<<<<<<<<<<<<^C
    root@rovy-4vm:~# v4l2-ctl -d /dev/video-tevs-cam2 --stream-mmap
    <<<<<<<<<<<<<<<<<<<<< 19.32 fps
    <<<<<<<<<<<<<<<<<<< 19.32 fps
    <<<<<<<<<<<<<<<<<<< 19.32 fps
    <<<<<<<<<<<<<<<<<<<< 19.32 fps
    <<<^C
    root@rovy-4vm:~# v4l2-ctl -d /dev/video-tevs-cam3 --stream-mmap
    <^C
    

    But if I run 4 cameras with v4l2-ctl at the same time, the issue will not happen.

    root@rovy-4vm:~# v4l2-ctl -d /dev/video-tevs-cam0 --stream-mmap & v4l2-ctl -d /dev/video-tevs-cam1 --stream-mmap & v4l2-ctl -d /dev/video-tevs-cam2 --stream-mmap & v4l2-ctl -d /dev/video-tevs-cam3 --stream-mmap &
    [1] 1875
    [2] 1876
    [3] 1877
    [4] 1878
    root@rovy-4vm:~# [ 3343.727698] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
    [ 3343.734610] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
    [ 3343.743459] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
    [ 3343.750345] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
    [ 3343.757219] ds90ub960 5-0030: Mapping sink 0/0 to output VC 0
    [ 3343.762958] ds90ub960 5-0030: Mapping sink 1/0 to output VC 1
    [ 3343.768695] ds90ub960 5-0030: Mapping sink 2/0 to output VC 2
    [ 3343.774429] ds90ub960 5-0030: Mapping sink 3/0 to output VC 3
    [ 3343.780173] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
    [ 3343.783331] j721e-csi2rx 4500000.ticsi2rx: Enabling all streams (f) on sink.
    [ 3343.787046] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
    [ 3343.800935] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
    [ 3343.807797] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
    [ 3343.814660] ds90ub960 5-0030: Mapping sink 0/0 to output VC 0
    [ 3343.820399] ds90ub960 5-0030: Mapping sink 1/0 to output VC 1
    [ 3343.826136] ds90ub960 5-0030: Mapping sink 2/0 to output VC 2
    [ 3343.831869] ds90ub960 5-0030: Mapping sink 3/0 to output VC 3
    [ 3343.837613] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
    [ 3343.845185] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
    [ 3343.852054] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
    [ 3343.858918] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
    [ 3343.865780] ds90ub960 5-0030: Mapping sink 0/0 to output VC 0
    [ 3343.871514] ds90ub960 5-0030: Mapping sink 1/0 to output VC 1
    [ 3343.877252] ds90ub960 5-0030: Mapping sink 2/0 to output VC 2
    [ 3343.882991] ds90ub960 5-0030: Mapping sink 3/0 to output VC 3
    [ 3343.888734] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
    [ 3343.895602] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
    [ 3343.902466] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
    [ 3343.909328] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
    [ 3343.916189] ds90ub960 5-0030: Mapping sink 0/0 to output VC 0
    [ 3343.921922] ds90ub960 5-0030: Mapping sink 1/0 to output VC 1
    [ 3343.927656] ds90ub960 5-0030: Mapping sink 2/0 to output VC 2
    [ 3343.933390] ds90ub960 5-0030: Mapping sink 3/0 to output VC 3
    [ 3343.939325] ds90ub960 5-0030: Prepare for streaming
    [ 3343.944203] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
    [ 3343.951066] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
    [ 3343.957929] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
    [ 3343.964790] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
    [ 3343.972483] ds90ub960 5-0030: enable TX port 0
    [ 3343.977150] ds90ub960 5-0030: enable RX port 0
    [ 3343.981813] ds90ub960 5-0030: enable RX port 0 streams 0x1
    [ 3344.008986] ds90ub960 5-0030: enable RX port 1
    [ 3344.013645] ds90ub960 5-0030: enable RX port 1 streams 0x1
    [ 3344.036688] ds90ub960 5-0030: enable RX port 2
    [ 3344.041345] ds90ub960 5-0030: enable RX port 2 streams 0x1
    [ 3344.064686] ds90ub960 5-0030: enable RX port 3
    [ 3344.069343] ds90ub960 5-0030: enable RX port 3 streams 0x1
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 53.17 fps
    <<< 42.51 fps
    <<<<<<<<<<< 47.45 fps
    < 59.82 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 53.65 fps
    <<<<< 43.59 fps
    <<<<<<< 47.42 fps
    <<<< 59.82 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 53.82 fps
    <<< 43.94 fps
    <<<<<<<<<<<<< 47.41 fps
    << 59.82 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 53.90 fps
    <<<<<< 44.12 fps
    <<<<<<<< 47.40 fps
    <<<<< 59.82 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 54.15 fps
    <<<<<<< 44.23 fps
    <<<<<<< 47.40 fps
    <<<<<< 59.82 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 54.15 fps
    <<<<<<<<< 44.52 fps
    <<<<<<< 47.39 fps
    << 59.82 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 54.15 fps
    <<<<<< 44.40 fps
    <<<<<< 47.39 fps
    <<< 59.82 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 54.15 fps
    < 44.27 fps
    <<<<<<<<<<<<< 47.39 fps
    <<< 59.82 fps
    

  • Hello,

    The engineer assigned is out of office, please expect a couple of day delay.

    Best,

    Josue

  • Hi Dennis,

    Could you try reducing the resolution to 1080p? Please see the encoder and decoder limitations here: 3.7. Multimedia Video Codec — Processor SDK Linux for J721e Documentation

    Here's another issue I found, when I run v4l2-ctl command on each camera individually, it will stuck at third or fourth one.

    This is a known issue where we see the CSI2RX SHIM DMA context channel 0 accepts all handled data. Due to the driver implementation, all of the other sensors are still streaming so when one (or a subset) of cameras in a multi-camera system is streaming, DMA context 0 accepts frames from different virtual channels.

    This issue is being addressed internally but for the time being, streaming from one or a subset of cameras in a multi-camera system is not supported.

    Thank you,

    Fabiana

  • Hi Fabiana,

    This is a known issue where we see the CSI2RX SHIM DMA context channel 0 accepts all handled data. Due to the driver implementation, all of the other sensors are still streaming so when one (or a subset) of cameras in a multi-camera system is streaming, DMA context 0 accepts frames from different virtual channels.

    This issue is being addressed internally but for the time being, streaming from one or a subset of cameras in a multi-camera system is not supported.

    Appreciate and fully respect you reply the info. We really look forward to get a resolution on it.



    Could you try reducing the resolution to 1080p? Please see the encoder and decoder limitations here: 3.7. Multimedia Video Codec — Processor SDK Linux for J721e Documentation

    Okay, I will test it as soon as possible.

  • Could you try reducing the resolution to 1080p? Please see the encoder and decoder limitations here: 3.7. Multimedia Video Codec — Processor SDK Linux for J721e Documentation

    Our case 720p is smaller than 1080p  that should be good.

    Beside, I didn't using any encoder or decoder in the stream pipe, so my case do not have these limitation I think.

  • Hi Dennis,

    Do you see this issue when removing a camera from the system and running a 7 camera pipeline?

    Thank you,

    Fabiana

  • Yes, it still happen.

    root@rovy-4vm:/opt/edgeai-gst-apps#
    root@rovy-4vm:/opt/edgeai-gst-apps#
    root@rovy-4vm:/opt/edgeai-gst-apps# gst-launch-1.0 v4l2src device=/dev/video-tevs-cam0 io-mode=4 ! video/x-raw,width=1280,height=720,format=UYVY ! tiovxldc out-block-width=128 out-block-height=20 ! video/x-raw, format=NV12,! mosaic.sink_0 v4l2src device=/dev/video-tevs-cam1 io-mode=4 ! video/x-raw,width=1280,height=720,format=UYVY ! tiovxldc out-block-width=128 out-block-height=20 ! video/x-raw, format=NV12,! mosaic.sink_1 v4l2src device=/dev/video-tevs-cam2 io-mode=4 ! video/x-raw,width=1280,height=720,format=UYVY ! tiovxldc out-block-width=128 out-block-height=20 ! video/x-raw, format=NV12,! mosaic.sink_2 v4l2src device=/dev/video-tevs-cam3 io-mode=4 ! video/x-raw,width=1280,height=720,format=UYVY ! tiovxldc out-block-width=128 out-block-height=20 ! video/x-raw, format=NV12,! mosaic.sink_3 v4l2src device=/dev/video-tevs-cam4 io-mode=4 ! video/x-raw,width=1280,height=720,format=UYVY ! tiovxldc out-block-width=128 out-block-height=20 ! video/x-raw, format=NV12,! mosaic.sink_4 v4l2src device=/dev/video-tevs-cam5 io-mode=4 ! video/x-raw,width=1280,height=720,format=UYVY ! tiovxldc out-block-width=128 out-block-height=20 ! video/x-raw, format=NV12,! mosaic.sink_5 v4l2src device=/dev/video-tevs-cam6 io-mode=4 ! video/x-raw,width=1280,height=720,format=UYVY ! tiovxldc out-block-width=128 out-block-height=20 ! video/x-raw, format=NV12,! mosaic.sink_6 tiovxmosaic name=mosaic latency=1234567890 src::repeat-after-eos=false src::pool-size=10 sink_0::startx="<0>" sink_0::starty="<0>" sink_0::widths="<320>" sink_0::heights="<240>" sink_0::repeat-after-eos=false sink_0::pool-size=16 sink_1::startx="<320>" sink_1::starty="<0>" sink_1::widths="<320>" sink_1::heights="<240>" sink_1::repeat-after-eos=false sink_1::pool-size=16 sink_2::startx="<640>" sink_2::starty="<0>" sink_2::widths="<320>" sink_2::heights="<240>" sink_2::repeat-after-eos=false sink_2::pool-size=16 sink_3::startx="<959>" sink_3::starty="<0>" sink_3::widths="<320>" sink_3::heights="<240>" sink_3::repeat-after-eos=false sink_3::pool-size=16 sink_4::startx="<0>" sink_4::starty="<320>" sink_4::widths="<320>" sink_4::heights="<240>" sink_4::repeat-after-eos=false sink_4::pool-size=16 sink_5::startx="<320>" sink_5::starty="<320>" sink_5::widths="<320>" sink_5::heights="<240>" sink_5::repeat-after-eos=false sink_5::pool-size=16 sink_6::startx="<640>" sink_6::starty="<320>" sink_6::widths="<320>" sink_6::heights="<240>" sink_6::repeat-after-eos=false sink_6::pool-size=16 sink_7::startx="<959>" sink_7::starty="<320>" sink_7::widths="<320>" sink_7::heights="<240>" sink_7::repeat-after-eos=false sink_7::pool-size=16 ! tiperfoverlay overlay-type=0 update-fps-interval=1000 ! video/x-raw, width=1280, height=800, framerate=10/1 ! queue ! waylandsink sync=false  --no-position &
    [1] 1655
    root@rovy-4vm:/opt/edgeai-gst-apps# APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=6) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
        88.387268 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
        88.387344 s:  VX_ZONE_INIT:Enabled
        88.387353 s:  VX_ZONE_ERROR:Enabled
        88.387358 s:  VX_ZONE_WARNING:Enabled
        88.388118 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
        88.388637 s:  VX_ZONE_INIT:[tivxHostInitLocal:101] Initialization Done for HOST !!!
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    [   80.783050] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
    [   80.790004] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
    [   80.796930] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
    [   80.803831] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
    [   80.810729] ds90ub960 5-0030: Mapping sink 0/0 to output VC 0
    [   80.816499] ds90ub960 5-0030: Mapping sink 1/0 to output VC 1
    [   80.822252] ds90ub960 5-0030: Mapping sink 2/0 to output VC 2
    [   80.828014] ds90ub960 5-0030: Mapping sink 3/0 to output VC 3
    [   80.833926] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
    [   80.840835] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
    [   80.847717] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
    [   80.849249] j721e-csi2rx 4500000.ticsi2rx: Failed to drain DMA. Next frame might be bogus
    [   80.854617] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
    [   80.854623] ds90ub960 5-0030: Mapping sink 0/0 to output VC 0
    [   80.875396] ds90ub960 5-0030: Mapping sink 1/0 to output VC 1
    [   80.881189] ds90ub960 5-0030: Mapping sink 2/0 to output VC 2
    [   80.886951] ds90ub960 5-0030: Mapping sink 3/0 to output VC 3
    [   80.887727] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
    [   80.899690] ds90ub960 5-0030: Prepare for streaming
    [   80.900448] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
    [   80.904583] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
    [   80.904589] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
    [   80.904595] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
    [   80.913896] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
    [   80.918383] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
    [   80.926463] ds90ub960 3-0030: Mapping sink 0/0 to output VC 0
    [   80.932086] ds90ub960 5-0030: Configure RX ports nport[0]
    [   80.932090] ds90ub960 5-0030: ub960_rxport_select: rxport=0
    [   80.962500] ds90ub960 3-0030: Mapping sink 1/0 to output VC 1
    [   80.968937] ds90ub960 3-0030: Mapping sink 2/0 to output VC 2
    [   80.974707] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
    [   80.981579] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
    [   80.988457] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
    [   80.995324] ds90ub960 3-0030: Mapping sink 0/0 to output VC 0
    [   81.001069] ds90ub960 3-0030: Mapping sink 1/0 to output VC 1
    [   81.006806] ds90ub960 3-0030: Mapping sink 2/0 to output VC 2
    [   81.012559] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
    [   81.019427] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
    [   81.026293] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
    [   81.033157] ds90ub960 3-0030: Mapping sink 0/0 to output VC 0
    [   81.038893] ds90ub960 3-0030: Mapping sink 1/0 to output VC 1
    [   81.040498] ds90ub960 5-0030: Configure RX ports nport[1]
    [   81.044755] ds90ub960 3-0030: Mapping sink 2/0 to output VC 2
    [   81.051038] ds90ub960 5-0030: ub960_rxport_select: rxport=1
    [   81.061446] ds90ub960 3-0030: Prepare for streaming
    [   81.066346] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
    [   81.073213] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
    [   81.080078] ds90ub960 3-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
    [   81.086939] ds90ub960 3-0030: Configure RX ports nport[0]
    [   81.092333] ds90ub960 3-0030: ub960_rxport_select: rxport=0
    [   81.168498] ds90ub960 5-0030: Configure RX ports nport[2]
    [   81.173895] ds90ub960 5-0030: ub960_rxport_select: rxport=2
    [   81.204498] ds90ub960 3-0030: Configure RX ports nport[1]
    [   81.209893] ds90ub960 3-0030: ub960_rxport_select: rxport=1
    [   81.284498] ds90ub960 5-0030: Configure RX ports nport[3]
    [   81.289900] ds90ub960 5-0030: ub960_rxport_select: rxport=3
    [   81.320498] ds90ub960 3-0030: Configure RX ports nport[2]
    [   81.325894] ds90ub960 3-0030: ub960_rxport_select: rxport=2
    [   81.400591] ds90ub960 5-0030: enable TX port 0
    [   81.405251] ds90ub960 5-0030: stream enable mask[4]= 15, source_streams_mask=0xf
    [   81.412645] ds90ub960 5-0030: enable RX port 0
    [   81.417309] ds90ub960 5-0030: enable RX port 0 streams 0x1
    [   81.433911] ds90ub960 5-0030: enable RX port 1
    [   81.436510] ds90ub960 3-0030: Configure RX ports nport[3]
    [   81.438570] ds90ub960 5-0030: enable RX port 1 streams 0x1
    [   81.449286] ds90ub960 3-0030: enable TX port 0
    [   81.454000] ds90ub960 3-0030: stream enable mask[4]= 7, source_streams_mask=0x7
    [   81.461318] ds90ub960 3-0030: enable RX port 0
    [   81.465978] ds90ub960 3-0030: enable RX port 0 streams 0x1
    [   81.469908] ds90ub960 5-0030: enable RX port 2
    [   81.476151] ds90ub960 5-0030: enable RX port 2 streams 0x1
    [   81.493923] ds90ub960 3-0030: enable RX port 1
    [   81.498382] ds90ub960 5-0030: enable RX port 3
    [   81.501612] ds90ub960 3-0030: enable RX port 1 streams 0x1
    [   81.508497] ds90ub960 5-0030: enable RX port 3 streams 0x1
    [   81.529916] ds90ub960 3-0030: enable RX port 2
    [   81.534586] ds90ub960 3-0030: enable RX port 2 streams 0x1
    [   81.541257] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
    [   81.549145] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
    [   81.563490] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
    [   81.571695] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
    [   81.580004] ds90ub960 5-0030: Mapping sink 0/0 to output VC 0
    [   81.589412] ds90ub960 5-0030: Mapping sink 1/0 to output VC 1
    [   81.597862] ds90ub960 5-0030: Mapping sink 2/0 to output VC 2
    [   81.603697] ds90ub960 5-0030: Mapping sink 3/0 to output VC 3
    [   81.610901] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 0 is 0x00
    [   81.617852] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 1 is 0x55
    [   81.624772] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 2 is 0xaa
    [   81.631736] ds90ub960 5-0030: ub960_get_vc_maps: VC map for port 3 is 0xff
    [   81.638674] ds90ub960 5-0030: Mapping sink 0/0 to output VC 0
    [   81.644465] ds90ub960 5-0030: Mapping sink 1/0 to output VC 1
    [   81.650280] ds90ub960 5-0030: Mapping sink 2/0 to output VC 2
    [   81.656462] ds90ub960 5-0030: Mapping sink 3/0 to output VC 3
    [   81.726101] ------------[ cut here ]------------
    [   81.730750] WARNING: CPU: 0 PID: 0 at drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c:709 ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
    [   81.743788] Modules linked in: tevs xhci_plat_hcd pci_endpoint_test ds90ub953 ti_am335x_adc kfifo_buf rpmsg_ctrl rpmsg_char pru_rproc omap_rng cdns_csi2rx irq_pruss_intc panel_simple cdns_pltfrm cdns3 cdns_usb_common spidev overlay crct10dif_ce snd_soc_simple_card snd_soc_simple_card_utils phy_can_transceiver pwm_bl bluetooth ti_k3_r5_remoteproc cfg80211 ecdh_generic ecc pvrsrvkm(O) rfkill cdns_mhdp8546 at24 drm_display_helper ti_am335x_tscadc pruss vxd_dec ti_k3_dsp_remoteproc vxe_enc virtio_rpmsg_bus tidss sa2ul ti_j721e_ufs j721e_csi2rx ds90ub960 snd_soc_davinci_mcasp rpmsg_ns cdns_dsi videobuf2_dma_sg ti_k3_common drm_dma_helper snd_soc_ti_udma snd_soc_tlv320aic3x_i2c i2c_atr v4l2_mem2mem snd_soc_ti_edma cdns_dphy_rx videobuf2_dma_contig v4l2_fwnode snd_soc_tlv320aic3x cdns_dphy snd_soc_ti_sdma v4l2_async videobuf2_memops cdns3_ti pwm_tiehrpwm videobuf2_v4l2 videobuf2_common videodev pci_j721e_host pci_j721e pcie_cadence_host pcie_cadence rtc_ds1307 ina2xx mc m_can_platform m_can
    [   81.743931]  optee_rng rti_wdt spi_omap2_mcspi can_dev rng_core fuse ipv6
    [   81.837652] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W  O       6.1.46-ge59371b14a0a-dirty #43
    [   81.846849] Hardware name: TechNexion ROVY-4VM and EVM baseboard with Vizionpanel 10.1 inch LVDS panel (DT)
    [   81.856565] pstate: 200000c5 (nzCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
    [   81.863508] pc : ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
    [   81.869682] lr : ti_csi2rx_dma_callback+0x48/0x140 [j721e_csi2rx]
    [   81.875760] sp : ffff800008003e00
    [   81.879060] x29: ffff800008003e00 x28: 0000000000000000 x27: 0000000000000038
    [   81.886179] x26: 0000000000000003 x25: ffff80000a173ec0 x24: dead000000000100
    [   81.893297] x23: dead000000000122 x22: 0000000000000000 x21: ffff000830761de8
    [   81.900414] x20: ffff000830761628 x19: ffff000830c69c00 x18: 0000000000000000
    [   81.907532] x17: ffff800955624000 x16: ffff800008000000 x15: 00000000000003f5
    [   81.914649] x14: 0000000000000003 x13: 0000000000000000 x12: 0000000000000002
    [   81.921766] x11: 0000000000000040 x10: ffff000827d96870 x9 : ffff000827d96868
    [   81.928883] x8 : ffff00095f19c040 x7 : 11edd270693ac7dc x6 : 0000000429763ba2
    [   81.936000] x5 : 03ffffffffffffff x4 : 0000000000000000 x3 : ffff000830761de8
    [   81.943117] x2 : 0000000000000001 x1 : ffff000830c6a400 x0 : 0000000000000000
    [   81.950234] Call trace:
    [   81.952668]  ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
    [   81.958488]  udma_vchan_complete+0x21c/0x2a0
    [   81.962752]  tasklet_action_common.isra.0+0x11c/0x148
    [   81.967793]  tasklet_action+0x28/0x38
    [   81.971442]  __do_softirq+0x120/0x288
    [   81.975090]  ____do_softirq+0x10/0x20
    [   81.978739]  call_on_irq_stack+0x24/0x4c
    [   81.982648]  do_softirq_own_stack+0x1c/0x28
    [   81.986817]  irq_exit_rcu+0xe8/0x108
    [   81.990380]  el1_interrupt+0x3c/0x70
    [   81.993947]  el1h_64_irq_handler+0x18/0x28
    [   81.998032]  el1h_64_irq+0x64/0x68
    [   82.001420]  arch_cpu_idle+0x18/0x28
    [   82.004981]  default_idle_call+0x24/0x6c
    [   82.008892]  do_idle+0x200/0x248
    [   82.012111]  cpu_startup_entry+0x24/0x30
    [   82.016021]  rest_init+0xe4/0xe8
    [   82.019235]  arch_post_acpi_subsys_init+0x0/0x18
    [   82.023843]  start_kernel+0x664/0x6a0
    [   82.027492]  __primary_switched+0xbc/0xc4
    [   82.031490] ---[ end trace 0000000000000000 ]---
    [   82.036463] ------------[ cut here ]------------
    [   82.041090] WARNING: CPU: 0 PID: 24 at drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c:709 ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
    [   82.054217] Modules linked in: tevs xhci_plat_hcd pci_endpoint_test ds90ub953 ti_am335x_adc kfifo_buf rpmsg_ctrl rpmsg_char pru_rproc omap_rng cdns_csi2rx irq_pruss_intc panel_simple cdns_pltfrm cdns3 cdns_usb_common spidev overlay crct10dif_ce snd_soc_simple_card snd_soc_simple_card_utils phy_can_transceiver pwm_bl bluetooth ti_k3_r5_remoteproc cfg80211 ecdh_generic ecc pvrsrvkm(O) rfkill cdns_mhdp8546 at24 drm_display_helper ti_am335x_tscadc pruss vxd_dec ti_k3_dsp_remoteproc vxe_enc virtio_rpmsg_bus tidss sa2ul ti_j721e_ufs j721e_csi2rx ds90ub960 snd_soc_davinci_mcasp rpmsg_ns cdns_dsi videobuf2_dma_sg ti_k3_common drm_dma_helper snd_soc_ti_udma snd_soc_tlv320aic3x_i2c i2c_atr v4l2_mem2mem snd_soc_ti_edma cdns_dphy_rx videobuf2_dma_contig v4l2_fwnode snd_soc_tlv320aic3x cdns_dphy snd_soc_ti_sdma v4l2_async videobuf2_memops cdns3_ti pwm_tiehrpwm videobuf2_v4l2 videobuf2_common videodev pci_j721e_host pci_j721e pcie_cadence_host pcie_cadence rtc_ds1307 ina2xx mc m_can_platform m_can
    [   82.054336]  optee_rng rti_wdt spi_omap2_mcspi can_dev rng_core fuse ipv6
    [   82.148047] CPU: 0 PID: 24 Comm: kworker/0:1 Tainted: G        W  O       6.1.46-ge59371b14a0a-dirty #43
    [   82.157504] Hardware name: TechNexion ROVY-4VM and EVM baseboard with Vizionpanel 10.1 inch LVDS panel (DT)
    [   82.167220] Workqueue: events mbox_rx_work
    [   82.171315] pstate: 800000c5 (Nzcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
    [   82.178259] pc : ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
    [   82.184426] lr : ti_csi2rx_dma_callback+0x48/0x140 [j721e_csi2rx]
    [   82.190504] sp : ffff800008003e00
    [   82.193805] x29: ffff800008003e00 x28: 0000000000000005 x27: 0000000000000028
    [   82.200923] x26: 0000000000000003 x25: ffff000827150000 x24: dead000000000100
    [   82.208040] x23: dead000000000122 x22: 0000000000000000 x21: ffff000830761de8
    [   82.215158] x20: ffff000830761628 x19: ffff000830c6a400 x18: 0000000000000000
    [   82.222275] x17: ffff800955624000 x16: ffff800008000000 x15: 0000000000000001
    [   82.229393] x14: 000000000013032a x13: 00000000000000f0 x12: 0000000000000001
    [   82.236510] x11: 0000000000000000 x10: 0000000000000003 x9 : 00000009e34bff20
    [   82.243628] x8 : 0000000000000001 x7 : 00000000000020e0 x6 : 000000042d2e61a2
    [   82.250745] x5 : 03ffffffffffffff x4 : 0000000000000000 x3 : ffff000830761de8
    [   82.257862] x2 : 0000000000000001 x1 : ffff000830c6a000 x0 : 0000000000000000
    [   82.264979] Call trace:
    [   82.267414]  ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
    [   82.273232]  udma_vchan_complete+0x21c/0x2a0
    [   82.277490]  tasklet_action_common.isra.0+0x11c/0x148
    [   82.282530]  tasklet_action+0x28/0x38
    [   82.286178]  __do_softirq+0x120/0x288
    [   82.289828]  ____do_softirq+0x10/0x20
    [   82.293476]  call_on_irq_stack+0x24/0x4c
    [   82.297385]  do_softirq_own_stack+0x1c/0x28
    [   82.301554]  irq_exit_rcu+0xe8/0x108
    [   82.305117]  el1_interrupt+0x3c/0x70
    [   82.308682]  el1h_64_irq_handler+0x18/0x28
    [   82.312765]  el1h_64_irq+0x64/0x68
    [   82.316152]  _raw_spin_unlock_irqrestore+0xc/0x48
    [   82.320845]  __wake_up+0x18/0x28
    [   82.324061]  rpmsg_ept_cb+0x84/0xa8 [rpmsg_char]
    [   82.328668]  rpmsg_recv_done+0xcc/0x2c8 [virtio_rpmsg_bus]
    [   82.334140]  vring_interrupt+0x74/0xb0
    [   82.337877]  rproc_vq_interrupt+0x2c/0x48
    [   82.341876]  k3_r5_rproc_mbox_callback+0x50/0x88 [ti_k3_r5_remoteproc]
    [   82.348389]  mbox_chan_received_data+0x1c/0x30
    [   82.352818]  mbox_rx_work+0x80/0xf0
    [   82.356295]  process_one_work+0x1b4/0x310
    [   82.360292]  worker_thread+0x4c/0x400
    [   82.363940]  kthread+0x110/0x120
    [   82.367155]  ret_from_fork+0x10/0x20
    [   82.370717] ---[ end trace 0000000000000000 ]---
    [   82.394814] ------------[ cut here ]------------
    [   82.399460] WARNING: CPU: 0 PID: 1665 at drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c:709 ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
    [   82.412749] Modules linked in: tevs xhci_plat_hcd pci_endpoint_test ds90ub953 ti_am335x_adc kfifo_buf rpmsg_ctrl rpmsg_char pru_rproc omap_rng cdns_csi2rx irq_pruss_intc panel_simple cdns_pltfrm cdns3 cdns_usb_common spidev overlay crct10dif_ce snd_soc_simple_card snd_soc_simple_card_utils phy_can_transceiver pwm_bl bluetooth ti_k3_r5_remoteproc cfg80211 ecdh_generic ecc pvrsrvkm(O) rfkill cdns_mhdp8546 at24 drm_display_helper ti_am335x_tscadc pruss vxd_dec ti_k3_dsp_remoteproc vxe_enc virtio_rpmsg_bus tidss sa2ul ti_j721e_ufs j721e_csi2rx ds90ub960 snd_soc_davinci_mcasp rpmsg_ns cdns_dsi videobuf2_dma_sg ti_k3_common drm_dma_helper snd_soc_ti_udma snd_soc_tlv320aic3x_i2c i2c_atr v4l2_mem2mem snd_soc_ti_edma cdns_dphy_rx videobuf2_dma_contig v4l2_fwnode snd_soc_tlv320aic3x cdns_dphy snd_soc_ti_sdma v4l2_async videobuf2_memops cdns3_ti pwm_tiehrpwm videobuf2_v4l2 videobuf2_common videodev pci_j721e_host pci_j721e pcie_cadence_host pcie_cadence rtc_ds1307 ina2xx mc m_can_platform m_can
    [   82.412870]  optee_rng rti_wdt spi_omap2_mcspi can_dev rng_core fuse ipv6
    [   82.506582] CPU: 0 PID: 1665 Comm: v4l2src0:src Tainted: G        W  O       6.1.46-ge59371b14a0a-dirty #43
    [   82.516298] Hardware name: TechNexion ROVY-4VM and EVM baseboard with Vizionpanel 10.1 inch LVDS panel (DT)
    [   82.526013] pstate: 200000c5 (nzCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
    [   82.532956] pc : ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
    [   82.539122] lr : ti_csi2rx_dma_callback+0x48/0x140 [j721e_csi2rx]
    [   82.545200] sp : ffff800008003e00
    [   82.548499] x29: ffff800008003e00 x28: 0000000000000000 x27: 0000000000000038
    [   82.555617] x26: 0000000000000003 x25: ffff00082abbd880 x24: dead000000000100
    [   82.562735] x23: dead000000000122 x22: 0000000000000000 x21: ffff000830761de8
    [   82.569852] x20: ffff000830761628 x19: ffff000830c6a000 x18: 0000000000000000
    [   82.576969] x17: ffff800955624000 x16: ffff800008000000 x15: 0000000000000001
    [   82.584086] x14: 00000000000001af x13: 0000000000000000 x12: 0000000000000001
    [   82.591202] x11: 0000000000000000 x10: 0000000000000001 x9 : 00000000005b8d80
    [   82.598320] x8 : ffff00095f19de80 x7 : ffff00095f19e870 x6 : 00000004316ccea2
    [   82.605438] x5 : 03ffffffffffffff x4 : 0000000000000000 x3 : ffff000830761de8
    [   82.612555] x2 : 0000000000000001 x1 : ffff000830c6b000 x0 : 0000000000000000
    [   82.619673] Call trace:
    [   82.622106]  ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
    [   82.627925]  udma_vchan_complete+0x21c/0x2a0
    [   82.632188]  tasklet_action_common.isra.0+0x11c/0x148
    [   82.637227]  tasklet_action+0x28/0x38
    [   82.640876]  __do_softirq+0x120/0x288
    [   82.644524]  ____do_softirq+0x10/0x20
    [   82.648172]  call_on_irq_stack+0x24/0x4c
    [   82.652080]  do_softirq_own_stack+0x1c/0x28
    [   82.656249]  irq_exit_rcu+0xe8/0x108
    [   82.659812]  el0_interrupt+0x54/0xd8
    [   82.663377]  __el0_irq_handler_common+0x18/0x28
    [   82.667893]  el0t_64_irq_handler+0x10/0x20
    [   82.671975]  el0t_64_irq+0x18c/0x190
    [   82.675537] ---[ end trace 0000000000000000 ]---
    [   82.680414] ------------[ cut here ]------------
    [   82.685025] WARNING: CPU: 0 PID: 13 at drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c:709 ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
    [   82.698135] Modules linked in: tevs xhci_plat_hcd pci_endpoint_test ds90ub953 ti_am335x_adc kfifo_buf rpmsg_ctrl rpmsg_char pru_rproc omap_rng cdns_csi2rx irq_pruss_intc panel_simple cdns_pltfrm cdns3 cdns_usb_common spidev overlay crct10dif_ce snd_soc_simple_card snd_soc_simple_card_utils phy_can_transceiver pwm_bl bluetooth ti_k3_r5_remoteproc cfg80211 ecdh_generic ecc pvrsrvkm(O) rfkill cdns_mhdp8546 at24 drm_display_helper ti_am335x_tscadc pruss vxd_dec ti_k3_dsp_remoteproc vxe_enc virtio_rpmsg_bus tidss sa2ul ti_j721e_ufs j721e_csi2rx ds90ub960 snd_soc_davinci_mcasp rpmsg_ns cdns_dsi videobuf2_dma_sg ti_k3_common drm_dma_helper snd_soc_ti_udma snd_soc_tlv320aic3x_i2c i2c_atr v4l2_mem2mem snd_soc_ti_edma cdns_dphy_rx videobuf2_dma_contig v4l2_fwnode snd_soc_tlv320aic3x cdns_dphy snd_soc_ti_sdma v4l2_async videobuf2_memops cdns3_ti pwm_tiehrpwm videobuf2_v4l2 videobuf2_common videodev pci_j721e_host pci_j721e pcie_cadence_host pcie_cadence rtc_ds1307 ina2xx mc m_can_platform m_can
    [   82.698246]  optee_rng rti_wdt spi_omap2_mcspi can_dev rng_core fuse ipv6
    [   82.791960] CPU: 0 PID: 13 Comm: ksoftirqd/0 Tainted: G        W  O       6.1.46-ge59371b14a0a-dirty #43
    [   82.801417] Hardware name: TechNexion ROVY-4VM and EVM baseboard with Vizionpanel 10.1 inch LVDS panel (DT)
    [   82.811132] pstate: 800000c5 (Nzcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
    [   82.818075] pc : ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
    [   82.824245] lr : ti_csi2rx_dma_callback+0x48/0x140 [j721e_csi2rx]
    [   82.830323] sp : ffff80000a77bc20
    [   82.833623] x29: ffff80000a77bc20 x28: 0000000000000005 x27: 0000000000000038
    [   82.840741] x26: 0000000000000003 x25: ffff000827113b00 x24: dead000000000100
    [   82.847859] x23: dead000000000122 x22: 0000000000000000 x21: ffff000830761de8
    [   82.854976] x20: ffff000830761628 x19: ffff000830c6b000 x18: 0000000000000000
    [   82.862093] x17: ffff800955624000 x16: ffff800008000000 x15: 0000000000000001
    [   82.869211] x14: 000000000013026e x13: 0000000000000000 x12: 0000000000001b93
    [   82.876328] x11: 0000000000000065 x10: 00000000006e540d x9 : 00000009e3abff20
    [   82.883444] x8 : 0000000000000001 x7 : 00000000000020e0 x6 : 0000000434dbb6a2
    [   82.890562] x5 : 03ffffffffffffff x4 : 0000000000000000 x3 : ffff000830761de8
    [   82.897679] x2 : 0000000000000001 x1 : ffff000830c69c00 x0 : 0000000000000000
    [   82.904797] Call trace:
    [   82.907231]  ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
    [   82.913051]  udma_vchan_complete+0x21c/0x2a0
    [   82.917314]  tasklet_action_common.isra.0+0x11c/0x148
    [   82.922354]  tasklet_action+0x28/0x38
    [   82.926003]  __do_softirq+0x120/0x288
    [   82.929652]  run_ksoftirqd+0x4c/0x60
    [   82.933215]  smpboot_thread_fn+0x1bc/0x278
    [   82.937298]  kthread+0x110/0x120
    [   82.940515]  ret_from_fork+0x10/0x20
    [   82.944077] ---[ end trace 0000000000000000 ]---
    [   82.948940] ------------[ cut here ]------------
    [   82.953549] WARNING: CPU: 0 PID: 24 at drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c:709 ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
    [   82.966656] Modules linked in: tevs xhci_plat_hcd pci_endpoint_test ds90ub953 ti_am335x_adc kfifo_buf rpmsg_ctrl rpmsg_char pru_rproc omap_rng cdns_csi2rx irq_pruss_intc panel_simple cdns_pltfrm cdns3 cdns_usb_common spidev overlay crct10dif_ce snd_soc_simple_card snd_soc_simple_card_utils phy_can_transceiver pwm_bl bluetooth ti_k3_r5_remoteproc cfg80211 ecdh_generic ecc pvrsrvkm(O) rfkill cdns_mhdp8546 at24 drm_display_helper ti_am335x_tscadc pruss vxd_dec ti_k3_dsp_remoteproc vxe_enc virtio_rpmsg_bus tidss sa2ul ti_j721e_ufs j721e_csi2rx ds90ub960 snd_soc_davinci_mcasp rpmsg_ns cdns_dsi videobuf2_dma_sg ti_k3_common drm_dma_helper snd_soc_ti_udma snd_soc_tlv320aic3x_i2c i2c_atr v4l2_mem2mem snd_soc_ti_edma cdns_dphy_rx videobuf2_dma_contig v4l2_fwnode snd_soc_tlv320aic3x cdns_dphy snd_soc_ti_sdma v4l2_async videobuf2_memops cdns3_ti pwm_tiehrpwm videobuf2_v4l2 videobuf2_common videodev pci_j721e_host pci_j721e pcie_cadence_host pcie_cadence rtc_ds1307 ina2xx mc m_can_platform m_can
    [   82.966772]  optee_rng rti_wdt spi_omap2_mcspi can_dev rng_core fuse ipv6
    [   83.060482] CPU: 0 PID: 24 Comm: kworker/0:1 Tainted: G        W  O       6.1.46-ge59371b14a0a-dirty #43
    [   83.069938] Hardware name: TechNexion ROVY-4VM and EVM baseboard with Vizionpanel 10.1 inch LVDS panel (DT)
    [   83.079653] Workqueue: events mbox_rx_work
    [   83.083747] pstate: 000000c5 (nzcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
    [   83.090688] pc : ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
    [   83.096855] lr : ti_csi2rx_dma_callback+0x48/0x140 [j721e_csi2rx]
    [   83.102933] sp : ffff800008003e00
    [   83.106233] x29: ffff800008003e00 x28: 0000000000000005 x27: 0000000000000028
    [   83.113350] x26: 0000000000000003 x25: ffff000827150000 x24: dead000000000100
    [   83.120468] x23: dead000000000122 x22: 0000000000000000 x21: ffff000830761de8
    [   83.127585] x20: ffff000830761628 x19: ffff000830c69c00 x18: 0000000000000000
    [   83.134702] x17: ffff800955624000 x16: ffff800008000000 x15: 0000000000000001
    [   83.141819] x14: 00000000001301f8 x13: 0000000000000000 x12: 000000000000b668
    [   83.148937] x11: 0000000000000040 x10: ffff80000a180478 x9 : 00000009e42bff20
    [   83.156054] x8 : 0000000000000001 x7 : 00000000000020e0 x6 : 00000004380d95a2
    [   83.163172] x5 : 03ffffffffffffff x4 : 0000000000000000 x3 : ffff000830761de8
    [   83.170290] x2 : 0000000000000001 x1 : 0000000000000000 x0 : 0000000000000000
    [   83.177407] Call trace:
    [   83.179840]  ti_csi2rx_dma_callback+0x108/0x140 [j721e_csi2rx]
    [   83.185658]  udma_vchan_complete+0x21c/0x2a0
    [   83.189917]  tasklet_action_common.isra.0+0x11c/0x148
    [   83.194956]  tasklet_action+0x28/0x38
    [   83.198606]  __do_softirq+0x120/0x288
    [   83.202255]  ____do_softirq+0x10/0x20
    [   83.205902]  call_on_irq_stack+0x24/0x4c
    [   83.209811]  do_softirq_own_stack+0x1c/0x28
    [   83.213979]  irq_exit_rcu+0xe8/0x108
    [   83.217542]  el1_interrupt+0x3c/0x70
    [   83.221107]  el1h_64_irq_handler+0x18/0x28
    [   83.225191]  el1h_64_irq+0x64/0x68
    [   83.228579]  rproc_vq_interrupt+0x1c/0x48
    [   83.232576]  k3_r5_rproc_mbox_callback+0x50/0x88 [ti_k3_r5_remoteproc]
    [   83.239090]  mbox_chan_received_data+0x1c/0x30
    [   83.243520]  mbox_rx_work+0x80/0xf0
    [   83.246996]  process_one_work+0x1b4/0x310
    [   83.250993]  worker_thread+0x4c/0x400
    [   83.254643]  kthread+0x110/0x120
    [   83.257857]  ret_from_fork+0x10/0x20
    [   83.261419] ---[ end trace 0000000000000000 ]---
    [   83.328991] j721e-csi2rx 4500000.ticsi2rx: Failed to drain DMA. Next frame might be bogus
    Redistribute latency...
    
    root@rovy-4vm:/opt/edgeai-gst-apps#
    root@rovy-4vm:/opt/edgeai-gst-apps#
    

  • Hi Dennis,

    Thank you for confirming. I will be running a few tests on my end. Expect a response from me by next week.

    Thanks,

    Fabiana

  • Hi Dennis,

    This issue has been fixed in the next SDK version release that will be available later this month. I advise you to switch to that version once it is released.

    Thank you,

    Fabiana

  • Hi Fabiana,

    Do you mean that the issue regarding single camera streaming (or fewer than N camera streaming, where N is the total number of cameras in the system) in a multi-camera setup is fixed in SDK10.0?

    If so that is GREAT.  But, and I know this is a big ask, is it possible to provide us with a link to the specific patch that fixes it?  Moving from SDK9.1 to SDK10.0 is a big step and we'd like to (ideally) be able to patch the kernel or drivers to fix it.

    Thanks,

    John

  • Hi John,

    This may have been pushed back to 10.02. Please allow me some time to look into the current status and discuss with my team.

    Thank you,

    Fabiana

  • Hi Fabiana,

    Thanks.  In absence of this, one thing that may help is to understand how to stream all cameras, while only processing a one or more of those cameras.

    For example, if we have 4 cameras connected into a DS90UB962, currently TI supports only streaming all 4 cameras at the same time due to the limitation you mentioned above.  How can we stream from all 4 cameras, but only process the stream from a subset of them?  Ideally, using gstreamer?

    One thing that we've messed around with is gst-interpipe, which is a RidgeRun plugin.  It seems to work well enough, but has some latency accumulation issues, so it isn't very usable.

    John

  • Hi John,

    Could you please create a new thread to discuss this topic? Could you elaborate on what solution you're looking for with any pipelines diagrams? Take a look at this single/multi input, multi inference example and let me know if you're looking to do something similar: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-sk-tda4vm/09_02_00/exports/edgeai-docs/common/edgeai_dataflows.html#id4

    Thank you,

    Fabiana

  • Hi Fabiana,

    Sure. Will do. Sorry to derail this particular thread.

    Can you please let us know what fixes are implemented in SDK10.0 for the CSI DMA issue, and if we can get specific patches identified so that we can see if we can backport to SDK9.1?

    Thanks,

    John

  • Hi Fabiana,

    It will be helpful if you can provide the fixed patch for me to use on current SDK.
    I think I don't want only fixed this and increase loading to update SDK version.

    Hopefully a minimal change can fix it.

    Thanks,

    Dennis

  • Hi Dennis,

    I apologize for the delay in response on this. See the following patch for j722s as example: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1405819/tda4vm-how-to-stream-select-cameras-from-a-fpd-link-multi-camera-setup-using-gstreamer-with-tda4vm/5402673#5402673

    The fix is expected to be implemented in the next SDK release across platforms.

    Thank you,

    Fabiana