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.

[参考译文] TDA4VH-Q1:TDA4VH PCIe:DMA 和 CPU 事务交错

Guru**** 2422790 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1542347/tda4vh-q1-tda4vh-pcie-dma-and-cpu-transaction-interleaving

器件型号:TDA4VH-Q1
Thread 中讨论的其他器件:TDA4VH

工具/软件:

您好:

 

以下是我的问题和背景:

 

和配置 :一个通过 PCIe 3.1 直接连接到端点的 TDA4VH(根复合体)。

 

用例

在 TDA4VH 上、我想通过 PCIe 使用 DMA 发送大量数据。

同时、我想由 CPU 执行 PCIe I/O 写入。

所有这些事务都在同一个虚拟通道中(由只有一个 VC 的端点施加)。

需要尽快发送 I/O 写入事务。

 

 

 问题 是: 在 DMA 运行期间(在 DMA 启动的 2 个 PCIe 写入事务之间)是否可以输出 I/O 写入事务、或者只有在 DMA 完成时才输出 I/O 写入事务? 是否有保证事务交错的特殊配置?

 

感谢您的回答

JPH

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

    尊敬的 JPH:

    我们已经验证的是使用 DMA、或者不使用 DMA: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/pci/endpoint/functions/pci-epf-test.c?h=ti-linux-6.1.y#n517

    PCIe CPU/RC 示例中有一个参数、您可以传入以在使用 EP 和使用 CPU 写入执行 PCIe 传输之间切换。 您可以尝试使用 EP /RC 示例对打算实现的内容进行仿真。

    此致、

    Takuma

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

    尊敬的 Takuma:

    感谢您的回答。

    我知道我的问题没有直接的回答、最好的办法是尝试生成用例。

    我们使用 C7x 进行 PCIe 访问。 是否有一个可用于 C7x 的 DMA 发起的 PCIe 传输示例可用? 这将是一个很大的帮助。

    谢谢、

    JPH

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

    尊敬的 JPH:

    [报价 userid=“99231" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1542347/tda4vh-q1-tda4vh-pcie-dma-and-cpu-transaction-interleaving/5949093

    是否有一个可用于 C7x 的 DMA 发起的 PCIe 传输示例可用? 这将是一个很大的帮助。

    [/报价]

    没有、我们没有任何适用于 C7x 的 PCIe 示例。 我们仅 支持在 A72 内核上运行的 Linux 驱动程序作为 PCIe 示例。

    此致、

    Takuma