Vi-output, tc35 100% loading and No Video Stream with tc358840 4K HDMI to MIPI

hello sk1977.huang,

thanks for update the status. this should system performance related failure.
may I also know what’s your test-case criteria. are you ok to go with power mode 20W 6CORE?

Hi Jerry,

Sorry about that. The power mode is not the root cause.

Could I ask you a question?
The error key word from the VI log.
“tag:CHANSEL_NOMATCH channel”
That is why you ask us “are you having plug/unplug to test the signaling?”

We found the TC358840 has the unusual interrupt from the input side of HDMI interface.
We also use the signal generator with HDMI timing change/color space change/audio sampling rate change.
They will make NX VI stop like the bug issue,

We are still investigating.

Thanks.
Yours Sincerely,
S.K.

hello sk1977.huang,

it’s an CHANSEL exception,
some scenario may trigger this failure. such as… incorrect format type definition, incomplete signaling…etc.
this events always signify an error; it could occur synchronously with respect to a pixel packet, but affect multiple channels at once.

HI Jerry,

Could you give us some suggestions for the following message?
Now,We can get that HDMI signal maybe maybe unstable.
Ex. [ 18.117675] tc358840 0-001f: tc358840_get_detected_timings: no valid signal.

Does it generate the cause of the problem for the VI engine?
Ex:

[   20.601072] tegra194-vi5 15c10000.vi: no reply from camera processor
[   20.601742] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[   20.602323] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel

Is this DMA error message?

[   20.637788] Mem abort info:
[   20.637884]   ESR = 0x96000005
[   20.637975]   Exception class = DABT (current EL), IL = 32 bits
[   20.638104]   SET = 0, FnV = 0
[   20.638190]   EA = 0, S1PTW = 0
[   20.638270] Data abort info:
[   20.638346]   ISV = 0, ISS = 0x00000005
[   20.638434]   CM = 0, WnR = 0

[The Main log]

