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: v4l2 capture video error when using pcie ep at the same time

Part Number: TDA4VM

Hi  my friends:

        I have met a weird issue on TDA4VM Edge AI Starter Kit platform, I  am developing  frame grabber now  on it, We need capture bayer raw data (format: 3586X2177@30hz) from image sensor and send it to PC host   by PCIE interface. It was worked when i   used v4l2  method  to capture video data  and  it worked also when i  send test datas to PC(worked as RC mode) by pcie interface  (which deviced work as  EP mode)  based on linux epf test driver(pci-epf-test.c) origented from kernel source of ti-processor-sdk-linux-j7-evm-08_04_00_11 .

       But  when i integrated these 2 functions  worked at the same time which meaned capture mipi-csi data and send it to host together.  I found the video data were error from v4l2 driver, It seemed some video frames were mixed up. I guessed some dma  transmit  work wrong on linux mipi-csi driver . some one can help me to fix this bug? I am grateful for your help。

  • Hi,

    Could you please provide detailed steps what you are following?

    We could review this and try to reproduce the same at our end.

    Regards,
    Nikhil

  • steps:

    1: connect the pcie1(j22)  to  host PC(x86+ubuntu18.04).

    2: config the pcie1 of  sk-evm run as pcie endpoint just as the the instruction processor-sdk-linux-docs/docs/linux/Foundational_Components/Kernel/Kernel_Drivers/PCIe/PCIe_End_Point.html

    3: Run  pcitest.sh on  PC  side to send "read" command  always, (it is easily do to change the script to support it) 

    4:run yavta on board to capture vide ,command like  "yavta /dev/video2 -c10 -n4 -s3856x2177 -fUYVY -Ftest_video.raw ", of course,we changed the v4l2 driver to support my sensor which support 3856X2177@30hz ,. You can capture used default sensor imx219 image too.  just like command "yavta /dev/video2 -c1 -n4 -s1920x1080 -fSRGGB10 -Ftest_video.raw"

    5: used yuv tool just like 7yuv to view the video file test_vide.raw. you will find this issue.

  • Hi,

    Can the pcitest.sh being run on the pc side be shared?

    Apart from this can you clarify the following things for me:

    • How frequently are you reading the data from RC side?
    • How is it being ensured that the raw video data is being read over PCIe? I would assume that the pcie-epf has to know from where to read the data. Have you configured the corresponding BARs?
    • There might be some read before write type of thing also going on for the raw data. Have you made any changes to ensure that this doesn't happen?

    Regards,
    Tanmay

  • thanks Tanmay!

    • How frequently are you reading the data from RC side?

              I read the data always ,the script is below.

    • How is it being ensured that the raw video data is being read over PCIe? I would assume that the pcie-epf has to know from where to read the data. Have you configured the corresponding BARs?

            I have debuged with uvc camera(VGA)  or a fixed data to test pcie driver developed myself, It work ok.    I didin't edit the bar config of the test example. 

    • There might be some read before write type of thing also going on for the raw data. Have you made any changes to ensure that this doesn't happen?

            I have saved the raw data to a file  by tool yavta and check it was ok.it seemed myself v4l2 driver works.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~pcitest.sh~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    #!/bin/sh
    # SPDX-License-Identifier: GPL-2.0

    echo "BAR tests"
    echo

    bar=0

    while [ $bar -lt 6 ]
    do
    pcitest -b $bar
    bar=`expr $bar + 1`
    done
    echo

    pcitest -i 2

    echo "Read Tests"
    echo
    cnt=0

    while [ $cnt -lt 100 ]
    do
    pcitest -r -s 1024000
    cnt=`expr $cnt + 1`
    done

    echo

  • Hi,

    Please let me know if my understanding is correct here regarding the issue.

                                        USECASE         STATUS
    1. Yavta capture alone            OK
    2. PCIE test alone           OK

    3. Yavta capture stored all frames and then

     frames are shared via PCIE

    OK or NOT OK??

    4. Live transmission of Yavta capture and each capture being

    sent via PCIE simultaneously.

           NOT OK

    Could you confirm if the 3rd usecase is OK or NOT OK?

    Regards,

    Nikhil

  • thanks Tanmay!

        Yes,You summarized it very well. it is ok for 3 too.    It was ok when we send some fixed image  by PCIE.

        I can supplement an idea that I can use a low resolution such as 640X480 (RGB format) from a UVC camera for real-time capture and PCIe transmission,It was work too.

  • hi Nikhil,can you have some new idea about this issue? 

  • I have checked dma channels ,the mipi-csi driver  used dma applied channel from 1 to 35  at fist (ti_csi2rx_init_dma()) but only used 1, The pcie applied dma channel 36 and used it, no  found  dma channel conflict .

  • Hi,

    I can use a low resolution such as 640X480 (RGB format) from a UVC camera for real-time capture

    Could you do the same experiment with a lower resolution input data that uses csi-rx? (As UVC does not use csi-rx)

    Could you also enable the trace logs or get timestamps from the csi-rx driver and the pcie. As this could be seen if the real time contraints are not met (i.e., if pcie is slow and csi-rx is fast, there are chances that the frames are dropped or corrupted)

    Could you profile both to confirm if this is happening in your case?

    Meanwhile could you share your kernal (boot) logs? Wanted to check if there are any resource errors here.

    Regards,

    Nikhil

  • thanks Nikhil!  I will try to  if we can used vga fromat by  imx219.  the kernel long  is below:

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

     [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd080]
    [ 0.000000] Linux version 5.10.120-g95b90aa828 (eyecloud@eyecloud-System-Product-Name) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #2 SMP PREEMPT Thu Mar 23 19:03:09 CST 2023
    [ 0.000000] Machine model: Texas Instruments J721E SK
    [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [ 0.000000] printk: bootconsole [ns16550a0] enabled
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a0000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a0100000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a1000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a1100000, size 15 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a1100000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a2000000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a2000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a2100000, size 31 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a2100000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a4000000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a4000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a4100000, size 31 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a4100000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a6000000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a6000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a6100000, size 15 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a6100000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a7000000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-r5f-dma-memory@a7000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a7100000, size 15 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-r5f-memory@a7100000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a8000000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-c66-dma-memory@a8000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a8100000, size 15 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-c66-memory@a8100000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a9000000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-c66-dma-memory@a9000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a9100000, size 15 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-c66-memory@a9100000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000aa000000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-c71-dma-memory@aa000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000aa100000, size 79 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-c71-memory@aa100000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000b2000000, size 96 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-dma-memory@b2000000, compatible id shared-dma-pool
    [ 0.000000] OF: reserved mem: initialized node vision_apps_shared-memories, compatible id dma-heap-carveout
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000d8000000, size 192 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-core-heap-memory-lo@d8000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000e4000000, size 8 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-r5f-virtual-eth-queues@e4000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000e4800000, size 24 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-r5f-virtual-eth-buffers@e4800000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x0000000880000000, size 624 MiB
    [ 0.000000] OF: reserved mem: initialized node vision-apps-core-heap-memory-hi@880000000, compatible id shared-dma-pool
    [ 0.000000] Zone ranges:
    [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff]
    [ 0.000000] DMA32 empty
    [ 0.000000] Normal [mem 0x0000000100000000-0x00000008ffffffff]
    [ 0.000000] Movable zone start for each node
    [ 0.000000] Early memory node ranges
    [ 0.000000] node 0: [mem 0x0000000080000000-0x000000009e7fffff]
    [ 0.000000] node 0: [mem 0x000000009e800000-0x00000000aeffffff]
    [ 0.000000] node 0: [mem 0x00000000af000000-0x00000000afffffff]
    [ 0.000000] node 0: [mem 0x00000000b0000000-0x00000000b7ffffff]
    [ 0.000000] node 0: [mem 0x00000000b8000000-0x00000000d7ffffff]
    [ 0.000000] node 0: [mem 0x00000000d8000000-0x00000000e5ffffff]
    [ 0.000000] node 0: [mem 0x00000000e6000000-0x00000000ffffffff]
    [ 0.000000] node 0: [mem 0x0000000880000000-0x00000008a6ffffff]
    [ 0.000000] node 0: [mem 0x00000008a7000000-0x00000008ffffffff]
    [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000008ffffffff]
    [ 0.000000] On node 0 totalpages: 1048576
    [ 0.000000] DMA zone: 8192 pages used for memmap
    [ 0.000000] DMA zone: 0 pages reserved
    [ 0.000000] DMA zone: 524288 pages, LIFO batch:63
    [ 0.000000] Normal zone: 8192 pages used for memmap
    [ 0.000000] Normal zone: 524288 pages, LIFO batch:63
    [ 0.000000] cma: Reserved 400 MiB at 0x00000000e7000000
    [ 0.000000] psci: probing for conduit method from DT.
    [ 0.000000] psci: PSCIv1.1 detected in firmware.
    [ 0.000000] psci: Using standard PSCI v0.2 function IDs
    [ 0.000000] psci: Trusted OS migration not required
    [ 0.000000] psci: SMC Calling Convention v1.2
    [ 0.000000] percpu: Embedded 22 pages/cpu s50008 r8192 d31912 u90112
    [ 0.000000] pcpu-alloc: s50008 r8192 d31912 u90112 alloc=22*4096
    [ 0.000000] pcpu-alloc: [0] 0 [0] 1
    [ 0.000000] Detected PIPT I-cache on CPU0
    [ 0.000000] CPU features: detected: GIC system register CPU interface
    [ 0.000000] CPU features: detected: EL2 vector hardening
    [ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
    [ 0.000000] CPU features: detected: Spectre-BHB
    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1032192
    [ 0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),1m(ospi.sysfw),256k(ospi.env.backup),57088k@8m(ospi.rootfs),256k(ospi.phypattern);47034000.hyperbus:512k(hbmc.tiboot3),2m(hbmc.tispl),4m(hbmc.u-boot),256k(hbmc.env),1m(hbmc.sysfw),-@8m(hbmc.rootfs) root=PARTUUID=14cb2911-02 rw rootfstype=ext4 rootwait
    [ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
    [ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
    [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [ 0.000000] software IO TLB: mapped [mem 0x000000009a800000-0x000000009e800000] (64MB)
    [ 0.000000] Memory: 1828016K/4194304K available (10880K kernel code, 1126K rwdata, 4188K rodata, 1792K init, 431K bss, 1956688K reserved, 409600K cma-reserved)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [ 0.000000] rcu: Preemptible hierarchical RCU implementation.
    [ 0.000000] rcu: RCU event tracing is enabled.
    [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2.
    [ 0.000000] Trampoline variant of Tasks RCU enabled.
    [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
    [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
    [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [ 0.000000] GICv3: 960 SPIs implemented
    [ 0.000000] GICv3: 0 Extended SPIs implemented
    [ 0.000000] GICv3: Distributor has no Range Selector support
    [ 0.000000] GICv3: 16 PPIs implemented
    [ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001900000
    [ 0.000000] ITS [mem 0x01820000-0x0182ffff]
    [ 0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
    [ 0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
    [ 0.000000] ITS@0x0000000001820000: allocated 524288 Devices @8a7800000 (flat, esz 8, psz 64K, shr 0)
    [ 0.000000] ITS: using cache flushing for cmd queue
    [ 0.000000] GICv3: using LPI property table @0x00000008a7030000
    [ 0.000000] GIC: using cache flushing for LPI property table
    [ 0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000008a7040000
    [ 0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [ 0.000001] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [ 0.008399] Console: colour dummy device 80x25
    [ 0.012961] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [ 0.023631] pid_max: default: 32768 minimum: 301
    [ 0.028386] LSM: Security Framework initializing
    [ 0.033143] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [ 0.040721] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [ 0.049512] rcu: Hierarchical SRCU implementation.
    [ 0.054563] Platform MSI: msi-controller@1820000 domain created
    [ 0.060804] PCI/MSI: /bus@100000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [ 0.070105] EFI services will not be available.
    [ 0.074837] smp: Bringing up secondary CPUs ...
    [ 0.088107] Detected PIPT I-cache on CPU1
    [ 0.088128] GICv3: CPU1: found redistributor 1 region 0:0x0000000001920000
    [ 0.088140] GICv3: CPU1: using allocated LPI pending table @0x00000008a7050000
    [ 0.088174] CPU1: Booted secondary processor 0x0000000001 [0x411fd080]
    [ 0.088224] smp: Brought up 1 node, 2 CPUs
    [ 0.117569] SMP: Total of 2 processors activated.
    [ 0.122373] CPU features: detected: 32-bit EL0 Support
    [ 0.127628] CPU features: detected: CRC32 instructions
    [ 0.141487] CPU: All CPU(s) started at EL2
    [ 0.145683] alternatives: patching kernel code
    [ 0.150710] devtmpfs: initialized
    [ 0.159675] KASLR disabled due to lack of seed
    [ 0.164319] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [ 0.174281] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
    [ 0.186380] pinctrl core: initialized pinctrl subsystem
    [ 0.192038] DMI not present or invalid.
    [ 0.196279] NET: Registered protocol family 16
    [ 0.201510] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
    [ 0.208825] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [ 0.216884] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [ 0.225184] thermal_sys: Registered thermal governor 'step_wise'
    [ 0.225187] thermal_sys: Registered thermal governor 'power_allocator'
    [ 0.231772] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [ 0.245406] ASID allocator initialised with 65536 entries
    [ 0.267635] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
    [ 0.274492] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
    [ 0.281342] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
    [ 0.288188] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
    [ 0.295671] cryptd: max_cpu_qlen set to 1000
    [ 0.301666] k3-chipinfo 43000014.chipid: Family:J721E rev:SR2.0 JTAGID[0x1bb6402f] Detected
    [ 0.310482] vsys_3v3: supplied by vusb-main5v0
    [ 0.315490] iommu: Default domain type: Translated
    [ 0.320670] SCSI subsystem initialized
    [ 0.324750] mc: Linux media interface: v0.10
    [ 0.329124] videodev: Linux video capture interface: v2.00
    [ 0.334752] pps_core: LinuxPPS API ver. 1 registered
    [ 0.339822] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.349159] PTP clock support registered
    [ 0.353182] EDAC MC: Ver: 3.0.0
    [ 0.356939] FPGA manager framework
    [ 0.360459] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.367086] clocksource: Switched to clocksource arch_sys_counter
    [ 0.373411] VFS: Disk quotas dquot_6.6.0
    [ 0.377450] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [ 0.387119] Carveout Heap: Exported 512 MiB at 0x00000000b8000000
    [ 0.393410] NET: Registered protocol family 2
    [ 0.398155] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
    [ 0.406760] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
    [ 0.415517] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
    [ 0.423719] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
    [ 0.431539] TCP: Hash tables configured (established 32768 bind 32768)
    [ 0.438333] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
    [ 0.445223] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
    [ 0.452627] NET: Registered protocol family 1
    [ 0.457359] RPC: Registered named UNIX socket transport module.
    [ 0.463416] RPC: Registered udp transport module.
    [ 0.468232] RPC: Registered tcp transport module.
    [ 0.473037] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.479621] PCI: CLS 0 bytes, default 64
    [ 0.483987] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
    [ 0.494347] Initialise system trusted keyrings
    [ 0.498978] workingset: timestamp_bits=46 max_order=20 bucket_order=0
    [ 0.507148] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.513377] NFS: Registering the id_resolver key type
    [ 0.518567] Key type id_resolver registered
    [ 0.522840] Key type id_legacy registered
    [ 0.526962] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [ 0.533810] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [ 0.541449] 9p: Installing v9fs 9p2000 file system support
    [ 0.566237] Key type asymmetric registered
    [ 0.570423] Asymmetric key parser 'x509' registered
    [ 0.575422] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
    [ 0.582981] io scheduler mq-deadline registered
    [ 0.587606] io scheduler kyber registered
    [ 0.593140] pinctrl-single 4301c000.pinctrl: 94 pins, size 376
    [ 0.599330] pinctrl-single 11c000.pinctrl: 173 pins, size 692
    [ 0.607940] k3-ringacc 2b800000.ringacc: Failed to get MSI domain
    [ 0.614214] k3-ringacc 3c000000.ringacc: Failed to get MSI domain
    [ 0.622050] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [ 0.630227] arm-smmu-v3 36600000.iommu: ias 48-bit, oas 48-bit (features 0x00001faf)
    [ 0.638495] arm-smmu-v3 36600000.iommu: allocated 65536 entries for cmdq
    [ 0.645577] arm-smmu-v3 36600000.iommu: allocated 32768 entries for evtq
    [ 0.654143] arm-smmu-v3 36600000.iommu: msi_domain absent - falling back to wired irqs
    [ 0.667294] brd: module loaded
    [ 0.673737] loop: module loaded
    [ 0.677311] sysfs: cannot create duplicate filename '/devices/platform/dma_buf_phys'
    [ 0.685238] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.10.120-g95b90aa828 #2
    [ 0.692526] Hardware name: Texas Instruments J721E SK (DT)
    [ 0.698126] Call trace:
    [ 0.700631] dump_backtrace+0x0/0x1a0
    [ 0.704367] show_stack+0x18/0x68
    [ 0.707751] dump_stack+0xd0/0x12c
    [ 0.711221] sysfs_warn_dup+0x60/0x80
    [ 0.714955] sysfs_create_dir_ns+0xe0/0xf8
    [ 0.719137] kobject_add_internal+0x98/0x288
    [ 0.723493] kobject_add+0x94/0x100
    [ 0.727052] device_add+0xe0/0x740
    [ 0.730523] platform_device_add+0x100/0x238
    [ 0.734881] platform_device_register_full+0xcc/0x150
    [ 0.740042] dma_buf_phys_init+0x6c/0x9c
    [ 0.744044] do_one_initcall+0x54/0x1b8
    [ 0.747960] kernel_init_freeable+0x220/0x2a0
    [ 0.752408] kernel_init+0x14/0x114
    [ 0.755965] ret_from_fork+0x10/0x34
    [ 0.759626] kobject_add_internal failed for dma_buf_phys with -EEXIST, don't try to register things with the same name in the same directory.
    [ 0.772855] megasas: 07.714.04.00-rc1
    [ 0.778348] tun: Universal TUN/TAP device driver, 1.6
    [ 0.783788] igbvf: Intel(R) Gigabit Virtual Function Network Driver
    [ 0.790194] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
    [ 0.796263] sky2: driver version 1.30
    [ 0.800593] VFIO - User Level meta-driver version: 0.3
    [ 0.806352] i2c /dev entries driver
    [ 0.810639] sdhci: Secure Digital Host Controller Interface driver
    [ 0.816959] sdhci: Copyright(c) Pierre Ossman
    [ 0.821588] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 0.827950] ledtrig-cpu: registered to indicate activity on CPUs
    [ 0.834269] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [ 0.841473] optee: probing for conduit method.
    [ 0.846033] optee: revision 3.17 (15a746d2)
    [ 0.846173] optee: dynamic shared memory is enabled
    [ 0.860974] optee: initialized driver
    [ 0.866005] NET: Registered protocol family 17
    [ 0.870624] 9pnet: Installing 9P2000 support
    [ 0.875017] Key type dns_resolver registered
    [ 0.879468] Loading compiled-in X.509 certificates
    [ 0.889816] k3-ringacc 2b800000.ringacc: Failed to get MSI domain
    [ 0.896155] k3-ringacc 3c000000.ringacc: Failed to get MSI domain
    [ 0.904618] ti-sci 44083000.dmsc: ABI: 3.1 (firmware rev 0x0008 '8.4.1--v08.04.01 (Jolly Jellyfi')
    [ 0.963971] omap_i2c 40b00000.i2c: bus 0 rev0.12 at 100 kHz
    [ 0.970074] omap_i2c 40b10000.i2c: bus 1 rev0.12 at 100 kHz
    [ 0.976135] omap_i2c 42120000.i2c: bus 2 rev0.12 at 100 kHz
    [ 1.003246] i2c i2c-3: Added multiplexed i2c bus 4
    [ 1.008225] i2c i2c-3: Added multiplexed i2c bus 5
    [ 1.013123] pca954x 3-0071: registered 2 multiplexed busses for I2C switch pca9543
    [ 1.020858] zl---------------------------------------i2ci2c
    [ 1.026572] omap_i2c 2000000.i2c: bus 3 rev0.12 at 400 kHz
    [ 1.032625] omap_i2c 2010000.i2c: bus 6 rev0.12 at 100 kHz
    [ 1.059538] i2c i2c-7: Added multiplexed i2c bus 8
    [ 1.064516] i2c i2c-7: Added multiplexed i2c bus 9
    [ 1.069414] pca954x 7-0070: registered 2 multiplexed busses for I2C switch pca9543
    [ 1.077149] zl---------------------------------------i2ci2c
    [ 1.082879] omap_i2c 2030000.i2c: bus 7 rev0.12 at 400 kHz
    [ 1.088938] omap_i2c 2050000.i2c: bus 10 rev0.12 at 400 kHz
    [ 1.095471] ti-sci-intr bus@100000:bus@28380000:interrupt-controller2: Interrupt Router 137 domain created
    [ 1.105451] ti-sci-intr bus@100000:interrupt-controller0: Interrupt Router 131 domain created
    [ 1.114261] ti-sci-intr bus@100000:main-navss:interrupt-controller1: Interrupt Router 213 domain created
    [ 1.124138] ti-sci-inta 33d00000.interrupt-controller: Interrupt Aggregator domain 209 created
    [ 1.147693] j721e-pcie 2900000.pcie: host bridge /bus@100000/pcie@2900000 ranges:
    [ 1.155380] j721e-pcie 2900000.pcie: IO 0x0010001000..0x0010010fff -> 0x0010001000
    [ 1.163662] j721e-pcie 2900000.pcie: MEM 0x0010011000..0x0017ffffff -> 0x0010011000
    [ 1.171949] j721e-pcie 2900000.pcie: IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [ 1.182967] j721e-pcie 2910000.pcie-ep: success init phy times 0
    [ 1.190091] k3-ringacc 2b800000.ringacc: Ring Accelerator probed rings:286, gp-rings[96,20] sci-dev-id:235
    [ 1.199973] k3-ringacc 2b800000.ringacc: dma-ring-reset-quirk: disabled
    [ 1.206732] k3-ringacc 2b800000.ringacc: RA Proxy rev. 66346100, num_proxies:64
    [ 1.215783] k3-ringacc 3c000000.ringacc: Ring Accelerator probed rings:1024, gp-rings[440,150] sci-dev-id:211
    [ 1.225926] k3-ringacc 3c000000.ringacc: dma-ring-reset-quirk: disabled
    [ 1.232684] k3-ringacc 3c000000.ringacc: RA Proxy rev. 66346100, num_proxies:64
    [ 1.240659] 40a00000.serial: ttyS1 at MMIO 0x40a00000 (irq = 15, base_baud = 6000000) is a 8250
    [ 1.250109] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 27, base_baud = 3000000) is a 8250
    [ 1.258857] printk: console [ttyS2] enabled
    [ 1.267294] printk: bootconsole [ns16550a0] disabled
    [ 1.277791] 2810000.serial: ttyS3 at MMIO 0x2810000 (irq = 28, base_baud = 3000000) is a 8250
    [ 1.286727] 2840000.serial: ttyS6 at MMIO 0x2840000 (irq = 29, base_baud = 3000000) is a 8250
    [ 1.298322] davinci_mdio 46000f00.mdio: Configuring MDIO in manual mode
    [ 1.343090] davinci_mdio 46000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [ 1.351813] davinci_mdio 46000f00.mdio: phy[0]: device 46000f00.mdio:00, driver TI DP83867
    [ 1.360108] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00101, cpsw version 0x6BA80100 Ports: 2 quirks:00000000
    [ 1.373844] davinci_mdio c000f00.mdio: Configuring MDIO in manual mode
    [ 1.419089] davinci_mdio c000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [ 1.426642] davinci_mdio c000f00.mdio: no live phy, scanning all
    [ 1.450470] davinci_mdio c000f00.mdio: phy[0]: device c000f00.mdio:00, driver unknown
    [ 1.458296] davinci_mdio c000f00.mdio: phy[1]: device c000f00.mdio:01, driver unknown
    [ 1.466144] davinci_mdio c000f00.mdio: phy[2]: device c000f00.mdio:02, driver unknown
    [ 1.473956] davinci_mdio c000f00.mdio: phy[3]: device c000f00.mdio:03, driver unknown
    [ 1.481769] davinci_mdio c000f00.mdio: phy[4]: device c000f00.mdio:04, driver unknown
    [ 1.489580] davinci_mdio c000f00.mdio: phy[5]: device c000f00.mdio:05, driver unknown
    [ 1.497392] davinci_mdio c000f00.mdio: phy[6]: device c000f00.mdio:06, driver unknown
    [ 1.505203] davinci_mdio c000f00.mdio: phy[7]: device c000f00.mdio:07, driver unknown
    [ 1.513013] davinci_mdio c000f00.mdio: phy[8]: device c000f00.mdio:08, driver unknown
    [ 1.520822] davinci_mdio c000f00.mdio: phy[9]: device c000f00.mdio:09, driver unknown
    [ 1.528633] davinci_mdio c000f00.mdio: phy[10]: device c000f00.mdio:0a, driver unknown
    [ 1.536530] davinci_mdio c000f00.mdio: phy[11]: device c000f00.mdio:0b, driver unknown
    [ 1.544429] davinci_mdio c000f00.mdio: phy[12]: device c000f00.mdio:0c, driver unknown
    [ 1.552326] davinci_mdio c000f00.mdio: phy[13]: device c000f00.mdio:0d, driver unknown
    [ 1.560225] davinci_mdio c000f00.mdio: phy[14]: device c000f00.mdio:0e, driver unknown
    [ 1.568126] davinci_mdio c000f00.mdio: phy[15]: device c000f00.mdio:0f, driver unknown
    [ 1.576059] davinci_mdio c000f00.mdio: phy[16]: device c000f00.mdio:10, driver unknown
    [ 1.583957] davinci_mdio c000f00.mdio: phy[17]: device c000f00.mdio:11, driver unknown
    [ 1.591854] davinci_mdio c000f00.mdio: phy[18]: device c000f00.mdio:12, driver unknown
    [ 1.599750] davinci_mdio c000f00.mdio: phy[19]: device c000f00.mdio:13, driver unknown
    [ 1.607649] davinci_mdio c000f00.mdio: phy[20]: device c000f00.mdio:14, driver unknown
    [ 1.615546] davinci_mdio c000f00.mdio: phy[21]: device c000f00.mdio:15, driver unknown
    [ 1.623442] davinci_mdio c000f00.mdio: phy[22]: device c000f00.mdio:16, driver unknown
    [ 1.631338] davinci_mdio c000f00.mdio: phy[23]: device c000f00.mdio:17, driver unknown
    [ 1.639235] davinci_mdio c000f00.mdio: phy[24]: device c000f00.mdio:18, driver unknown
    [ 1.647131] davinci_mdio c000f00.mdio: phy[25]: device c000f00.mdio:19, driver unknown
    [ 1.655029] davinci_mdio c000f00.mdio: phy[26]: device c000f00.mdio:1a, driver unknown
    [ 1.662925] davinci_mdio c000f00.mdio: phy[27]: device c000f00.mdio:1b, driver unknown
    [ 1.670825] davinci_mdio c000f00.mdio: phy[28]: device c000f00.mdio:1c, driver unknown
    [ 1.678723] davinci_mdio c000f00.mdio: phy[29]: device c000f00.mdio:1d, driver unknown
    [ 1.686624] davinci_mdio c000f00.mdio: phy[30]: device c000f00.mdio:1e, driver unknown
    [ 1.694526] davinci_mdio c000f00.mdio: phy[31]: device c000f00.mdio:1f, driver unknown
    [ 1.702486] am65-cpsw-nuss c000000.ethernet: initializing am65 cpsw nuss version 0x6BA01901, cpsw version 0x6BA80101 Ports: 9 quirks:00000000
    [ 1.717094] am65-cpts 310d0000.cpts: CPTS ver 0x4e8a010a, freq:200000000, add_val:4 pps:0
    [ 1.832503] vdd_mmc1: supplied by vsys_3v3
    [ 1.837404] omap-mailbox 31f80000.mailbox: omap mailbox rev 0x66fc7100
    [ 1.844275] omap-mailbox 31f81000.mailbox: omap mailbox rev 0x66fc7100
    [ 1.851114] omap-mailbox 31f82000.mailbox: omap mailbox rev 0x66fc7100
    [ 1.857949] omap-mailbox 31f83000.mailbox: omap mailbox rev 0x66fc7100
    [ 1.864760] omap-mailbox 31f84000.mailbox: omap mailbox rev 0x66fc7100
    [ 1.874958] j721e-pcie 2900000.pcie: host bridge /bus@100000/pcie@2900000 ranges:
    [ 1.882451] j721e-pcie 2900000.pcie: IO 0x0010001000..0x0010010fff -> 0x0010001000
    [ 1.890530] j721e-pcie 2900000.pcie: MEM 0x0010011000..0x0017ffffff -> 0x0010011000
    [ 1.898609] j721e-pcie 2900000.pcie: IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
    [ 2.007407] cdns-sierra-phy 5000000.serdes: Timeout waiting for PHY status ready
    [ 2.014793] phy phy-5000000.serdes.9: phy poweron failed --> -110
    [ 2.020876] j721e-pcie 2900000.pcie: Failed to init phy
    [ 2.026126] j721e-pcie: probe of 2900000.pcie failed with error -110
    [ 2.033458] ti-udma 285c0000.dma-controller: Channels: 26 (tchan: 13, rchan: 13, gp-rflow: 8)
    [ 2.044141] ti-udma 31150000.dma-controller: Channels: 122 (tchan: 61, rchan: 61, gp-rflow: 16)
    [ 2.059697] spi-nor spi0.0: s28hs512t (65536 Kbytes)
    [ 2.064670] 8 cmdlinepart partitions found on MTD device 47040000.spi.0
    [ 2.071271] Creating 8 MTD partitions on "47040000.spi.0":
    [ 2.076743] 0x000000000000-0x000000080000 : "ospi.tiboot3"
    [ 2.082729] 0x000000080000-0x000000280000 : "ospi.tispl"
    [ 2.088432] 0x000000280000-0x000000680000 : "ospi.u-boot"
    [ 2.094208] 0x000000680000-0x0000006c0000 : "ospi.env"
    [ 2.099721] 0x0000006c0000-0x0000007c0000 : "ospi.sysfw"
    [ 2.105414] 0x0000007c0000-0x000000800000 : "ospi.env.backup"
    [ 2.111534] 0x000000800000-0x000003fc0000 : "ospi.rootfs"
    [ 2.117311] 0x000003fc0000-0x000004000000 : "ospi.phypattern"
    [ 2.127831] davinci_mdio 46000f00.mdio: Configuring MDIO in manual mode
    [ 2.171131] davinci_mdio 46000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [ 2.179833] davinci_mdio 46000f00.mdio: phy[0]: device 46000f00.mdio:00, driver TI DP83867
    [ 2.188127] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00101, cpsw version 0x6BA80100 Ports: 2 quirks:00000000
    [ 2.202180] am65-cpsw-nuss 46000000.ethernet: set new flow-id-base 48
    [ 2.209163] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 1.4
    [ 2.216373] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64
    [ 2.222730] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010a, freq:500000000, add_val:1 pps:0
    [ 2.233188] davinci_mdio c000f00.mdio: Configuring MDIO in manual mode
    [ 2.279091] davinci_mdio c000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [ 2.286647] davinci_mdio c000f00.mdio: no live phy, scanning all
    [ 2.310514] davinci_mdio c000f00.mdio: phy[0]: device c000f00.mdio:00, driver unknown
    [ 2.318343] davinci_mdio c000f00.mdio: phy[1]: device c000f00.mdio:01, driver unknown
    [ 2.326179] davinci_mdio c000f00.mdio: phy[2]: device c000f00.mdio:02, driver unknown
    [ 2.333991] davinci_mdio c000f00.mdio: phy[3]: device c000f00.mdio:03, driver unknown
    [ 2.341805] davinci_mdio c000f00.mdio: phy[4]: device c000f00.mdio:04, driver unknown
    [ 2.349617] davinci_mdio c000f00.mdio: phy[5]: device c000f00.mdio:05, driver unknown
    [ 2.357429] davinci_mdio c000f00.mdio: phy[6]: device c000f00.mdio:06, driver unknown
    [ 2.365240] davinci_mdio c000f00.mdio: phy[7]: device c000f00.mdio:07, driver unknown
    [ 2.373053] davinci_mdio c000f00.mdio: phy[8]: device c000f00.mdio:08, driver unknown
    [ 2.380863] davinci_mdio c000f00.mdio: phy[9]: device c000f00.mdio:09, driver unknown
    [ 2.388674] davinci_mdio c000f00.mdio: phy[10]: device c000f00.mdio:0a, driver unknown
    [ 2.396572] davinci_mdio c000f00.mdio: phy[11]: device c000f00.mdio:0b, driver unknown
    [ 2.404472] davinci_mdio c000f00.mdio: phy[12]: device c000f00.mdio:0c, driver unknown
    [ 2.412370] davinci_mdio c000f00.mdio: phy[13]: device c000f00.mdio:0d, driver unknown
    [ 2.420270] davinci_mdio c000f00.mdio: phy[14]: device c000f00.mdio:0e, driver unknown
    [ 2.428169] davinci_mdio c000f00.mdio: phy[15]: device c000f00.mdio:0f, driver unknown
    [ 2.436071] davinci_mdio c000f00.mdio: phy[16]: device c000f00.mdio:10, driver unknown
    [ 2.443987] davinci_mdio c000f00.mdio: phy[17]: device c000f00.mdio:11, driver unknown
    [ 2.451886] davinci_mdio c000f00.mdio: phy[18]: device c000f00.mdio:12, driver unknown
    [ 2.459784] davinci_mdio c000f00.mdio: phy[19]: device c000f00.mdio:13, driver unknown
    [ 2.467683] davinci_mdio c000f00.mdio: phy[20]: device c000f00.mdio:14, driver unknown
    [ 2.475581] davinci_mdio c000f00.mdio: phy[21]: device c000f00.mdio:15, driver unknown
    [ 2.483479] davinci_mdio c000f00.mdio: phy[22]: device c000f00.mdio:16, driver unknown
    [ 2.491377] davinci_mdio c000f00.mdio: phy[23]: device c000f00.mdio:17, driver unknown
    [ 2.499274] davinci_mdio c000f00.mdio: phy[24]: device c000f00.mdio:18, driver unknown
    [ 2.507171] davinci_mdio c000f00.mdio: phy[25]: device c000f00.mdio:19, driver unknown
    [ 2.515068] davinci_mdio c000f00.mdio: phy[26]: device c000f00.mdio:1a, driver unknown
    [ 2.522967] davinci_mdio c000f00.mdio: phy[27]: device c000f00.mdio:1b, driver unknown
    [ 2.530866] davinci_mdio c000f00.mdio: phy[28]: device c000f00.mdio:1c, driver unknown
    [ 2.538764] davinci_mdio c000f00.mdio: phy[29]: device c000f00.mdio:1d, driver unknown
    [ 2.546662] davinci_mdio c000f00.mdio: phy[30]: device c000f00.mdio:1e, driver unknown
    [ 2.554559] davinci_mdio c000f00.mdio: phy[31]: device c000f00.mdio:1f, driver unknown
    [ 2.562527] am65-cpsw-nuss c000000.ethernet: initializing am65 cpsw nuss version 0x6BA01901, cpsw version 0x6BA80101 Ports: 9 quirks:00000000
    [ 2.576246] am65-cpsw-nuss c000000.ethernet: set new flow-id-base 140
    [ 2.583221] am65-cpsw-nuss c000000.ethernet: /bus@100000/ethernet@c000000/ethernet-ports/port@1 error retrieving port phy: -19
    [ 2.597563] mmc0: CQHCI version 5.10
    [ 2.599815] debugfs: Directory 'pd:27' with parent 'pm_genpd' already present!
    [ 2.608438] debugfs: Directory 'pd:26' with parent 'pm_genpd' already present!
    [ 2.616703] debugfs: Directory 'pd:242' with parent 'pm_genpd' already present!
    [ 2.624024] debugfs: Directory 'pd:241' with parent 'pm_genpd' already present!
    [ 2.631373] debugfs: Directory 'pd:240' with parent 'pm_genpd' already present!
    [ 2.638686] debugfs: Directory 'pd:239' with parent 'pm_genpd' already present!
    [ 2.658947] ALSA device list:
    [ 2.661917] No soundcards found.
    [ 3.661795] mmc0: SDHCI controller on 4fb0000.mmc [4fb0000.mmc] using ADMA 64-bit
    [ 3.669696] Waiting for root device PARTUUID=14cb2911-02...
    [ 3.727491] mmc0: new ultra high speed DDR50 SDHC card at address aaaa
    [ 3.734363] mmcblk0: mmc0:aaaa SL32G 29.7 GiB
    [ 3.742991] mmcblk0: p1 p2
    [ 3.765422] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [ 3.773544] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [ 3.786987] devtmpfs: mounted
    [ 3.790829] Freeing unused kernel memory: 1792K
    [ 3.795477] Run /sbin/init as init process
    [ 3.799564] with arguments:
    [ 3.799566] /sbin/init
    [ 3.799567] with environment:
    [ 3.799569] HOME=/
    [ 3.799571] TERM=linux
    [ 3.990334] systemd[1]: System time before build time, advancing clock.
    [ 4.043660] NET: Registered protocol family 10
    [ 4.048566] Segment Routing with IPv6
    [ 4.079444] systemd[1]: systemd 244.5+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
    [ 4.101171] systemd[1]: Detected architecture arm64.
    [ 4.141697] systemd[1]: Set hostname to <tda4vm-sk>.
    [ 4.343856] systemd[1]: /lib/systemd/system/docker.socket:6: ListenStream= references a path below legacy directory /var/run/, updating /var/run/docker.sock \xe2\x86\x92 /run/docker.sock; please update the unit file accordingly.
    [ 4.414033] random: systemd: uninitialized urandom read (16 bytes read)
    [ 4.420786] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
    [ 4.433124] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
    [ 4.443157] systemd[1]: Created slice system-getty.slice.
    [ 4.463172] random: systemd: uninitialized urandom read (16 bytes read)
    [ 4.470512] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [ 4.491165] random: systemd: uninitialized urandom read (16 bytes read)
    [ 4.498373] systemd[1]: Created slice User and Session Slice.
    [ 4.519296] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [ 4.543214] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [ 4.567203] systemd[1]: Reached target Paths.
    [ 4.583153] systemd[1]: Reached target Remote File Systems.
    [ 4.603143] systemd[1]: Reached target Slices.
    [ 4.619145] systemd[1]: Reached target Swap.
    [ 4.643275] systemd[1]: Listening on RPCbind Server Activation Socket.
    [ 4.667184] systemd[1]: Reached target RPC Port Mapper.
    [ 4.691478] systemd[1]: Listening on Process Core Dump Socket.
    [ 4.711300] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [ 4.744946] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
    [ 4.753325] systemd[1]: Listening on Journal Socket (/dev/log).
    [ 4.775403] systemd[1]: Listening on Journal Socket.
    [ 4.797340] systemd[1]: Listening on Network Service Netlink Socket.
    [ 4.819412] systemd[1]: Listening on udev Control Socket.
    [ 4.839282] systemd[1]: Listening on udev Kernel Socket.
    [ 4.861499] systemd[1]: Mounting Huge Pages File System...
    [ 4.881356] systemd[1]: Mounting POSIX Message Queue File System...
    [ 4.905365] systemd[1]: Mounting Kernel Debug File System...
    [ 4.931876] systemd[1]: Mounting Temporary Directory (/tmp)...
    [ 4.949552] systemd[1]: Starting Create list of static device nodes for the current kernel...
    [ 4.977304] systemd[1]: Starting Start psplash boot splash screen...
    [ 5.003545] systemd[1]: Starting RPC Bind...
    [ 5.019296] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
    [ 5.031152] systemd[1]: Starting Journal Service...
    [ 5.055696] systemd[1]: Starting Load Kernel Modules...
    [ 5.072861] systemd[1]: Starting Remount Root and Kernel File Systems...
    [ 5.088288] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [ 5.093909] cryptodev: loading out-of-tree module taints kernel.
    [ 5.100912] cryptodev: driver 1.10 loaded.
    [ 5.101695] systemd[1]: Starting udev Coldplug all Devices...
    [ 5.126089] systemd[1]: Started RPC Bind.
    [ 5.139534] systemd[1]: Started Journal Service.
    [ 5.361427] systemd-journald[227]: Received client request to flush runtime journal.
    [ 5.471729] urandom_read_iter: 47 callbacks suppressed
    [ 5.471733] random: systemd: uninitialized urandom read (16 bytes read)
    [ 5.499211] random: systemd: uninitialized urandom read (16 bytes read)
    [ 5.511566] random: systemd-journal: uninitialized urandom read (16 bytes read)
    [ 5.951632] CAN device driver interface
    [ 6.278903] -----------------v4l2_subdev_set_routing_with_fmt--------------------------
    [ 6.351853] k3-dsp-rproc 4d80800000.dsp: assigned reserved memory node vision-apps-c66-dma-memory@a9000000
    [ 6.392298] img_enc 4200000.video-encoder: vxe_enc_probe: using heap 1 for internal alloc
    [ 6.431353] pvrsrvkm 4e20000000.gpu: More than one power domain for this GPU, gpu driver manages power domains
    [ 6.452904] PVR_K: 254: Read BVNC 22.104.208.318 from HW device registers
    [ 6.464783] [drm] Initialized tidss 1.0.0 20180215 for 4a00000.dss on minor 1
    [ 6.471954] tidss 4a00000.dss: [drm] Cannot find any crtc or sizes
    [ 6.485125] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:1
    [ 6.506139] img_enc 4200000.video-encoder: encoder registered as /dev/video0
    [ 6.524796] img_dec 4300000.video-decoder: decoder registered as /dev/video1
    [ 6.525299] k3-dsp-rproc 4d80800000.dsp: configured DSP for IPC-only mode
    [ 6.558586] PVR_K: 254: RGX Device registered with BVNC 22.104.208.318
    [ 6.565752] [drm] Initialized pvr 1.15.6133109 20170530 for 4e20000000.gpu on minor 0
    [ 6.588382] remoteproc remoteproc0: 4d80800000.dsp is available
    [ 6.601867] remoteproc remoteproc0: attaching to 4d80800000.dsp
    [ 6.630981] k3-dsp-rproc 4d80800000.dsp: DSP initialized in IPC-only mode
    [ 6.671988] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:5
    [ 6.683945] remoteproc0#vdev0buffer: assigned reserved memory node vision-apps-c66-dma-memory@a9000000
    [ 6.759843] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:6
    [ 6.794868] virtio_rpmsg_bus virtio0: rpmsg host is online
    [ 6.800455] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xd
    [ 6.834009] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:7
    [ 6.859471] remoteproc0#vdev0buffer: registered virtio0 (type 7)
    [ 6.889943] urandom_read_iter: 25 callbacks suppressed
    [ 6.889947] random: systemd: uninitialized urandom read (16 bytes read)
    [ 6.904920] random: systemd: uninitialized urandom read (16 bytes read)
    [ 6.974534] platform 41000000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
    [ 7.009564] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:8
    [ 7.045282] remoteproc remoteproc0: remote processor 4d80800000.dsp is now attached
    [ 7.126213] k3-dsp-rproc 4d81800000.dsp: assigned reserved memory node vision-apps-c66-dma-memory@a8000000
    [ 7.145092] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:9
    [ 7.147024] platform 41000000.r5f: configured R5F for IPC-only mode
    [ 7.203136] k3-dsp-rproc 4d81800000.dsp: configured DSP for IPC-only mode
    [ 7.210296] platform 41000000.r5f: assigned reserved memory node vision-apps-r5f-dma-memory@a0000000
    [ 7.221076] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:10
    [ 7.238962] random: systemd: uninitialized urandom read (16 bytes read)
    [ 7.255274] remoteproc remoteproc2: 4d81800000.dsp is available
    [ 7.270429] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:11
    [ 7.276129] remoteproc remoteproc1: 41000000.r5f is available
    [ 7.313983] remoteproc remoteproc2: attaching to 4d81800000.dsp
    [ 7.324633] remoteproc remoteproc1: attaching to 41000000.r5f
    [ 7.331681] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:12
    [ 7.363587] platform 41000000.r5f: R5F core initialized in IPC-only mode
    [ 7.366465] k3-dsp-rproc 4d81800000.dsp: DSP initialized in IPC-only mode
    [ 7.379039] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:13
    [ 7.427690] remoteproc1#vdev0buffer: assigned reserved memory node vision-apps-r5f-dma-memory@a0000000
    [ 7.447720] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:14
    [ 7.506216] virtio_rpmsg_bus virtio1: rpmsg host is online
    [ 7.514579] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:15
    [ 7.522047] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.ping-pong addr 0xd
    [ 7.532309] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
    [ 7.555214] remoteproc2#vdev0buffer: assigned reserved memory node vision-apps-c66-dma-memory@a8000000
    [ 7.559828] remoteproc1#vdev0buffer: registered virtio1 (type 7)
    [ 7.564633] random: crng init done
    [ 7.574105] random: 5 urandom warning(s) missed due to ratelimiting
    [ 7.606003] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:16
    [ 7.632338] virtio_rpmsg_bus virtio2: rpmsg host is online
    [ 7.639948] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0xd
    [ 7.657274] remoteproc2#vdev0buffer: registered virtio2 (type 7)
    [ 7.661296] remoteproc remoteproc1: remote processor 41000000.r5f is now attached
    [ 7.666386] remoteproc remoteproc2: remote processor 4d81800000.dsp is now attached
    [ 7.670924] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:17
    [ 7.681668] k3-dsp-rproc 64800000.dsp: assigned reserved memory node vision-apps-c71-dma-memory@aa000000
    [ 7.714182] platform 5c00000.r5f: configured R5F for IPC-only mode
    [ 7.721682] platform 5c00000.r5f: assigned reserved memory node vision-apps-r5f-dma-memory@a2000000
    [ 7.721921] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:18
    [ 7.739384] k3-dsp-rproc 64800000.dsp: configured DSP for IPC-only mode
    [ 7.744340] remoteproc remoteproc4: 5c00000.r5f is available
    [ 7.748284] remoteproc remoteproc3: 64800000.dsp is available
    [ 7.756215] remoteproc remoteproc4: attaching to 5c00000.r5f
    [ 7.763879] j721e-csi2rx 4500000.ticsi2rx: duke ti_csi2rx_init_dma channel id:19
    [ 7.767216] platform 5c00000.r5f: R5F core initialized in IPC-only mode
    [ 7.780332] remoteproc remoteproc3: attaching to 64800000.dsp
    [ 7.785627] remoteproc4#vdev0buffer: assigned reserved memory node vision-apps-r5f-dma-memory@a2000000
    [ 7.788147] -----------------v4l2_subdev_set_routing_with_fmt--------------------------
    [ 7.811828] virtio_rpmsg_bus virtio3: rpmsg host is online
    [ 7.814838] remoteproc remoteproc3: unsupported resource 65538
    [ 7.820102] remoteproc4#vdev0buffer: registered virtio3 (type 7)
    [ 7.826759] virtio_rpmsg_bus virtio3: creating channel rpmsg_chrdev addr 0xd
    [ 7.832721] remoteproc remoteproc4: remote processor 5c00000.r5f is now attached
    [ 7.845737] k3-dsp-rproc 64800000.dsp: DSP initialized in IPC-only mode
    [ 7.856100] platform 5d00000.r5f: configured R5F for IPC-only mode
    [ 7.863277] platform 5d00000.r5f: assigned reserved memory node vision-apps-r5f-dma-memory@a4000000
    [ 7.872368] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:20
    [ 7.881538] remoteproc3#vdev0buffer: assigned reserved memory node vision-apps-c71-dma-memory@aa000000
    [ 7.885970] remoteproc remoteproc5: 5d00000.r5f is available
    [ 7.899446] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:21
    [ 7.912294] virtio_rpmsg_bus virtio4: rpmsg host is online
    [ 7.913849] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:22
    [ 7.918152] remoteproc remoteproc5: attaching to 5d00000.r5f
    [ 7.925238] virtio_rpmsg_bus virtio4: creating channel rpmsg_chrdev addr 0xd
    [ 7.931261] remoteproc3#vdev0buffer: registered virtio4 (type 7)
    [ 7.945085] remoteproc remoteproc3: remote processor 64800000.dsp is now attached
    [ 7.947900] platform 5d00000.r5f: R5F core initialized in IPC-only mode
    [ 7.971402] remoteproc5#vdev0buffer: assigned reserved memory node vision-apps-r5f-dma-memory@a4000000
    [ 7.983557] virtio_rpmsg_bus virtio5: rpmsg host is online
    [ 7.987109] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:23
    [ 7.989355] remoteproc5#vdev0buffer: registered virtio5 (type 7)
    [ 8.003079] virtio_rpmsg_bus virtio3: creating channel rpmsg_chrdev addr 0x15
    [ 8.010392] virtio_rpmsg_bus virtio5: creating channel rpmsg_chrdev addr 0xd
    [ 8.018010] virtio_rpmsg_bus virtio5: creating channel rpmsg_chrdev addr 0x15
    [ 8.031205] virtio_rpmsg_bus virtio5: creating channel ti.ipc4.ping-pong addr 0xe
    [ 8.041918] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:24
    [ 8.049558] virtio_rpmsg_bus virtio4: creating channel rpmsg_chrdev addr 0x15
    [ 8.056915] virtio_rpmsg_bus virtio4: creating channel ti.ipc4.ping-pong addr 0xe
    [ 8.064505] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0x15
    [ 8.076851] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xe
    [ 8.084460] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0x15
    [ 8.096116] virtio_rpmsg_bus virtio2: creating channel ti.ipc4.ping-pong addr 0xe
    [ 8.103811] virtio_rpmsg_bus virtio3: creating channel ti.ipc4.ping-pong addr 0xe
    [ 8.135594] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:25
    [ 8.144936] remoteproc remoteproc5: remote processor 5d00000.r5f is now attached
    [ 8.156938] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:26
    [ 8.186772] platform 5e00000.r5f: configured R5F for remoteproc mode
    [ 8.196130] m_can_platform 40528000.can: m_can device registered (irq=20, version=32)
    [ 8.196565] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:27
    [ 8.214052] m_can_platform 2701000.can: m_can device registered (irq=43, version=32)
    [ 8.232090] platform 5e00000.r5f: assigned reserved memory node vision-apps-r5f-dma-memory@a6000000
    [ 8.241511] m_can_platform 2751000.can: m_can device registered (irq=45, version=32)
    [ 8.255517] m_can_platform 2791000.can: m_can device registered (irq=47, version=32)
    [ 8.266442] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:28
    [ 8.288480] remoteproc remoteproc6: 5e00000.r5f is available
    [ 8.294082] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:29
    [ 8.294836] remoteproc remoteproc6: Direct firmware load for j7-main-r5f1_0-fw failed with error -2
    [ 8.311285] remoteproc remoteproc6: powering up 5e00000.r5f
    [ 8.317129] remoteproc remoteproc6: Direct firmware load for j7-main-r5f1_0-fw failed with error -2
    [ 8.319864] platform 5f00000.r5f: configured R5F for remoteproc mode
    [ 8.326410] remoteproc remoteproc6: request_firmware failed: -2
    [ 8.351712] platform 5f00000.r5f: assigned reserved memory node vision-apps-r5f-dma-memory@a7000000
    [ 8.367491] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:30
    [ 8.500082] remoteproc remoteproc7: 5f00000.r5f is available
    [ 8.509303] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:31
    [ 8.516571] remoteproc remoteproc7: Direct firmware load for j7-main-r5f1_1-fw failed with error -2
    [ 8.529062] remoteproc remoteproc7: powering up 5f00000.r5f
    [ 8.534691] remoteproc remoteproc7: Direct firmware load for j7-main-r5f1_1-fw failed with error -2
    [ 8.550719] remoteproc remoteproc7: request_firmware failed: -2
    [ 8.564346] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:32
    [ 8.587159] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:33
    [ 8.615318] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:34
    [ 8.638756] j721e-csi2rx 4510000.ticsi2rx: duke ti_csi2rx_init_dma channel id:35
    [ 9.092496] usbcore: registered new interface driver usbfs
    [ 9.092871] remoteproc remoteproc8: b034000.pru is available
    [ 9.124478] remoteproc remoteproc9: b004000.rtu is available
    [ 9.151239] usbcore: registered new interface driver hub
    [ 9.171523] remoteproc remoteproc10: b00a000.txpru is available
    [ 9.179253] usbcore: registered new device driver usb
    [ 9.208359] remoteproc remoteproc11: b038000.pru is available
    [ 9.224699] remoteproc remoteproc12: b006000.rtu is available
    [ 9.233293] remoteproc remoteproc13: b00c000.txpru is available
    [ 9.239947] remoteproc remoteproc14: b134000.pru is available
    [ 9.248075] remoteproc remoteproc15: b104000.rtu is available
    [ 9.254962] remoteproc remoteproc16: b10a000.txpru is available
    [ 9.262311] remoteproc remoteproc17: b138000.pru is available
    [ 9.272310] remoteproc remoteproc18: b106000.rtu is available
    [ 9.279958] remoteproc remoteproc19: b10c000.txpru is available
    [ 9.402540] omap_rng 4e10000.rng: Random Number Generator ver. 241b34c
    [ 9.431736] cdns-csi2rx 4504000.csi-bridge: Probed CSI2RX with 4/4 lanes, 4 streams, external D-PHY
    [ 9.519343] cdns-csi2rx: probe of 4514000.csi-bridge failed with error -22
    [ 9.542981] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [ 10.090413] cdns-sierra-phy 5020000.serdes: Timeout waiting for PHY status ready
    [ 10.097805] phy phy-5020000.serdes.11: phy poweron failed --> -110
    [ 10.104324] cdns-usb3: probe of 6400000.usb failed with error -110
    [ 10.509779] pci_epf_test pci_epf_test.0: pci_epf_test_init_dma_chan dma channel id:36
    [ 10.738464] Bluetooth: Core ver 2.22
    [ 10.744933] NET: Registered protocol family 31
    [ 10.751841] Bluetooth: HCI device and connection manager initialized
    [ 10.767150] Bluetooth: HCI socket layer initialized
    [ 10.776289] Bluetooth: L2CAP socket layer initialized
    [ 10.785495] Bluetooth: SCO socket layer initialized
    [ 10.953489] am65-cpsw-nuss 46000000.ethernet eth0: PHY [46000f00.mdio:00] driver [TI DP83867] (irq=POLL)
    [ 10.970628] am65-cpsw-nuss 46000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    [ 13.032406] am65-cpsw-nuss 46000000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
    [ 13.041115] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [ 14.656324] PVR_K: 1148: RGX Firmware image 'rgx.fw.22.104.208.318' loaded
    [ 14.689316] PVR_K: 1148: Shader binary image 'rgx.sh.22.104.208.318' loaded
    [ 28.149439] Initializing XFRM netlink socket
    [ 29.825317] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
    [ 29.843152] Bridge firewalling registered
    [ 30.385581] process 'docker/tmp/qemu-check514504648/check' started with executable stack

  • hi Nikhil:

        I have got tested result  with imx219 here:

    1: VGA and no pcie transmit,  video ok

    2: VGA and  pcie , video ok

    3: 1080p and no pcie ,video ok

    4: 1080p and pcie , video not ok

    what do you think about it?

  •    Picture like this from sensor imx219 

  • hi Nikhil:

       I have test with uvc camera ,which support 4K format(3264X2448  , YUYV4:2:2), and find it works,I doubted something wrong with mipi-csi driver.what do you think about it?

  • Hi,

    Here, I'm suspecting that the real time constraint of the csi-rx to maintain the FPS is being challenged here by the transmit rate of the pcie.

    In order to check this, Could you provide me below two information?

    4: 1080p and pcie , video not ok

    1. Could you reduce the FPS of imx319 in the above case? I believe you are currently transmitting at 30 FPS right? If yes, could you reduce it further using v4l2 set commands?

    2. Could you profile the transmit rate of one frame of the pcie when using imx319?

    Regards,

    Nikhil

  • I have found some driver log : "Failed to drain DMA. Next frame might be bogus"  if we run  pcie at the same time. and no pcie no this log. Is it helpful to resolve  the issue?

  • thank Nikhil

    1. Could you reduce the FPS of imx319 in the above case? I believe you are currently transmitting at 30 FPS right? If yes, could you reduce it further using v4l2 set commands?

    Yes, you are right, we used 30fps to test while i uvc used 2fps for 4k.   I will try reduce fps to test again.

    2. Could you profile the transmit rate of one frame of the pcie when using imx319?

    We checked  the pcie write rate is about 1.5G Byte/s  with PCIE3.0 , 2 lane here.

  • "Could you also enable the trace logs or get timestamps from the csi-rx driver and the pcie. As this could be seen if the real time contraints are not met (i.e., if pcie is slow and csi-rx is fast, there are chances that the frames are dropped or corrupted)

    Could you profile both to confirm if this is happening in your case?"

    Sorry, I have  missed this advice, I am testing video capturing  and PCIe separately now.  It seem the pcie speed is more fast than mipi-csi speed now. 

  • Hi,

    Failed to drain DMA. Next frame might be bogus

    This usually comes when there are frame drops.

    We could first confirm if this is the case by reducing the fps.

    Post that, I think we could either try increasing the number of buffers provided to csi-rx. I think, currently it is 4 (may be we could try increasing it to 6 and test this)

    Regards,

    Nikhil

  • hi, Nikhi,

            We have test with fps 15 and video format is 3840*2160, It work!  the video i saved in device or stored in pc views ok now! thank your advice!  

  • Hi,

    Please let me know if this satisfies your usecase? Or is there a target FPS you are looking for?

    Regards,

    Nikhil

  • No,We  need 2 ways raw16 videos which must supported 3586X2177@30 hz and transmited video data  to host PC   by pcie In our really  project. This image sensor is not support 15 fps, so we have to switch another image sensor to debug tomorrow.

          By the way, When we runed pcie test program, We found offset of timestamp for v4l2 videobuf  were  over 33mm(30hz) when we used  3840*2160@30hz from our image sensor,  these are over 70ms often and sometime they  even reached 80ms, Other if we reduce fps to 15 hz, these were almost  66ms(15). 

    Are there  some conflicts about DMA resource? what do you think about it? Thanks.

  • Hi,

    I'm suspecting that the application might not be returning the buffers on time back to csi.

    Could you try increasing the number of buffers and check again for 30fps?

    Regards,

    Nikhil

  • We increased the buffers number when used v4l2  VIDIOC_REQBUFS command and get the same result. 

    By the way, If I reduce pcie fragment size from 1M to 128k and it caused  the pcie write rate decreased  much and  get v4l2  video frame ok with  format 3840*2160@30hz, So I have to discard video frame when used pcie writed to PC host.It is not met our project usecase. I think it will be better for  mipi-csi if pcie used dma resoure little.  but if we will capture 2 way videos by 2 mipi-csi interface with format 3840*2160@30hz, It need much DMA  resource too. how can i resolve it?

  • Hi,

    Understood. The issue here is due to DDR BW constraints. As in TDA4VM we have shared a single UDMA for both csi and pcie, the traffic is high when you are trying 3840*2160@30fps.

    This is a hardware constraint, Hence the only way now here is to either reduce the fps of csi or slow down the pcie (both of which are working in your case).

    Regards,

    Nikhil

  •   

    Hi ,Nikhil,   nice to receive your response,  From this  designed referent, It seem  it can receive 16M pixs@30 fps from 2 mipi-csi, it met our usecase  2X 8M@30 fps, It  used ISP at the same time and it need dma too. so it seem  UDMA bandwidth is enough. What do you think abou it?

    By the way, I found some odd code in sdk source about pcie test file (linux-5.10.120+gitAUTOINC+95b90aa828-g95b90aa828/drivers/pci/endpoint/functions/pci-epf-test.c)

    /*
    * wait 1ms inorder for the write to complete. Without this delay L3
    * error in observed in the host system.
    */
    usleep_range(1000, 2000);

    I have tested it can been redueced to 300us once sent a pcie packet (128K) and pc received ok(if it is less 300us, Host pc often lost packet), but for so much frame size 16M, it will cause  delay so much  (3588X2177X2/128/1024 x300=35ms) for one frame.  I want to know can we resolve the delay issue here? 

  • Hi Duke,

    May I know how are you directing the output of csi to the pcie test? Are there any modifications made? 

    As this is not a usecase that we have tested, it would be great if you could share your source code so that the internal experts could review the same regarding the buffer handling and pcie transactions.

    Regards,

    Nikhil

  • Hi Nikhil,

        I can shre you my drive and test code about  deivce and pc host side,  please tell me your email. thanks!   

  • We have change the fragment size to 165k and now it can capture one mipi video and pcie transmit ok.

  • Hi Duke,

    Does this resolve your issue?

    Regards,

    Nikhil

  • haha,We need to communicate well with our customer for one mipi ,one pcie .