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:RC 和 EP 之间的 AM572x PCIe 连接

Guru**** 2609895 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/655556/linux-am572x-pcie-connection-between-rc-and-ep

工具/软件:Linux

你好。

我想通过 PCIe 连接我的器件(am5728-EVM)。

我在 EP 模式下生成 zImage。

当我想生成 RC zImage 时、我会根据吹出的行更改配置文件:

CONFIG_PCI=y
 CONFIG_PCI_EN终结 点_TES=y
CONFIG_PCI_DRA7XX_HOST=y 
当我创建 zImag 时、我遇到以下错误:

drivers/MiSC/PCI_endpoint_test.c:在函数'PCI_endpoint_test_copy'中:
drivers/MISC/PCI_endpoint_test.c:205:43:错误:从不兼容的指针类型传递'dma_alloc_相干'的参数3 [-Werror=incompatible -pointer-types]
src_addr = dma_alloc_相干(dev、size、&src_phy_addr、GFP_kernel);
^μ A
在./arch/arm/include/asm/dma-mapping.h:49:0中包含的文件中、
从 include/Linux/dma-mapping。h:87、
从 include/ASM-general/PCI-dma-compat.h:7、
来自./arch/arm/include/asm/pci.h:5、
从 Include/Linux/PCI.h:1502、
从 drivers/MiSC/PCI_endpoint_test.c:30:
include/asm-generic/dma-mapping common.h:286:21:注意:预期的'dm_addr_t *{aka unsigned int *}'、但参数类型为'phys_addr_t *{aka long unsigned int *}'
静态内联 void * dma_alloc_相干(struct device * dev、size_t size、
^μ A
drivers/MISC/PCI_endpoint_test.c:221:43:错误:从不兼容的指针类型传递'dma_alloc_相干'的参数3 [-Werror=incompatible -pointer-types]
dst_addr = dma_alloc_相干(dev、size、&dst_phys_addr、GFP_kernel);
^μ A
在./arch/arm/include/asm/dma-mapping.h:49:0中包含的文件中、
从 include/Linux/dma-mapping。h:87、
从 include/ASM-general/PCI-dma-compat.h:7、
来自./arch/arm/include/asm/pci.h:5、
从 Include/Linux/PCI.h:1502、
从 drivers/MiSC/PCI_endpoint_test.c:30:
include/asm-generic/dma-mapping common.h:286:21:注意:预期的'dm_addr_t *{aka unsigned int *}'、但参数类型为'phys_addr_t *{aka long unsigned int *}'
静态内联 void * dma_alloc_相干(struct device * dev、size_t size、
^μ A
drivers/MiSC/PCI_endpoint_test.c:在函数'PCI_endpoint_test_write'中:
drivers/MISC/PCI_endpoint_test.c:264:39:错误:从不兼容的指针类型传递'dma_alloc_相干'的参数3 [-Werror=incompatible -pointer-types]
Addr = dma_alloc_相干(dev、size、&phys_addr、GFP_kernel);
^μ A
在./arch/arm/include/asm/dma-mapping.h:49:0中包含的文件中、
从 include/Linux/dma-mapping。h:87、
从 include/ASM-general/PCI-dma-compat.h:7、
来自./arch/arm/include/asm/pci.h:5、
从 Include/Linux/PCI.h:1502、
从 drivers/MiSC/PCI_endpoint_test.c:30:
include/asm-generic/dma-mapping common.h:286:21:注意:预期的'dm_addr_t *{aka unsigned int *}'、但参数类型为'phys_addr_t *{aka long unsigned int *}'
静态内联 void * dma_alloc_相干(struct device * dev、size_t size、
^μ A
drivers/MISC/PCI_endpoint_test.c:在函数'PCI_endpoint_test_read'中:
drivers/MISC/PCI_endpoint_test.c:308:39:错误:从不兼容的指针类型传递'dma_alloc_相干'的参数3 [-Werror=incompatible -pointer-types]
Addr = dma_alloc_相干(dev、size、&phys_addr、GFP_kernel);
^μ A
在./arch/arm/include/asm/dma-mapping.h:49:0中包含的文件中、
从 include/Linux/dma-mapping。h:87、
从 include/ASM-general/PCI-dma-compat.h:7、
来自./arch/arm/include/asm/pci.h:5、
从 Include/Linux/PCI.h:1502、
从 drivers/MiSC/PCI_endpoint_test.c:30:
include/asm-generic/dma-mapping common.h:286:21:注意:预期的'dm_addr_t *{aka unsigned int *}'、但参数类型为'phys_addr_t *{aka long unsigned int *}'
静态内联 void * dma_alloc_相干(struct device * dev、size_t size、
^μ A

如何解决? 
请帮帮我。