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.

[参考译文] SK-AM69:AM69上的 PCIe 地址范围

Guru**** 2465890 points
Other Parts Discussed in Thread: AM69

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1475274/sk-am69-pcie-address-ranges-on-am69

器件型号:SK-AM69
主题中讨论的其他器件:AM69

工具与软件:

运行 Yocto Linux (10.01.00.05 (2024年12月18日))的 AM69无法枚举第三方端点硬件上的大型64位可预取 PCIe 条。

这是硬件限制(分配给控制器的地址位不够)还是可以修复的软件限制/错误?

以下是尝试枚举具有512MB BAR0大小的设备的示例:


[    1.975135] j721e-pcie 2900000.pcie: host bridge /bus@100000/pcie@2900000 ranges:
[    1.982627] j721e-pcie 2900000.pcie:       IO 0x0010001000..0x0010010fff -> 0x0010001000
[    1.990713] j721e-pcie 2900000.pcie:      MEM 0x0010011000..0x0017ffffff -> 0x0010011000
[    1.998795] j721e-pcie 2900000.pcie:   IB MEM 0x0000000000..0xffffffffffff -> 0x0000000000
[    2.215061] j721e-pcie 2900000.pcie: Link up
[    2.219676] j721e-pcie 2900000.pcie: PCI host bridge to bus 0000:00
[    2.225938] pci_bus 0000:00: root bus resource [bus 00-ff]
[    2.231413] pci_bus 0000:00: root bus resource [io  0x0000-0xffff] (bus address [0x10001000-0x10010fff])
[    2.240873] pci_bus 0000:00: root bus resource [mem 0x10011000-0x17ffffff]
[    2.247759] pci 0000:00:00.0: [104c:b012] type 01 class 0x060400
[    2.253754] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x4 may corrupt adjacent RW1C bits
[    2.263490] pci 0000:00:00.0: supports D1
[    2.267490] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    2.275213] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    2.283312] pci 0000:01:00.0: [1e38:0102] type 00 class 0x120000
[    2.289361] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x1fffffff 64bit pref]
[    2.296585] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x00ffffff]
[    2.302855] pci 0000:01:00.0: reg 0x1c: [mem 0x00000000-0x003fffff]
[    2.309346] pci 0000:01:00.0: PME# supported from D0 D3hot
[    2.315162] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    2.321777] pci 0000:00:00.0: BAR 15: no space for [mem size 0x20000000 64bit pref]
[    2.329417] pci 0000:00:00.0: BAR 15: failed to assign [mem size 0x20000000 64bit pref]
[    2.337405] pci 0000:00:00.0: BAR 14: assigned [mem 0x10800000-0x11ffffff]
[    2.344266] pci 0000:01:00.0: BAR 0: no space for [mem size 0x20000000 64bit pref]
[    2.351818] pci 0000:01:00.0: BAR 0: failed to assign [mem size 0x20000000 64bit pref]
[    2.359715] pci 0000:01:00.0: BAR 2: assigned [mem 0x11000000-0x11ffffff]
[    2.366495] pci 0000:01:00.0: BAR 3: assigned [mem 0x10800000-0x10bfffff]



此外,PCIe 地址映射打印到内核日志中的 IB MEM 意味着什么,这看起来像一个大的64位范围,它应该是可以预取的,很容易适应512MB 条?