[   12.121347] tc358840 0-001f: tc358840_delayed_work_enable_interrupt:
[   12.121949] tc358840 0-001f: tc358840_enable_interrupts: cable connected = 1
[   12.124093] tc358840 0-001f: tc358840_s_edid, pad 0, start block 0, blocks 2
[   12.124131] tc358840 0-001f: tc358840_disable_edid:
[   12.179964] tc358840 0-001f: tc358840_enable_edid:
[   12.180096] tc358840 0-001f: tc358840_enable_interrupts: cable connected = 1
[   12.181694] tc358840 0-001f: tc358840_process_isr:
[   12.182061] tc358840 0-001f: tc358840_isr: IntStatus = 0x0200
[   12.187382] tc358840 0-001f: tc358840_hdmi_sys_int_handler: SYS_INT = 0x01
[   12.187632] tc358840 0-001f: tc358840_hdmi_sys_int_handler: Tx 5V power present: yes
[   12.187650] tc358840 0-001f: tc358840_enable_edid:
[   12.187667] tc358840 0-001f: tc358840_enable_interrupts: cable connected = 1
[   12.280685] tc358840 0-001f: tc358840_delayed_work_enable_hotplug:
[   12.363241] Adding 663344k swap on /dev/zram3.  Priority:5 extents:1 across:663344k SS
[   12.364574] zram4: detected capacity change from 0 to 679268352
[   13.042356] tc358840 0-001f: tc358840_process_isr:
[   13.043359] tc358840 0-001f: tc358840_isr: IntStatus = 0x0200
[   13.053503] tc358840 0-001f: tc358840_hdmi_clk_int_handler: CLK_INT = 0x20
[   13.053540] tc358840 0-001f: tc358840_hdmi_clk_int_handler: DE size or position has changed
[   13.083255] tc358840 0-001f: tc358840_process_isr:
[   13.085099] tc358840 0-001f: tc358840_isr: IntStatus = 0x0200
[   13.091413] tc358840 0-001f: tc358840_hdmi_clk_int_handler: CLK_INT = 0x20
[   13.091466] tc358840 0-001f: tc358840_hdmi_clk_int_handler: DE size or position has changed
[   13.116914] tc358840 0-001f: tc358840_process_isr:
[   13.118410] tc358840 0-001f: tc358840_isr: IntStatus = 0x0200
[   13.123907] tc358840 0-001f: tc358840_hdmi_clk_int_handler: CLK_INT = 0x20
[   13.123955] tc358840 0-001f: tc358840_hdmi_clk_int_handler: DE size or position has changed
[   13.139837] tc358840 0-001f: tc358840_process_isr:
[   13.140350] tc358840 0-001f: tc358840_isr: IntStatus = 0x0200
[   13.145508] tc358840 0-001f: tc358840_hdmi_misc_int_handler: MISC_INT = 0x02
[   13.155212] tc358840 0-001f: enable_stream: disable
[   13.155273] tc358840 0-001f: tc358840_format_change: New format: 3840x2160p30.0 (4400x2245)
[   13.155300] tc358840 0-001f: tc358840_s_dv_timings():
[   13.155330] tc358840 0-001f: tc358840_s_dv_timings: 3840x2160p30.0 (4400x2245)
[   13.155355] tc358840 0-001f: enable_stream: disable
[   13.155380] tc358840 0-001f: tc358840_set_csi:
[   13.159208] tc358840 0-001f: tc358840_set_csi: Enabling CSI TX0
[   13.159691] tc358840 0-001f: tc358840_set_pll:
[   13.160668] tc358840 0-001f: tc358840_set_pll: Updating PLL clock of CSI TX0
[   13.179913] tc358840 0-001f: tc358840_set_csi: Enabling CSI TX1
[   13.181523] tc358840 0-001f: tc358840_set_pll:
[   13.182167] tc358840 0-001f: tc358840_set_pll: Updating PLL clock of CSI TX1
[   13.200611] tc358840 0-001f: tc358840_set_splitter():
[   13.404885] Adding 663344k swap on /dev/zram4.  Priority:5 extents:1 across:663344k SS
[   13.406075] zram5: detected capacity change from 0 to 679268352
[   14.445177] Adding 663344k swap on /dev/zram5.  Priority:5 extents:1 across:663344k SS
[   18.019342] tc358840 0-001f: tc358840_get_fmt():
[   18.019353] tc358840 0-001f: tc358840_get_fmt(): width=3840, height=2160, code=0x0000200F, field=1
[   18.019356] tc358840 0-001f: tc358840_set_fmt():
[   18.019545] tc358840 0-001f: tc358840_get_fmt():
[   18.019550] tc358840 0-001f: tc358840_get_fmt(): width=3840, height=2160, code=0x0000200F, field=1
[   18.019553] tc358840 0-001f: tc358840_set_fmt():
[   18.019556] tc358840 0-001f: tc358840_set_fmt(): format->which=1
[   18.019560] tc358840 0-001f: enable_stream: disable
[   18.019565] tc358840 0-001f: tc358840_set_csi:
[   18.020331] tc358840 0-001f: tc358840_set_csi: Enabling CSI TX0
[   18.020660] tc358840 0-001f: tc358840_set_pll:
[   18.020947] tc358840 0-001f: tc358840_set_pll: Updating PLL clock of CSI TX0
[   18.036587] tc358840 0-001f: tc358840_set_csi: Enabling CSI TX1
[   18.036836] tc358840 0-001f: tc358840_set_pll:
[   18.037099] tc358840 0-001f: tc358840_set_pll: Updating PLL clock of CSI TX1
[   18.052027] tc358840 0-001f: tc358840_set_csi_mbus_config():
[   18.052036] tc358840 0-001f: tc358840_set_csi_mbus_config: YCbCr 422 16-bit
[   18.094283] tc358840 0-001f: tc358840_s_stream():
[   18.094289] tc358840 0-001f: enable_stream: enable
[   18.096611] [RCE] vi5_hwinit: firmware CL2018101701 protocol version 2.2
[   18.096821] tc358840 0-001f: enable_stream: Stream enabled! Remaining timeout attempts: 100
[   18.109290] tc358840 0-001f: tc358840_process_isr:
[   18.109560] tc358840 0-001f: tc358840_isr: IntStatus = 0x0200
[   18.113645] tc358840 0-001f: tc358840_hdmi_misc_int_handler: MISC_INT = 0x02
[   18.117675] tc358840 0-001f: tc358840_get_detected_timings: no valid signal
[   18.117685] tc358840 0-001f: enable_stream: disable
[   18.118149] tc358840 0-001f: tc358840_set_csi:
[   18.118683] tc358840 0-001f: tc358840_set_csi: Enabling CSI TX0
[   18.119261] tc358840 0-001f: tc358840_set_pll:
[   18.119555] tc358840 0-001f: tc358840_set_pll: Updating PLL clock of CSI TX0
[   18.135476] tc358840 0-001f: tc358840_set_csi: Enabling CSI TX1
[   18.135725] tc358840 0-001f: tc358840_set_pll:
[   18.135984] tc358840 0-001f: tc358840_set_pll: Updating PLL clock of CSI TX1
[   18.151436] tc358840 0-001f: tc358840_set_splitter():
[   18.152988] tc358840 0-001f: tc358840_format_change: No Signal
[   18.152994] tc358840 0-001f: tc358840_s_dv_timings():
[   18.153000] tc358840 0-001f: tc358840_s_dv_timings: 0x0p0.0 (0x0)
[   18.153005] tc358840 0-001f: tc358840_s_dv_timings: timings out of range
[   18.153198] tc358840 0-001f: tc358840_reset_phy:
[   20.601072] tegra194-vi5 15c10000.vi: no reply from camera processor
[   20.601742] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[   20.602323] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[   20.618363] ------------[ cut here ]------------
[   20.618641] WARNING: CPU: 1 PID: 4673 at /mnt/hd2/sk_nx/32.6.1/Linux_for_Tegra/source/public/kernel_src/kernel/nvidia/drivers/media/platform/tegra/camera/vi/capture_vi_channel.c:452 vi_channel_close_ex+0x80/0x88
[   20.619099] Modules linked in: zram userspace_alert nvgpu ip_tables x_tables

