This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] J722SXH01EVM:csi2rx 内核模块在探测器自发故障

Guru**** 2470720 points
Other Parts Discussed in Thread: J722SXH01EVM

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1438530/j722sxh01evm-the-csi2rx-kernel-module-fails-at-probe-spontaneously

器件型号:J722SXH01EVM

工具与软件:

您好!

我想报告在 J722SXH01EVM 板上的 SDK10上观察到一个奇怪的问题:  连接多个 CSI 摄像头(例如 Raspberry Pi IMX219)的情况下启动 J722SXH01EVM 板时、 有时其中一个 csi2rx 模块无法加载:

[    9.455849] cdns-csi2rx 30101000.csi-bridge: Probed CSI2RX with 4/4 lanes, 4 streams, external D-PHY
[    9.473758] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
[    9.545922] cdns-csi2rx 30121000.csi-bridge: Probed CSI2RX with 4/4 lanes, 4 streams, external D-PHY
[    9.590700] cdns-csi2rx 30141000.csi-bridge: Probed CSI2RX with 4/4 lanes, 4 streams, external D-PHY
[    9.619966] m_can_platform 4e18000.can mcu_mcan1: renamed from can0
[    9.628589] ti-udma 4e230000.dma-controller: get channel fail in udma_of_xlate.
[    9.658587] Internal error: synchronous external abort: 0000000096000010 [#1] PREEMPT SMP
[    9.666790] Modules linked in: overlay cdns3(+) cdns_usb_common cdns_csi2rx(+) rpmsg_ctrl v4l2_fwnode rpmsg_char cfg80211 snd_soc_simple_card crct10dif_ce snd_soc_simple_card_utils e5010_jpeg_enc pvrsrvkm(O) display_connector v4l2_jpeg phy_can_transceiver bluetooth ecdh_generic ecc rfkill pci_endpoint_test cdns3_ti k3_j72xx_bandgap rti_wdt rtc_ti_k3 wave5 ti_k3_r5_remoteproc tidss j721e_csi2rx sii902x snd_soc_davinci_mcasp drm_dma_helper ti_k3_dsp_remoteproc drm_kms_helper snd_soc_ti_udma videobuf2_dma_contig v4l2_mem2mem sa2ul mcrc64 snd_soc_tlv320aic3x_i2c videobuf2_memops snd_soc_ti_edma videobuf2_v4l2 snd_soc_tlv320aic3x m_can_platform videobuf2_common snd_soc_ti_sdma m_can cdns_dphy_rx can_dev mvbluemira_i2c(O) v4l2_async videodev mc cryptodev(O) fuse drm drm_panel_orientation_quirks backlight ipv6
[    9.719251] m_can_platform 20701000.can main_mcan0: renamed from can1
[    9.737990] CPU: 2 PID: 191 Comm: (udev-worker) Tainted: G           O       6.6.32-ti-gdb8871293143-dirty #1
[    9.738014] Hardware name: Texas Instruments J722S EVM (DT)
[    9.738018] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    9.738027] pc : csi2rx_probe+0x178/0x654 [cdns_csi2rx]
[    9.738053] lr : csi2rx_probe+0x16c/0x654 [cdns_csi2rx]
[    9.777328] sp : ffff8000821b37c0
[    9.777338] x29: ffff8000821b3830 x28: 0000000000000000 x27: 0000000000000000
[    9.787788] x26: ffff8000813c7b10 x25: ffff0008270d35a8 x24: ffff8000797fc540
[    9.794950] x23: ffff0008220c6400 x22: ffff000824e0ea20 x21: ffff0008220c6410
[    9.802113] x20: ffff000829bee000 x19: ffff800082c0f000 x18: 0000000000000000
[    9.814785] x17: 0000000000000000 x16: 0000000000000000 x15: 052f25a29cecf806
[    9.823887] x14: 000075e727cc4fc8 x13: 000000000000000e x12: 000000000000000e
[    9.831178] x11: 0000000000000000 x10: 00000000000009b0 x9 : ffff8000821b3550
[    9.838318] x8 : ffff0008216a4510 x7 : 0000000000000010 x6 : ffff0008216a4510
[    9.838332] x5 : 0000000000000002 x4 : 0000000000000000 x3 : 0000000000000000
[    9.838342] x2 : ffff8000813fbeb0 x1 : ffff00082616b900 x0 : 0000000000000000
[    9.838353] Call trace:
[    9.862128]  csi2rx_probe+0x178/0x654 [cdns_csi2rx]
[    9.867014]  platform_probe+0x68/0xc4
[    9.870672]  really_probe+0x148/0x2b0
[    9.874330]  __driver_probe_device+0x78/0x12c
[    9.878678]  driver_probe_device+0xd8/0x15c
[    9.882852]  __driver_attach+0x90/0x19c
[    9.886679]  bus_for_each_dev+0x7c/0xdc
[    9.890506]  driver_attach+0x24/0x30
[    9.894073]  bus_add_driver+0xe8/0x1f8
[    9.897814]  driver_register+0x5c/0x124
[    9.901641]  __platform_driver_register+0x28/0x34
[    9.906338]  csi2rx_driver_init+0x20/0x1000 [cdns_csi2rx]
[    9.911732]  do_one_initcall+0x80/0x1c8
[    9.915560]  do_init_module+0x58/0x1e0
[    9.919305]  load_module+0x1c8c/0x1d18
[    9.923046]  init_module_from_file+0x88/0xcc
[    9.927308]  __arm64_sys_finit_module+0x1dc/0x2e4
[    9.932003]  invoke_syscall+0x48/0x114
[    9.935745]  el0_svc_common.constprop.0+0xc0/0xe0
[    9.940439]  do_el0_svc+0x1c/0x28
[    9.943745]  el0_svc+0x2c/0x84
[    9.946793]  el0t_64_sync_handler+0x120/0x12c
[    9.951141]  el0t_64_sync+0x190/0x194
[    9.954799] Code: 95b837ce 2a0003f3 350018c0 f9401a93 (b9400273)
[    9.960878] ---[ end trace 0000000000000000 ]---

