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:SDK 10.01.10.04中的循环模式 UDMA 问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1524372/am625-a-cyclic-mode-udma-issue-in-sdk-10-01-10-04

器件型号:AM625

工具/软件:

大家好、我有一个具有 am625处理器的开发板。 我从 SDK 09.01.00.08升级到10.01.10.04、然后音频部件出现问题。 我调试并发现循环 DMA 部分似乎有问题。 我回滚 git patch e0a0ce8c2684c13fab0e65be767d036dfa592ee1然后应用了补丁 f53378ff892b70c24ee6a0364ae94b690b70d11d 然后问题解决了。 我不知道这是我的配置有问题、还是 DMA 器件本身有错误。
在回滚补丁之前、音频部分的错误来自循环模式 DMA 中断的较长间隔、每个中断都必须用1000个 Jiffies 隔开。 我在 driver/dma/ti/k3-udo.c 中的 UDMA_TX_STATUS 函数添加了日志、并发现当 peer_bcnt 不断增加时、bcnt 将保持不变。
我注意到补丁 e0a0ce8c2684c13fab0e65be767d036dfa592ee1将 EOP 属性添加到 cppi5_tr_type1_t 标志中、但我无法了解此 cppi5_tr_type1_t 结构的数据是如何使用的。
此问题似乎不是编解码器问题。 我的电路板使用 mcsap0和 mcasp2、这两个都有这个问题。

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

    @@ -3882,6 +3856,7 @@ static enum dma_status udma_tx_status(struct dma_chan *chan,
                            ret = DMA_COMPLETE;
                            delay = 0;
                    }
    +                printk("%s: bcnt=%u, peer_bcnt=%u\n", __func__, bcnt, peer_bcnt);
     
                    dma_set_residue(txstate, residue);
                    dma_set_in_flight_bytes(txstate, delay);
    

    注释日志打印代码。 感谢任何人可以给出一些建议。

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

    你好  

    关于 DMA 启用、您能否说明一下您正在使用哪个内核来执行该操作? 是 A53内核还是不同内核?

    如果您使用的是 A53内核、能否确认哪个操作系统(OS)在 A53内核上运行?

    此致、

    Anil.

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

    感谢您的答复、

    我在 Linux 上使用了 A53内核(在 SDK 10.01.10.04中为 Linux 6.6.58)。

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

    你好韩宇生,

    我已将您的查询转至 Linux 专家。

    您可能会很快得到回复。

    此致、

    Anil.

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

    非常感谢 Swargam Anil、

    很抱歉、我不知道 Linux 专家。 如何联系 Linux 专家?  

    实际上、对于 am625上的 Linux、我仍然有一些问题。

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

    尊敬的 Han:

    您能使用 Linux 内核6.12版本或最新的 SDK 11.0进行测试并向我们提供您的观察结果吗? 10.1 SDK 后的 DMA 驱动程序中也进行了许多修复。

    此外、如果可以附加日志进行分析、  

    此致、

    Suren

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

    您好、Suren

    当然没问题。 我可以再次升级 SDK、看看它是如何实现的。 但在这种情况下、我需要一些时间、因为我有其他具有更高优先级的硬件修改工作(新的开发板仍将使用 am625作为处理器、并使用 Linux 作为系统)。

    可能至少需要半个月到一个月、我才有时间升级。 我需要暂时关闭此问题还是只将其保留在此处?

    此致、

    韩宇生

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

    尊敬的 Han:

    接下来关闭这个。 当您在使用最新的 SDK 版本时再次遇到问题、请打开另一个版本。  

    此致、

    Suren

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

    好的、感谢您的帮助