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.

[参考译文] Linux/AM5726:PCIe 桥接器问题

Guru**** 2595805 points
Other Parts Discussed in Thread: AM5726, XIO2001

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/586976/linux-am5726-pcie-bridge-issue

器件型号:AM5726
Thread 中讨论的其他器件: XIO2001

工具/软件:Linux

大家好、

我们正在使用 AM5726 Sitara 处理器开发定制板。 我们的产品旨在用作网络摄像头和 WiFi 接入点。  

我们的 WiFi 卡兼容 mini-PCI、并通过 PCI-e 接口连接到 AM572x 处理器。 我们在这2之间有 XiO 桥、用于从 PCI-mini 转换到 PIC-e、反之亦然。  

在开发过程中、我们遇到了一个问题。 问题是、我们必须从 Linux 内核中禁用"消息信号中断(MSI 和 MSI-X)"选项、以使 WiFi 正常工作。

提示:消息信号中断(MSI 和 MSI-X) x
X 位置:X
x ->总线支持

如果我们保持启用此选项、则无法在/proc/interrupts.中看到 WiFi 卡的任何中断条目  

如果我们禁用此选项,PCI 接口工作正常,但我们看不到任何正在板载生成的“/dev/video”节点条目。 要创建视频节点条目、我们必须启用"消息信号中断"选项。  由于我们在 AM5726的视频并行端口上连接成像仪并捕获实时数据、因此该条目对我们而言同样重要。

那么、这里的问题是、我们如何使用单个内核配置来运行这两个用例?

请在这个问题上帮助我们。

谢谢、

Krinali Shah

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Krinali、

    请指明您正在使用的 ProcSDK 的发布版本。 如果您不使用 ProcSDK 3.2版、请升级到3.2版。 我相信在3.1版中、传统中断和 MSI 不共存。 我有一个 XIO2001连接到我的 AM572x IDK、并将 PCI 以太网卡插入 XiO 桥接器。 我看到器件及其中断。

    root@am57xx-EVM:~# ifconfig
    enp2s2链接 encap:ethernet HWaddr 1C:7E:e5:23:eB:B7
    iNet addr:192.168.10.100 Bcast:192.168.10.255掩码:255.255.255.0
    inet6 addr:fe80::1e7e:e5ff:fe23:ebb7%131536/64范围:链接
    运行多播 MTU:1500公制:1的上广播
    RX 数据包:0错误:0丢弃:0超限:0帧:0
    TX 数据包:35错误:0丢弃:0超限:0载波:0
    冲突:0 txqueuelen:1000
    RX 字节:0 (0.0 B) TX 字节:5622 (5.4 KiB)

    eth0 链路连接:以太网 HWaddr 16:75:8A:A2:D2:CC
    上广播多播 MTU:1500公制:1
    RX 数据包:0错误:0丢弃:0超限:0帧:0
    TX 数据包:0错误:0丢弃:0超限:0载波:0
    冲突:0 txqueuelen:1000
    RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)

    root@am57xx-EVM:~# cat /proc/interrupts
    CPU0 CPU1
    16: 0 0 CBAR 32级 GP_TIMER
    17: 0 0 GIC 29边缘 ARCH_TIMER
    18: 12508 3961 GIC 30边缘 ARCH_TIMER
    22: 0 0 CBAR 4级 L3-dbg-IRQ
    23: 0 0 WUGEN 10级别 L3-APP-IRQ
    25: 8. 0 CBAR 232电平 dra7xx-PCIe-main
    26: 38. 0 CBAR 233级别 dra7-PCIe-msi

    434: 0 0 PCI-MSI 0边缘 PCIe PME、aerdrv
    467: 38. 0 虚拟3边缘 ENP2s2.
    468: 0 0 pinctrl 584边缘 48020000.serial
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Chang、

    我们使用的是 ti-processor-sdk-linux-am57xx-evm-03.00.04
    我可以看到、如果我从内核中禁用"CONFIG_MSI"选项、则会出现中断、正如我在原始帖子中所述。 但是、如果我启用此选项、我将无法看到 WiFi 卡通过任何中断引脚路由。
    您使用什么配置?

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

    3.0.0.4版肯定太旧了、传统中断与 MSI 不共存。 请升级至至少3.2.0.5、以解决共存问题。 我使用具有以下内容的默认配置:

    CONFIG_PCI_MSI=y

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

    感谢您的快速帮助。
    升级内核后还有其他选项吗?
    因为、我们使用的是第三方 WiFi 卡、并且他们已经使用 Linux-4.4.4.12构建了驱动程序。
    如果我们转向更高版本的 Linux 内核、我相信他们还必须在新内核上重新移植整个驱动程序。
    使用现有的 Linux-kernel-4.4.4.12、我是否可以适应这种共存性更改?

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

    ProcSDK 3.2是内核4.4.41。 它们应该兼容。

    雷克斯