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.

[参考译文] AM625:AM62x:替换 dma_buf_phys 驱动程序

Guru**** 2419530 points
Other Parts Discussed in Thread: AM625

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1535791/am625-am62x-replacement-of-dma_buf_phys-driver

器件型号:AM625


工具/软件:


SoC:AM62X SR1.0 HS-SOC FS
型号:Texas Instruments K3 AM625 SoC

尊敬的 TI 支持:

我们一直在使用 AM62x 处理器、并实现了一种利用 dma_buf_phys 驱动程序来获取共享数据缓冲区物理地址的远程 IPC 解决方案。 该缓冲器用于 M4F 内核和 A53 内核之间的数据交换。

将我们的 Linux 平台升级到使用更高版本的 TI 内核 (6.1 到 6.6) 后、我们注意到该 dma_buf_phys 驱动程序不再可用。 我们想了解以下情况:

  1.  dma_buf_phys 新的 Linux 平台中是否有替代驱动程序或替代驱动程序?
  2. 我们可以采取哪些步骤来使用新驱动程序或任何其他推荐方法实现相同的功能(即获取共享数据缓冲区的物理地址)?

非常感谢你就此问题提供指导。

此致、
Adwin Ong

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

    您好、Adwin、

    将远程处理器内存公开到 Linux 用户空间的“ Linux 标准“方法是什么?  

    此时、Linux 社区仍在以“最佳“方式向 Linux 用户空间公开内存。 这意味着不同的 Linux 内核版本使用不同的共享内存方法。 这也意味着 TI 在 Linux 内核 6.6 和 6.12 上支持的方法在更高版本的 Linux 内核上可能不受支持。

    我们可以使用 zerocopy 示例作为起点

    在 Linux 内核 5.10 和 6.1 中、TI 向 dma_buf_phys 提供了补丁、以向 Linux 用户空间公开存储器。 对于这些内核版本、请参阅 zerocopy 示例分支 ti-linux-6.1:
    https://git.ti.com/cgit/rpmsg/rpmsg_char_zerocopy/

    TI 工程师目前认为、扩展 Remoteproc CDev 驱动程序是“最佳“解决方案。 因此、对于 Linux 内核 6.6 和 6.12、我们支持改用 Remoteproc CDev 驱动程序。 由于 CDev 更改尚未递增、因此您需要向 Linux 添加一些补丁、类似于在以前的 Linux 内核版本中启用 dma_buf_phys 驱动程序所需的补丁。 有关更多信息、请参阅 zerocopy 示例 master branch Linux README.md:
    https://git.ti.com/cgit/rpmsg/rpmsg_char_zerocopy/tree/linux/README.md

    此致、

    Nick

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

    您好、Nick、

    我们之前已经按照 zerocopy 示例使用 dma_buf_phys 开发了产品应用、因此我们想使用我们找到的这个补丁 ( git.ti.com) 重新修补它。 我们已经成功地做到了这一点、并测试了它是否对我们有用。

    但我们想了解、如果我们要使用修补程序配送产品、是否存在与修补程序相关的已知安全风险或法律问题? 您能就风险向我们提供建议吗?

    此致、
    Adwin Ong