我们  使用 SDK10测试了两个 J722SXH01EVM 板、 两个板上都会发生自发错误。 在 SDK9上未发现此问题。

请确认问题并修复。 谢谢!

此致、

Danxuan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    有人可以调查这个问题吗?

    此致、

    Danxuan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Danxuan:

    因 美国假期而延迟响应、我们对此深表歉意。 当您看到此问题时、连接了多少个传感器以及它们连接到哪些端口?

    谢谢!

    Fabiana

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Fabiana、您好!


    Danxuan 离开办公室有一段(重要的)时间、但我正在与她一起从事这一项目。

    我能够使用直接连接到 J722SXH01EVM 的4个标准 Raspberry Pi IMX219摄像头(每个 CSI 端口一个摄像头)来确认她的观察结果。 大约20%的时间板启动,但只找到3 4个摄像头,在这种情况下,我看到以下2个效应之一:

    • 我有时会看到内核错误消息和堆栈跟踪、正如 Danxuan 在她的第一篇文章中提到的那样。 在这种情况下、也无法使用"重新引导"来重新启动系统、因为系统在断电时完全停止。
    • 但是、有时当仅发现3个摄像头时、根本没有内核错误消息或堆栈跟踪、在这种情况下、可以重新启动而不会出现任何问题。

    然后、我仅使用3个摄像头(在端口 CSI #0、CSI #1和 CSI #2上)进行了再次测试。 尽管重启多次(>30次)、但我只看到过一次问题

    • 仅找到了3个摄像机中的2个、但没有内核错误消息或堆栈跟踪。

    因此、连接的摄像头越多、问题就越严重。 我怀疑,如果你使用4摄像头和重新启动可能10次,你一定会看到的问题一次或两次。

    您可能还记得我们之前讨论过另外一个问题、即同时流式传输4个标准 Raspberry Pi IM219摄像头(J722SXH01EVM:无法同时采集2个以上摄像头的图像)?  我最终直接从 TI 收到了一个可行的解决方案、即更新的引导加载程序(略微更改了 DMA 通道分配)。 因此、我还使用修改后的引导加载程序测试了此票证中所述的问题(或者更确切地说、是针对 SDK 10应用了补丁的版本)、但我看到与标准 SDK 10引导加载程序没有明显差异。

    感谢您的帮助。

    ——

    Howard

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Howard:

    感谢您提供更多信息。 此错误 是 在上一个 SDK 版本中发现并报告的、并且 已经得到解决。 此修复程序将在12月13日推出的 SDK v10.1发行版中提供。

    谢谢!

    Fabiana

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢你的评分

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Fabiana:

    感谢您重新打开此票证。 很遗憾、此问题在 SDK 10.1中没有解决。 以下是我从连接了4个 IMX219 RasPi 摄像头的系统(每个 CSI 端口一个摄像头)生成的内核日志。 大多数情况下、所有4个摄像头都被检测到并且正常工作、但如果我每次都用"重新启动"来重新启动电路板、则大约20%的时间都无法识别一个或多个摄像头。 我通常在内核日志中显示如下所示的引导错误消息:

    [   10.353702] ti-udma 4e230000.dma-controller: get channel fail in udma_of_xlate.
    [  OK  ] Started TEE Supplicant on teepriv0.
    [  OK  ] Finished Enable and configure wl18xx bluetooth stack.
    [   10.413939] Internal error: synchronous external abort: 0000000096000010 [#1] PREEMPT SMP
    
    [   10.425827] Modules linked in: overlay rpmsg_ctrl snd_soc_hdmi_codec cdns3 cdns_usb_common rpmsg_char cdns_csi2rx(+) cfg80211 snd_soc_simple_card snd_soc_simple_card_utils crct10dif_ce e5010_jpeg_enc pvrsrvkm(O) v4l2_jpeg display_connector phy_can_transceiver pci_endpoint_test cdns3_ti rtc_ti_k3 rti_wdt k3_j72xx_bandgap bluetooth ecdh_generic ecc rfkill ti_k3_r5_remoteproc wave5 v4l2_mem2mem j721e_csi2rx videobuf2_dma_contig videobuf2_memops tidss imx219 videobuf2_v4l2 drm_dma_helper v4l2_cci videobuf2_common v4l2_fwnode sii902x v4l2_async sa2ul ti_k3_dsp_remoteproc drm_kms_helper mcrc64 snd_soc_tlv320aic3x_i2c videodev snd_soc_tlv320aic3x snd_soc_davinci_mcasp snd_soc_ti_udma mc snd_soc_ti_edma snd_soc_ti_sdma cdns_dphy_rx omap_hwspinlock m_can_platform m_can omap_mailbox can_dev cryptodev(O) fuse drm drm_panel_orientation_quirks backlight ipv6
    [   10.499293] hub 1-1:1.0: USB hub found
    [   10.500778] CPU: 1 PID: 205 Comm: (udev-worker) Tainted: G           O       6.6.44-ti-01478-g541c20281af7-dirty #1
    [   10.504639] hub 1-1:1.0: 4 ports detected
    [   10.514925] Hardware name: Texas Instruments J722S EVM (DT)
    [   10.514930] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
    [   10.514939] pc : csi2rx_probe+0x178/0x654 [cdns_csi2rx]
    [   10.514964] lr : csi2rx_probe+0x16c/0x654 [cdns_csi2rx]
    [   10.541879] sp : ffff8000822937d0
    [   10.541883] x29: ffff800082293840 x28: 0000000000000000 x27: 0000000000000000
    [   10.541897] x26: ffff80008143ab10 x25: ffff800082293bb0 x24: ffff800079865540
    [   10.541907] x23: ffff000826515400 x22: ffff00082c563c00 x21: ffff000826515410
    [   10.559458] x20: ffff0008264a6000 x19: ffff8000827e3000 x18: 0000000000000000
    [   10.559468] x17: ffff8008fdff9000 x16: ffff800080008000 x15: 0000000000000000
    [   10.559478] x14: 0000000000000000 x13: 00000000000000de x12: 0000000000000000
    [   10.580836] x11: 0000000000000000 x10: 00000000000009b0 x9 : ffff8000822935c0
    [   10.580846] x8 : ffff000825f00a10 x7 : ffff000820db8e00 x6 : 000000004ab5ff97
    [   10.580856] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000
    [   10.602220] x2 : ffff800081473c30 x1 : ffff000825f00000 x0 : 0000000000000000
    [   10.602234] Call trace:
    [   10.602238]  csi2rx_probe+0x178/0x654 [cdns_csi2rx]
    [   10.602257]  platform_probe+0x68/0xc4
    [   10.602270]  really_probe+0x148/0x2b0
    [   10.602280]  __driver_probe_device+0x78/0x12c
    [   10.602290]  driver_probe_device+0xd8/0x15c
    [   10.602298]  __driver_attach+0x90/0x19c
    [   10.602306]  bus_for_each_dev+0x7c/0xdc
    [   10.602314]  driver_attach+0x24/0x30
    [   10.602322]  bus_add_driver+0xe4/0x208
    [   10.637722] usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd
    [   10.639693]  driver_register+0x5c/0x124
    [   10.659278] hub 2-1:1.0: USB hub found
    [   10.661177]  __platform_driver_register+0x28/0x34
    [   10.665558] hub 2-1:1.0: 4 ports detected
    [   10.668749]  csi2rx_driver_init+0x20/0x1000 [cdns_csi2rx]
    [   10.668780]  do_one_initcall+0x80/0x1c8
    [   10.668790]  do_init_module+0x58/0x1e0
    [   10.690491]  load_module+0x1c8c/0x1d18
    [   10.690514]  init_module_from_file+0x88/0xcc
    [   10.690522]  __arm64_sys_finit_module+0x1dc/0x2e4
    [   10.690532]  invoke_syscall+0x48/0x114
    [   10.690541]  el0_svc_common.constprop.0+0xc0/0xe0
    [   10.690548]  do_el0_svc+0x1c/0x28
    [   10.690555]  el0_svc+0x2c/0x84
    [   10.690564]  el0t_64_sync_handler+0x120/0x12c
    [   10.690570]  el0t_64_sync+0x190/0x194
    [   10.690583] Code: 95bb04e6 2a0003f3 350018c0 f9401a93 (b9400273)
    [   10.690589] ---[ end trace 0000000000000000 ]---

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Howard:

    使用连接并启用了4个 IMX219传感器的 J722S 边缘 AI SDK v10.1、我重新启动了22次系统、发现并非所有四个传感器都检测到10次。 我认为此问题与另一个将在 SDK v11.0中修复的请求单有关。 我正在等待指派的工程师进行确认。

    谢谢!

    Fabiana

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Fabiana、您好!

    谢谢你。 最好能重现问题。 我假设 SDK v11.0是预定春夏或夏初版本。 是这样吗?

    此致、

    ——

    Howard

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Howard:

    我今天不在办公室。 请期待我明天的回复。

    谢谢!

    Fabiana

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Howard:

    我们已经确定了该问题的根本原因、并将在  SDK v11.0中进行修补、当前计划于5月份发布。 补丁发布在此处: [补丁 RFC] dmaengine:TI:k3-uDMA:直接从 DMA_device 结构中使用 CAP_MASK、而不是本地副本- Yemike Abhilash Chandra

    谢谢!

    Fabiana

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢你。 如果可能、我将尝试使用补丁。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    没问题。 如果与此问题相关的任何其他内容可能会阻碍您的发展、请告诉我。

    谢谢!

    Fabiana

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Fabiana:


    问题的根本原因已查明并将在  SDK v11.0中修补(当前计划于5月发布)。 补丁发布在以下位置: [补丁 RFC] dmaengine:TI:k3-uDMA:直接从 DMA_device 结构中使用 CAP_MASK、而不是本地副本- Yemike Abhilash Chandra[/QUOT]

    我现在已经通过一个内核测试了 SDK 10.01.00.04、该内核使用您提供的链接进行了修补、我可以确认问题已经解决。 连接了4个 RasPi 摄像头,我可以重新启动20次,没有任何问题。

    再次感谢您的帮助。

    ——

    Howard

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Howard:

    感谢您确认问题 已得到解决。 请将带有补丁链接的回复标记为"This resolved my issue"、然后我将关闭此主题。

    此致!

    Fabiana