Visionworks cannot fetch the frame from /dev/video0 (tc358840)

Hi AastaLLL,

Yes, we set the TEGRA_GPIO(X,1) for interrupt as input, then it works fine right now, thank you for you help, we are still testing this driver now. So did everything works fine on you side?

Kclet

Hi,

Thanks for your feedback.
We didn’t test TC358840 on current JetPack build since no available hardware.
But this driver have been verified before and works fine on previous forum user.

Feel free to let us know if you have any problem on it.

Hi

We are using the TC358840 with our own custom drivers, available at [1].
With those drivers we can use dual link (meaning 2 x 4 CSI lanes) for transfering up to 2160p30 over CSI.
We have not yet tested the Nvidia implementation in the official L4T 24.2.1, but to me it looks like the CSI driver supports a maximum of 4 lanes. And no dual-link configuration.
Compare
[2] csi2_fops.c:109:csi2_start_streaming()
and
[3] vi2_fops.c:218:vi2_channel_capture_done(), where buffers are set up per CSI port.

Maybe someone from Nvidia can confirm or deny whether the CSI/VI drivers are capable of capturing in dual link (2 x 4 CSI lanes) configuration?

Regards,
Tobias

[1]


[2]
http://nv-tegra.nvidia.com/gitweb/?p=linux-3.10.git;a=blob;f=drivers/media/platform/tegra/csi/csi2_fops.c;h=9e13f09c7637b8d7dcaa3dac1437fb6a9885d7c4;hb=4206e3f9c9b3a1757c36bb798ca751c09e2db8c5
[3]
http://nv-tegra.nvidia.com/gitweb/?p=linux-3.10.git;a=blob;f=drivers/media/platform/tegra/camera/vi2_fops.c;h=1f4d407fb4d829abb60a6abfa968b8f1e418f921;hb=4206e3f9c9b3a1757c36bb798ca751c09e2db8c5

Hi,

Yes, that is gang mode.
Set ‘bus-width = <8>’ will enable gang mode.

Thanks.

Hi AastaLLL,

I noticed frame skipping occasionally on this driver, it is running well for some time, and then jerk for couple seconds, then everything goes normally, it is happened occasionally and not easy to notice until you playing some slow motion video, I have no idea how to find out where the problem is. Do you have any idea on this?

Kclet

Thank you for your answer, we occaien

Hi,

Does this issue only happen in playing slow motion video?
And could you change another hdmi out device to check if this issue still on?

Hi AastaLLL,

We found more detail in this issue, we are using this V4l2 inteface to capture the input source at 1080P 60fps, and set the timings to the corresponding one, then display it at 30fps, since our routine force the output to sync with VSYNC, which mean we only get the v4l2 source buffer at every 33ms, so dequeue one buffer, update frame, when vsync occur, queue it back, then do the same sequence for second buffer.

For this method, we can notice frame skip when playing 30FPS video, and it is fine on 60FPS test video. I think the way v4l2 sync with sink is not handle correctly, do you have any idea on this? Thank you

Hi,

Did you use the preview mode? Could you switch to record mode for trying?
And could you set interface to capture source at 30fps to check if there is still frame drop in 30fps video?