Orin R35.1 kernel panic when campture 4 cameras image

Hi everyone,
I use Orin module the Bsp version is 35.1. Sometimes when capture camera image failed the kernel crash the oops log as below. I use 4 camearas to test each camera resolusiton is 4096x3072, the frame rate is 25,the test case is to execute in a loop as below: open video device ->VIDIOC_STREAMON ->capture 30 images ->VIDIOC_STREAMOFF ->close video device.
console-ramoops (10.5 KB)
dmesg-ramoops (24.2 KB)

Boost the clocks to try.

sudo su
echo 1 > /sys/kernel/debug/bpmp/debug/clk/vi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/isp/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/nvcsi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/mrq_rate_locked
cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate |tee /sys/kernel/debug/bpmp/debug/clk/vi/rate
cat /sys/kernel/debug/bpmp/debug/clk/isp/max_rate | tee  /sys/kernel/debug/bpmp/debug/clk/isp/rate
cat /sys/kernel/debug/bpmp/debug/clk/nvcsi/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/nvcsi/rate
cat /sys/kernel/debug/bpmp/debug/clk/emc/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/emc/rate


Hi ShaneCCC,
I have boost the clocks before running the test case.

Please confirm launch how many camera would hit the problem?

When capturing 4 cameras image data a kernel panic will occur.

Could you confirm smaller sensor resolution like 1080p.

Thanks

Sorry, I do’t have smaller resolution sensor.

How about reduce the frame rate?

Hi ShaneCCC,
I analyzed the Linux driver code, in vi_capture_setup() funciton the ‘capture->channel_id’ variable assigned by the RTCPU resopns message. And the capture->channel_id variable is invalid. Therefore, I think there is problem when RTCPU captures multiple cameras simultaneously.

Do you use v4l2-ctl to capture or customized APP?

Hi ShaneCCC,
This problem occurs when I use standard v4l2-ctl and our software.

Could you provide the script for v4l2-ctl to reproduce the problem.

Thanks

I use v4l standard utility test, I wrote 4 shell shell scripts and run those scripts in 4 terminals. The script as below, in script file the /dev/videox is /dev/video0~3.

# !/bin/bash
count=1
while true; do
    echo $count
    count=$((count + 1))
    ./v4l2-ctl -d /dev/videox --set-fmt-video=width=4096,height=3072,pixelformat=RG10 --set-ctrl bypass_mode=0  --stream-mmap --stream-count=30
done

@kenny_234
Have boost the system by below command to try again.

sudo nvpmodel -m 0
sudo jetson_clocks