[   20.619365] CPU: 1 PID: 4673 Comm: vi-output, tc35 Not tainted 4.9.253-tegra #4
[   20.619392] Hardware name: NVIDIA Jetson Xavier NX Developer Kit (DT)
[   20.619419] task: ffffffc1ef962a00 task.stack: ffffffc1dfea4000
[   20.619451] PC is at vi_channel_close_ex+0x80/0x88
[   20.619479] LR is at vi_channel_close_ex+0x40/0x88
[   20.619504] pc : [<ffffff8008b39a88>] lr : [<ffffff8008b39a48>] pstate: a0c00045
[   20.619524] sp : ffffffc1dfea7d10
[   20.619547] x29: ffffffc1dfea7d10 x28: 0000000000000000
[   20.619608] x27: 0000000000000000 x26: 0000000000000000
[   20.619662] x25: 0000000000000000 x24: 0000000000000000
[   20.619717] x23: ffffffc1f0b3a048 x22: ffffffc1efcc6228
[   20.619770] x21: ffffffc1efcc6218 x20: ffffffc1f281c480
[   20.619825] x19: 0000000000000000 x18: 0000000000000000
[   20.619880] x17: 0000000000000002 x16: 0000000000000003
[   20.619955] x15: 000000000000000a x14: 0000000000000000
[   20.620010] x13: 0000000000052d28 x12: 000000000001995c
[   20.620064] x11: 0000000000000000 x10: 0000000000000a10
[   20.620121] x9 : ffffffc1dfea7a80 x8 : 0000000000000000
[   20.620176] x7 : ffffffc1e7c5b880 x6 : ffffffc1f281ccc0
[   20.620231] x5 : ffffff8008b393fc x4 : ffffffbf07b8bd10
[   20.620287] x3 : 000000018010000f x2 : ffffffc1ee2f7400
[   20.620341] x1 : 0000000000000000 x0 : 0000000000000009

