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.

[参考译文] AM6422:j721e-pcie-host、链接不会打开。 间歇性问题。

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1514277/am6422-j721e-pcie-host-link-does-not-go-up-intermittent-issue

器件型号:AM6422

工具/软件:

你好。

我们面临着一个无法通过 PCIe 检测 NVMe 的问题。 但这并不是确定性的、也不会经常发生、因此不容易调试。

Linux 6.1.69。

dmesg 中的第一个区别是

       j721e-pcie-host f102000.pcie:建立链路

在未检测到 NVMe 时不会显示。 我们已经阅读了互联网上的建议。

  • PCIe 电源管理:测试 PCIE_ASPM=off 和 nvme_core.default_ps_max_latency_us=0 等内核参数。
  • 确保 NVMe 内核中内置、而不是模块(此论坛中的链接)。 与 CONFIG_PHY_Cadence_torrent、CONFIG_PHY_J721E_wiz 相同。
  • 检查模块加载时是否存在竞态条件。
这是 NVMe 时的 dmesg EVM。

[   7.221986] j721e-pcie-host f102000.pcie:主机桥/bus@f4000/pcie@f102000 范围:
[   7.229987] j721e-PCIe-host f102000.PCIE:      IO 0x0068001000..0x0068010fff -> 0x0068001000
[   7.238577] j721e-PCIe-host f102000.PCIE:     MEM 0x0068011000..0x006fffffff -> 0x0068011000
[   7.247180] j721e-PCIe-host f100000.PCIE:IB  MEM 0x0000000000..0x0fffffff -> 0x0000000000
[   7.354706] j721e-pcie-host f102000.pcie:链路接通
[   7.359631] j721e-pcie-host f102000.pcie:连接到总线 0000:00 的 PCI 主机桥
[7.367346]   pci_bus 0000:00:根总线资源[bus 00-ff]
[   7.372856] PCI_BUS 0000:00:根 总线资源[IO 0x0000-0xfffff](总线地址[0x68001000-0x68010fff])
[7.382335]   pci_bus 0000:00:根总线资源[mem 0x68011000-0x6fffffff]
[7.389252]   PCI 0000:00:00.0:[104C:b010]类型 01 类 0x060400
[7.395272]   PCI 0000:00:00.0:寄存器 0x10:[MEM 0x00000000-0xfffffffff 64bit pref]
[   7.402656] PCI 0000:00:00.0:支持 D1
[   7.406666] PCI 0000:00:00.0:D0 D1 D3hot 支持 PME#
[   7.415412] PCI 0000:00:00.0:桥接器配置无效 ([bus 00-00])、重新配置
[   7.423687] PCI 0000:01:00.0:[1e95:100e]类型 00 类 0x010802
[7.429770]   PCI 0000:01:00.0:寄存器 0x10:[MEM 0x00000000-0x00003fff 64 位]
[   7.436640] PCI 0000:01:00.0:寄存器 0x24:[MEM 0x00000000-0x00001fff]
[7.443246]   PCI 0000:01:00.0:4.000 Gb/s 可用 PCIe 带宽、在 0000:00:00.0 处受 5.0 GT PCIe x1 链路限制(使用 8.0 GT x4 链路时、可提供 31.504 Gb/s 速度)
[   8.012688] sdhci-am654 fa00000.mmc:开机失败
[8.048358]   mmc1:使用 ADMA 64 位的 fa00000.mmc [fa00000.MMC]上的 SDHCI 控制器
[   8.588760] PCI_BUS 0000:01:Busn_res:[bus 01-ff] End 更新为 01
[8.595455]   PCI 0000:00:00.0:条形码 0:没有用于[mem size 0x1000000 64 位 pref]的空间
[8.603196]   PCI 0000:00:00.0:条形码 0:分配[mem size 0x1000000 64 位 pref]失败
[8.611282]   PCI 0000:00:00.0:BAR 14:已分配[mem 0x6810000-0x681fffff]
[   8.618160] PCI 0000:01:00.0:BAR 0:已分配[mem 0x6810000-0x68103fff 64 位]
[8.625487]   PCI 0000:01:00.0:BAR 5:已分配[mem 0x681040-0x68105fff]
[8.632278]   PCI 0000:00:00.0:PCI 桥接至[总线 01]
[8.637243]   PCI 0000:00:00.0:  桥接窗口[mem 0x6810000-0x681fffff]
[   8.644343] pcieport 0000:00:00.0:启用器件 (0000 -> 0002)
[   8.650808] pcieport 0000:00:00.0:PME:使用 IRQ 510 发出信号
[8.657135]   pcieport 0000:00:00.0:AER:通过 IRQ 510 启用
[   8.663729] j721e-pcie-ep f102000.pcie-EP:无法请求资源区域[mem 0x0f102000-0x0f102fff]
[   8.673286] j721e-PCIe-EP:f102000.PCIe-EP 的探测器失败、错误为–16
这是在什么时候 不是 EVM。
[   7.218049] j721e-pcie-host f102000.pcie:主机桥/bus@f4000/pcie@f102000 范围:
[   7.226051] j721e-PCIe-host f102000.PCIE:      IO 0x0068001000..0x0068010fff -> 0x0068001000
[   7.234641] j721e-PCIe-host f102000.PCIE:     MEM 0x0068011000..0x006fffffff -> 0x0068011000
[   7.243207] j721e-PCIe-host f100000.PCIE:IB  MEM 0x0000000000..0x0fffffff -> 0x0000000000
[   8.005540] sdhci-am654 fa00000.mmc:开机失败
[8.041146]   mmc1:使用 ADMA 64 位的 fa00000.mmc [fa00000.MMC]上的 SDHCI 控制器
[   8.255968] j721e-pcie-host f102000.pcie:PCI 主机桥接至总线 0000:00
[   8.262708] pci_bus 0000:00:根总线资源[bus 00-ff]
[   8.268198] PCI_BUS 0000:00:根 总线资源[IO 0x0000-0xfffff](总线地址[0x68001000-0x68010fff])
[8.277670]   pci_bus 0000:00:根总线资源[mem 0x68011000-0x6fffffff]
[   8.284581] PCI 0000:00:00.0:[104C:b010]类型 01 类 0x060400
[8.290601]   PCI 0000:00:00.0:寄存器 0x10:[MEM 0x00000000-0xfffffffff 64bit pref]
[   8.297984] PCI 0000:00:00.0:支持 D1
[8.301994]   PCI 0000:00:00.0:D0 D1 D3hot 支持 PME#
[8.310775]   PCI 0000:00:00.0:桥接器配置无效 ([bus 00-00])、重新配置
[   8.319096] PCI_BUS 0000:01:Busn_res:[bus 01-ff] End 已更新为 01
[8.325794]   PCI 0000:00:00.0:条形码 0:没有用于[mem size 0x1000000 64 位 pref]的空间
[8.333559]   PCI 0000:00:00.0 条码 0:分配[mem size 0x1000000 64 位 pref]失败
[8.341649]   PCI 0000:00:00.0:PCI 桥接至[bus 01]
[8.347313]   pcieport 0000:00:00.0:PME:IRQ 510 的信令
[8.353660]   pcieport 0000:00:00.0:AER:启用 IRQ 510
[   8.360173] j721e-pcie-ep f102000.pcie-ep:无法请求资源[mem 0
这会响铃吗?
由于此问题不容易重现、因此非常感谢缩小搜索范围的提示。

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

    你好、Nilson、

    我还不知道如何调试问题、但引导日志不应该有任何与“j721e-PCIe-EP"相关“相关的消息、因为 PCIe 控制器应在 RC 模式下工作、但不应在 EP 模式下工作。 我不确定如何获得这些引导消息、但您不应该更改内核器件树 k3-am642-evm.dts 中与 PCIe 相关的任何内容、该树已将 PCIe 配置为 RC 模式。

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

    谢谢 Bin Lu。

    当问题发生时、将会检测到 SSD。 我们刚刚发现。

       Echo 1 >/sys/bus/pci/rescan

    我们认为这表明它与启动时的节能延迟有关。 当我们检查 SSD 的节能设置时、我们看到它处于 4 级、这些是延迟数字。 您认为这是合理的吗?

    PS     4 : MP:0.0050W 非操作 enlat:54000 exlat:45000 rt:4 rl:4
               RWT:4 RWL:4 IDLE_POWER: — ACTIVE_POWER:-
               active_power_workload:-

    我们需要进行进一步的测试、这可能需要几天的时间。

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

    尊敬的 Nelson:

    我不熟悉 NVMe 或节能设置。 但是、您的设计中预期的 PCIe 总线时钟拓扑是什么? k3-am642-evm.dts 中的默认 SerDes 设置是 AM64x 串行器/解串器在其 ext_REFCLK 引脚上输出 100MHz 时钟。

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

    刘斌,我们解决了

       Echo 1 >/sys/bus/pci/rescan

    这是有效的。 目前我们无法进一步调试。 如果我们将来有更多数据/信息、我将打开一个相关问题。

    感谢你能抽出时间。  

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

    尊敬的 Nelson:

    感谢您的更新。