Firefly开源社区

标题: 3588开发板PCIe BAR Memory空间分配问题 [打印本页]

作者: zktyfirefly    时间: 2022-10-11 16:46
标题: 3588开发板PCIe BAR Memory空间分配问题
一、贵司3588J开发板,4x PCIe插槽插入我司的PCIe采集卡,无法进行大容量64MB的高端 BAR Memory地址空间分配问题:
1、lspci、lspci -vvv 及相关启动报错信息分别如下图:
2、dsti文件采用开发板默认配置;我司PCIe采集卡在其他平台Bar Memory空间分配正常。
二、请教:如何解决我司PCIe采集卡在贵司3588J开发板无法进行大容量高端BAR Memory空间分配的问题,谢谢!

1.png (14.13 KB, 下载次数: 95)

1.png

2.png (34.46 KB, 下载次数: 93)

2.png

3.png (75.14 KB, 下载次数: 87)

3.png

作者: 799959745    时间: 2022-10-20 11:50
以这个为例:修改BAR地址空间大小:
pcie2x1l1: pcie@fe180000 {
ranges = <0x00000800 0x0 0xf3000000 0x0 0xf3000000 0x0 0x100000 //0x100000 这里默认设置的是1M size改成128M看看0x8000000
4424 0x81000000 0x0 0xf3100000 0x0 0xf3100000 0x0 0x100000
4425 0x82000000 0x0 0xf3200000 0x0 0xf3200000 0x0 0xe00000
4426 0xc3000000 0x9 0xc0000000 0x9 0xc0000000 0x0 0x40000000>;
作者: bluesea    时间: 2022-11-29 22:02
本帖最后由 bluesea 于 2022-11-29 22:30 编辑

请问您的问题解决了吗 怎么修改的 可以告知吗
是修改u-boot/arch/arm/rk3588.dts、kernel/arch/arm64/boot/dts/rockchip/rk3588.dts两个文件吗,如下所示

        ranges = <0x00000800 0x0 0xf3000000 0x0 0xf3000000 0x0 0x8000000
                          0x81000000 0x0 0xf3100000 0x0 0xf3100000 0x0 0x100000
                          0x82000000 0x0 0xf3200000 0x0 0xf3200000 0x0 0xe00000
                          0xc3000000 0x9 0x00000000 0x9 0x00000000 0x0 0x40000000>;
                reg = <0xa 0x40000000 0x0 0x400000>,
                      <0x0 0xfe150000 0x0 0x10000>;


我这样修改后,插入xilinx的pciex4卡(xdma),3588系统启动停留在了开机画面!!




作者: zktyfirefly    时间: 2023-2-8 15:44
bluesea 发表于 2022-11-29 22:02
请问您的问题解决了吗 怎么修改的 可以告知吗
是修改u-boot/arch/arm/rk3588.dts、kernel/arch/arm64/boot ...

通过修改PCIe卡(Xilinx)固件缩小BAR空间申请,利用Kernel hack出了一大段物理内存的方式规避了此问题。
作者: wx__H6Z50O    时间: 2023-7-19 15:13
zktyfirefly 发表于 2023-2-8 15:44
通过修改PCIe卡(Xilinx)固件缩小BAR空间申请,利用Kernel hack出了一大段物理内存的方式规避了此问题。

麻烦问下具体如何去改呢。 我尝试修改dma_pcie的pcie:Bars中的size为1M或其他。还是会报no space for的错误




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1