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/AM3352:在内核中更改 EDMA 请求优先级

Guru**** 2618185 points

Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/581012/linux-am3352-changing-edma-request-priority-in-kernel

器件型号:AM3352

工具/软件:Linux

你(们)好

我正在使用 TI 提供的 SDK.08.00.00.00。 在我们的定制设计中、GPMC 接口用于 am3352和 FPGA 之间的连接。 EDMA 用于 FPGA 和 CPU 之间的数据传输。 但正如您所知、FPGA 通常具有很少的存储器资源。 因此、FPGA 需要更频繁地触发 DMA 事务、例如每秒20次。 但 CPU 偶尔会错过此 EDMA 请求。 我知道每秒可能会20次。 但我现在没有其他方法了。 那么、在 Linux 内核中、是否有任何方法可以提高 EDMA 请求的优先级?

此致

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

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

    嗨、Biser

    感谢你的帮助。 我的意思是如何证明 EDMA 事件的时间响应?

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

    可以在 SoC 中设置优先级、请参阅第11.3.14.4节系统(传输控制器)优先级和第11.3.14.2节触发源优先级。 但是、一般情况下、Linux 会为所有事件设置最高优先级、而不像 RTOS 那样对其进行管理。 如果要更改 EDMA 事件的优先级、必须直接从驱动程序修改第11.3.14.2和11.3.14.4节中所述的寄存器、为 FPGA DMA 传输设置最高优先级、为所有其他 DMA 传输设置较低优先级。

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

    我们的设计中没有其他 DMA 传输。 我是指从 EDMA 事件置位到 DMA 事务开始的时间响应。 通常情况下、它非常快、但有时在特定时间段内没有响应。 如何避免这种情况?

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

    或许最合适的解决方案是尝试为处理 AM335x 和 FPGA 之间的数据传输的过程设置更高的优先级、并查看您是否能够解决该问题。

    此致、
    Yordan