Hi everyone,
Currently I met this problem base on tx2 kernel 4.4.38.
Why function tegra_channel_notify_status_callback in vi4_fops.c already executed,but camera capture already faild and display was freezing?
But if we restart capture application in tx2,capture and displaying will work well. Because of hardware reason our camera will be restarted per 10min.But our application always capture camera continuous. Currently when camera were restarted and output good,but tx2 MIPI already cannot recovery work status.And display the error message “video4linux video0: tegra_channel_notify_status_callback 280
[ 2726.684136] tegra-vi4 15700000.vi: Status: 2 channel:00 frame:0000
[ 2726.690586] tegra-vi4 15700000.vi: timestamp sof 2736255294048 eof 2736300455488 data 0x000000a0
[ 2726.700238] tegra-vi4 15700000.vi: capture_id 18959 stream 0 vchan 0
[ 2727.629159] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11”
But if we restart capture application,capture and display will work good.
But in tx1 and kernel 3.10,it works well.Our camera will restart per 10min,and when camera output normal tx1 MIPI recovery to work status and display well.
I noticed in TX1 VI driver base on vi2_fops.c,and check capture status every frame.If find some error,recovery func will execute. But in tx2 VI driver base on vi4_fops.c. And implement two callback func,status_callback and err_callback. In callback func there are noting action to recovery MIPI.
Currently, can I use vi2 driver in tx2 and kernel4.4.38 replace vi4 driver?
We are working on it once done will update here. Current you can probe your sensor MIPI timing to make sure it’s match MIPI spec to avoid this problem rather than recovery it. Also try to fine tune the settle time (DEFAULT_THS_SETTLE) in the …/kernel-4.4/drivers/media/platform/tegra/camera/cis/csi4_registers.h
@Le0Nard0
No you can’t use vi2 for TX2 due to they are totally different HW design.