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.

[参考译文] AM5748:禁用 IPU2

Guru**** 2543920 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/834594/am5748-disabling-ipu2

器件型号:AM5748

如何禁用 ipu2以在 AM57xx 上重复使用其 CMA 分配?

当我们尝试从 DTS 中禁用 ipu2时:

       ipu2_memory_region:ipu2-memory@95800000{
           兼容="共享 dma-pool ";
           REG =<0x0 0x95800000 0x0 0x3800000>;
           可重复使用;
           STATUS ="禁用";
       };

ipu2{(&I)
   STATUS ="禁用";
   memory-region =<&ipu2_memory_region>;
};

Dsp1 FW 无法启动、因为其(和其他)映射更改为:

总计0
lrwxrwxrwx   1 root    root            用户0解码16 03:33 remoteproc0 ->./../devices/platform/44000000.ocp/58820000.ipu/remoteproc/remoteproc0
lrwxrwxrwx   1 root    root            用户0 Decec 1603:33 remoteproc1->../../devices/platform/44000000.ocp/40800000.dsp/remoteproc/remoteproc1
lrwxrwxrwx   1 root    root            用户0 Decec 1603:33 remoteproc2->../../devices/platform/44000000.ocp/41000000.dsp/remoteproc/remoteproc2
lrwxrwxrwx   1 root    root            用户0 Decec 1603:34 remoteproc3 ->../../devices/platform/44000000.ocp/4b226004.pruss_soc_bus/4b200000.pruss/4b234000.pru/remoteproc/remoteproc3
lrwxrwxrwx   1 root    root            用户0 Decec 1603:34 remoteproc4->./../devices/platform/44000000.ocp/4b226004.pruss_soc_bus/4b200000.pruss/4b238000.pru/remoteproc/remoteproc4
lrwxrwxrwx   1 root    root            用户0 Decec 1603:34 remoteproc5 ->./../devices/platform/44000000.ocp/4b2a6004.pruss_soc_bus/4b280000.pruss/4b2b4000.pru/remoteproc/remoteproc5
lrwxrwxrwx   1 root    root            用户0 Decec 1603:34 remoteproc6 ->./../devices/platform/44000000.ocp/4b2a6004.pruss_soc_bus/4b280000.pruss/4b2b8000.pru/remoteproc/remoteproc6

在 DTS 中禁用 ipu2之前:

root@am57xx-evm:/sys/class/remoteproc ls -l
总计0
lrwxrwxrwx   1 root    root root            用户0 2018年12月16日 remoteproc0 ->../../devices/platform/44000000.ocp/58820000.ipu/remoteproc/remoteproc0
lrwxrwxrwx   1 root    root root            用户0 2018年12月16日 remoteproc1 ->../../devices/platform/44000000.ocp/55020000.ipu/remoteproc/remoteproc1
lrwxrwxrwx   1 root    root 用户            0 2018年12月16日 remoteproc2 ->../../devices/platform/44000000.ocp/40800000.dsp/remoteproc/remoteproc2
lrwxrwxrwx   1 root    root 用户            0 2018年12月16日 remoteproc3 ->../../devices/platform/44000000.ocp/41000000.dsp/remoteproc/remoteproc3
lrwxrwxrwx   1 root    root 用户            0 2018年12月16日 remoteproc4 ->../../devices/platform/44000000.ocp/4b226004.pruss_soc_bus/4b200000.pruss/4b234000.pru/remoteproc/remoteproc4
lrwxrwxrwx   1 root    root 用户            0 2018年12月16日 remoteproc5 ->../../devices/platform/44000000.ocp/4b226004.pruss_soc_bus/4b200000.pruss/4b238000.pru/remoteproc/remoteproc5
lrwxrwxrwx   1 root    root 用户            0 2018年12月16日 remoteproc6 ->../../devices/platform/44000000.ocp/4b2a6004.pruss_soc_bus/4b280000.pruss/4b2b4000.pru/remoteproc/remoteproc6
lrwxrwxrwx   1 root    root 用户            0 2018年12月16日 remoteproc 7 ->../../devices/platform/44000000

禁用 ipu2以便将其 CMA 内存释放到 Linux 的正确方法是什么?

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

    您好、Paritosh、

    您能否共享无法加载的 DSP 终端输出?

    据我所知、名称"remoteprocX"在引导时分配、因此不能保证 dsp1始终具有相同的 remoteprox"名称。 如果您正在为 DSP 加载过程编写脚本、我会进行一些检查、以确保"remoteproc2"指向您认为它指向的内核。

    此致、

    Nick

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

    您好、Nick、

    你是对的。 问题是硬编码的脚本在查找错误的节点...

    1.在脚本中标识注释(例如 dsp1)的正确方法是什么?

    这是 dsp1的正确路径:/sys/devices/platform/44000000.ocp/40800000.dsp/remoteproc/remoteproc */state

    2.我们能否从 C 程序启动/停止 FW,即 remoteproc 是否公开了一些 ioctl 接口?

    谢谢、

    Paritosh

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

    您好、Paritosh、

    我很抱歉耽误你的答复。 请查看我们 的 AM57xx IPC 文档。 具体而言、请参阅"运行捆绑 IPC 示例"小节、了解 在/sys/bus/platform/drivers/omap-rproc/.中为 DSP1运行 BIND 和 UNBIND 的步骤

    此致、

    Nick