[   20.620433] ---[ end trace 7229d58e8f7e770e ]---
[   20.620638] Call trace:
[   20.620677] [<ffffff8008b39a88>] vi_channel_close_ex+0x80/0x88
[   20.620712] [<ffffff8008b3af48>] vi5_channel_error_recover+0x48/0x1c8
[   20.620750] [<ffffff8008b30018>] tegra_channel_error_recover+0x58/0x90
[   20.620777] [<ffffff8008b3b808>] tegra_channel_kthread_capture_dequeue+0xf8/0x1c0
[   20.620804] [<ffffff80080db09c>] kthread+0xec/0xf0
[   20.620830] [<ffffff80080838a0>] ret_from_fork+0x10/0x30
[   20.624064] tegra194-vi5 15c10000.vi: fatal: error recovery failed
[   20.624416] tc358840 0-001f: tc358840_s_stream():
[   20.624600] tc358840 0-001f: enable_stream: disable
[   20.637546] Unable to handle kernel NULL pointer dereference at virtual address 00000018
[   20.637788] Mem abort info:
[   20.637884]   ESR = 0x96000005
[   20.637975]   Exception class = DABT (current EL), IL = 32 bits
[   20.638104]   SET = 0, FnV = 0
[   20.638190]   EA = 0, S1PTW = 0
[   20.638270] Data abort info:
[   20.638346]   ISV = 0, ISS = 0x00000005
[   20.638434]   CM = 0, WnR = 0
[   20.638530] user pgtable: 4k pages, 39-bit VAs, pgd = ffffffc1ef8d2000
[   20.638696] [0000000000000018] *pgd=0000000000000000, *pud=0000000000000000
[   20.638996] Internal error: Oops: 96000005 [#1] PREEMPT SMP
[   20.639152] Modules linked in: zram userspace_alert nvgpu ip_tables x_tables
[   20.639572] CPU: 0 PID: 4647 Comm: queue7:src Tainted: G        W       4.9.253-tegra #4
[   20.639769] Hardware name: NVIDIA Jetson Xavier NX Developer Kit (DT)
[   20.643773] task: ffffffc1eb086200 task.stack: ffffffc1e7e54000
[   20.649408] PC is at vi_capture_release+0x20/0x2a0
[   20.654559] LR is at vi5_channel_stop_streaming+0x64/0xd0
[   20.659984] pc : [<ffffff8008b38a80>] lr : [<ffffff8008b3b1dc>] pstate: 20400045
[   20.667506] sp : ffffffc1e7e57930
[   20.670743] x29: ffffffc1e7e57930 x28: ffffffc1eb086200
[   20.676272] x27: ffffff8008f72000 x26: ffffffc1ef93e300
[   20.681782] x25: ffffffc1f2930ae8 x24: ffffffc1f229aad8
[   20.687541] x23: 0000000000000001 x22: fffffffffffffff0
[   20.693053] x21: ffffffc1f04459f8 x20: 0000000000000001
[   20.698567] x19: ffffffc1f0445018 x18: 0000000000000573
[   20.704097] x17: 0000007fa002b258 x16: 000000000002a448
[   20.710026] x15: 00000000000279bb x14: 0000000000002488
[   20.715715] x13: 00000000000003fa x12: 071c71c71c71c71c
[   20.721315] x11: 000000000000000b x10: 0000000000000a10
[   20.727003] x9 : ffffffc1e7e57380 x8 : 0000000000000000
[   20.732531] x7 : fefefeff646c606d x6 : ffffffc1eb2a6240
[   20.738290] x5 : ffffff8008b3935c x4 : ffffffbf07b82410
[   20.743629] x3 : 0000000000000001 x2 : 0000000000002710
[   20.748718] x1 : 0000000000000001 x0 : ffffff8008b3b1dc

[   20.755450] Process queue7:src (pid: 4647, stack limit = 0xffffffc1e7e54000)
[   20.762354] Call trace:
[   20.764722] [<ffffff8008b38a80>] vi_capture_release+0x20/0x2a0
[   20.770318] [<ffffff8008b3b1dc>] vi5_channel_stop_streaming+0x64/0xd0
[   20.776188] [<ffffff8008b2ceb4>] tegra_channel_stop_streaming+0x34/0x48
[   20.782401] [<ffffff8008b251cc>] __vb2_queue_cancel+0x34/0x188
[   20.788256] [<ffffff8008b266f4>] vb2_core_queue_release+0x2c/0x58
[   20.794119] [<ffffff8008b28d74>] _vb2_fop_release+0x84/0xa0
[   20.799456] [<ffffff8008b2e84c>] tegra_channel_close+0x64/0x140
[   20.805059] [<ffffff8008b02140>] v4l2_release+0x48/0xa0
[   20.809874] [<ffffff800825dcb8>] __fput+0x90/0x1d0
[   20.814162] [<ffffff800825de70>] ____fput+0x20/0x30
[   20.819061] [<ffffff80080d8dac>] task_work_run+0xbc/0xd8
[   20.824313] [<ffffff80080b8408>] do_exit+0x2e0/0xa88
[   20.829381] [<ffffff80080b8c40>] do_group_exit+0x40/0xa8
[   20.834720] [<ffffff80080c64ec>] get_signal+0xbc/0x750
[   20.839625] [<ffffff800808add8>] do_signal+0x130/0x500
[   20.844874] [<ffffff800808b320>] do_notify_resume+0x90/0xb0
[   20.850731] [<ffffff800808379c>] work_pending+0x8/0x10
[   20.855808] ---[ end trace 7229d58e8f7e770f ]---
[   20.873064] Fixing recursive fault but reboot is needed!

Thanks.
S.K.

hello sk1977,

here is the root cause.

however,
according to comment #21, don’t you already confirm the video stream is still alive with the power mode 20W 6-CORE?

may I know what’s the test scenario,
if the status is different, please submit another new discussion thread for issue tracking.
thanks

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.