TX2 CSI Capture with Jetpack 4.5.1

My bad. I still have that CSI patch applied. The results above are all with that patch:

~/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_TX2/Linux_for_Tegra/sources/kernel/nvidia$ git status
On branch l4t/l4t-r32.5
Your branch is up-to-date with 'origin/l4t/l4t-r32.5'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   drivers/media/platform/tegra/camera/csi/csi4_fops.c
	modified:   drivers/net/ethernet/nvidia/pcie/tegra_vnet.c
	modified:   drivers/pci/endpoint/functions/pci-epf-tegra-vnet.c

no changes added to commit (use "git add" and/or "git commit -a")

Here is the dmesg output as it stands with the CSI patch applied:

[ 1600.912180] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 1600.922635] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERROR_STATUS2VI_VC0 = 0x0000000e
[ 1601.133714] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 1601.140186] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 1601.150271] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERROR_STATUS2VI_VC0 = 0x0000000e
[ 1601.361718] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 1601.368205] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 1601.378089] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERROR_STATUS2VI_VC0 = 0x0000000e
[ 1601.605705] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 1601.612231] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 1601.622663] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERROR_STATUS2VI_VC0 = 0x0000000e
[ 1601.631453] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) INTR_STATUS 0x00000008
[ 1601.639307] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERR_INTR_STATUS 0x00000008
[ 1601.849721] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 1601.856187] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 1601.866786] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERROR_STATUS2VI_VC0 = 0x0000000e
[ 1602.077698] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 1602.084172] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 1602.094596] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERROR_STATUS2VI_VC0 = 0x0000000e
[ 1602.305739] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 1602.312238] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 1602.322709] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERROR_STATUS2VI_VC0 = 0x0000000e
[ 1602.541717] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 1602.548194] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[ 1602.558285] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERROR_STATUS2VI_VC0 = 0x0000000e
[ 1602.773717] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[ 1602.780183] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel

There is a occasional anomaly, that I managed to catch above, with (ERR_)INTR_STATUS.

We can see that there are no ECC errors reported, even though the bits are set in the ERROR_STATUS2VI_VC0 register, which I assume is due to the patch masking out those conditions.

I have no more ideas on how to proceed now. Is it worth changing from a driver module to a kernel built-in?

Does nvidia engineering have any suggestions?

I’ve attached two example frames. The top one doesn’t work (720p60) - the bottom one does (720p50)

Screenshot 2021-09-02 112254

There is an obvious difference with the horizontal flyback, but I think there is plenty of time between lines in both cases.

Could you read those REG back to confirm it was masked.

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks

Hi Ratbert,

Any update? Could you read those REG back to confirm it was masked.