Getting NVCSI/VI/RTCPU Debug Data outside of Tracing

Hello,

I am looking to make a program that logs various debug/error data to generate metrics for the camera system on my Orin NX.

I would like to amalgamate the status of various parts of the camera system, but I am not sure how to do it without using the tracing interface (if possible)?

Is there any NVCSI/VI/RTCPU state that’s exposed anywhere else like debugfs directly, or that I can query through shared memory?

Current only able get it by the trace enable command.

Thanks

https://docs.nvidia.com/drive/drive-os-5.2.0.0L/drive-os/index.html#page/DRIVE_OS_Linux_SDK_Development_Guide/NvMedia/nvmedia_debugging_csi_errors.html

I found here that there are some registers that are able to be accessed over shared memory, is that not possible for the data thats in the trace?

Where does the trace pull that info from? Maybe it can be grabbed directly from the source?

The link is DRIVER OS can’t apply to l4t system.
Maybe you can check …/kernel/nvidia/drivers/video/tegra/host/vi/vi_notify.c

Hi @ShaneCCC,

I took a look through vi-notify.c and it makes sense, however on my Orin running Jetpack 5 I don’t actually see a /dev/tegra-vi0-channel, I see many /dev/capture-vi-channelX and /dev/capture-isp-channelX are these interfaces able to provide the same information or is my configuration incorrect?

thanks!

Also, it looks like 1 potential piece of information thats available is getting the capture info, which mainly includes syncpoint info about the progress, embedded line, and line timer. Is there anywhere that breaks down what id and value correspond to what functions?