I've recently posted about getting a ADV7280-M working over CSI on our NVIDIA Tegra system-on-module.
This now works and I can happily stream video.
However, I've recently stumbled across some issues when starting a gstreamer pipeline whereby occasionally, the video feed stutters and stumbles, with occasional half previous frames being shown alongside half current image frames (if that makes any sense).
Having had a look through the Linux dmesgs, I can see the following being output:
[ 1064.946867] vi vi: Timeout on VI syncpt
[ 1064.946891] vi vi: buffer_addr = 0x00707000
[ 1064.946911] vi vi: PPSTATUS = 0x00000000, CILSTATUS = 0x00000000
[ 1066.956686] vi vi: Timeout on VI syncpt
[ 1066.956709] vi vi: buffer_addr = 0x0079f000
[ 1066.956750] vi vi: PPSTATUS = 0x00000000, CILSTATUS = 0x00000000
[ 1068.956679] vi vi: Timeout on VI syncpt
[ 1068.956703] vi vi: buffer_addr = 0x00707000
[ 1068.956724] vi vi: PPSTATUS = 0x00000000, CILSTATUS = 0x00000000
[ 1074.506788] vi vi: Timeout on VI syncpt
[ 1074.506812] vi vi: buffer_addr = 0x00707000
[ 1074.506833] vi vi: PPSTATUS = 0x00000000, CILSTATUS = 0x00000000
[ 1076.516691] vi vi: Timeout on VI syncpt
[ 1076.516715] vi vi: buffer_addr = 0x0079f000
[ 1076.516736] vi vi: PPSTATUS = 0x00000000, CILSTATUS = 0x00000000
[ 1078.516694] video4linux video0: Timeout on CSI syncpt
[ 1078.516719] video4linux video0: buffer_addr = 0x00707000
[ 1078.516744] video4linux video0: PPSTATUS = 0x00000000, CILSTATUS = 0x00000000, ROSTATUS = 0x00000000
[ 1080.516752] video4linux video0: Timeout on CSI syncpt
[ 1080.516777] video4linux video0: buffer_addr = 0x00707000
[ 1080.516803] video4linux video0: PPSTATUS = 0x00000000, CILSTATUS = 0x00000000, ROSTATUS = 0x00000000
If I power down the camera and power back on while the gstreamer pipeline is closed, about 6/7 times out of 10, the video feed starts again and is smooth without stutter - the rest of the time, the feed is jerky and has issues (if I can capture some images then I will add them to this post).
One previous post on a similar "timeout on VI syncpt" issue mentions the "continuous_clk" field of the platform data for the camera. The adv7280-m driver on my Linux distro has it set to "1" which could be incorrect.
I'd be grateful for any advice.
Kevin