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:SDK11.0 MSC "ch0!!&quot 的 UDMA 输出环出队失败;

Guru**** 2584835 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1575366/tda4vh-q1-sdk11-0-msc-udma-output-ring-dequeue-failed-for-ch0

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

工具/软件:

TDA4VH 定制板

SDK 1100 Linux+FreeRTOS

您好 TI 专家:

在 MCU4_0 中、使用了五个 msc 通道。

其中一个通道的输入为 120fps 时的 1920*1380 NV12,120fps 时的输出为 640*460 NV12、其中 vpacDrvInstId 为 VHWA_M2M_VPAC_1_MSC_DRV_INST_ID_0。

其他四个通道在 30fps 下的输入为 1920*1380 NV12、在 30fps 下的输出为 1920*960,1361360*680,960*480 和 680*340 NV12、vpacDrvInstId 为 VHWA_M2M_VPAC_1_MSC_DRV_INST_ID_1。

在上述情况下、运行 7-8 帧后将持续报告以下错误:

src/drv/vhwa_m2mMscUdma.c @ Line 855: 
UDMA Output Ring dequeue failed for ch0!!
src/drv/vhwa_m2mMscUdma.c @ Line 846: 
UDMA Output Ring dequeue mismatch for ch0!!

不到 1 秒后、出现以下错误、用户任务被阻止

src/drv/vhwa_m2mMscUdma.c @ Line 585:
Ring queue failed retVal:-1
src/drv/vhwa_m2mMscIntr.c @ Line 630:
ISR0 Submiit request failed

 回复:TDA4VM:ch0 的 UDMA 输出振铃出队不匹配 

我们提到了其他问题、该错误已在 11.0 中得到修复、但问题仍然存在

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

    您好:

    分配给专家  

    此致

    Tarun  

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

    您好、

    简单的修复方法是增加宏 VHWA_M2M_MSC_MAX_WAIT_LOOP_CNT 中的超时值。 当前值为 5000、是否可以尝试增加到 10000?  

    此致、

    Brijesh

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

    我尝试将其更改为 10000 或 40000、但问题没有改善、仍然存在。

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

    尊敬的 Xi:

    这很奇怪、如果请求已完成、那么 DMA 引擎中应该有一个元素、您是否在系统中运行任何其他模块? 是否只有 5 个 LDC 实例和 5 个 MSC 实例? 是否有显示器或任何其他组件并行运行?

    此致、

    Brijesh

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

    嗨、 

    MCU4_0 仅运行五个 LDC 实例和五个 MSC 实例、而不运行其他组件。 MCU2_0 运行 csirx 组件并通过 IPC 将数据发送到 MCU4_0。

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

    尊敬的 Xi:

    是否可以在 EVM 上重现此问题以简化调试?  

    我可以分享一种权变措施来试用它、我还想了解出现此错误的原因。  

    此致、

    Brijesh

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

    嗨、 

    我尚未在 EVM 上尝试、因为它无法连接到我们的摄像头。 您可以使用 A72 内核从文件系统读取图像数据并将其发送到 MCU4_0、从而重现此问题。 您能分享一下自己的解决方法吗?

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

    尊敬的 Xi:

    这个想法是从环中刷新元素,就在提交新的请求之前,如果我们得到像这样的错误,“ UDMA 输出环出队失败“,只是忽略,看看它是否运行良好。  

    此致、

    Brijesh

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

    嗨、 

    您是否有基于 SDK 11.0 的补丁?

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

    尊敬的 XI:

    您是否可以在 PDK 文件夹上应用附加的补丁、重新编译 SDK、然后试用?  

    /cfs-file/__key/communityserver-discussions-components-files/791/VHWA_5F00_Flush_5F00_Rings_5F00_LDC_5F00_MSC.patch

    此致、

    Brijesh

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

    嗨、 

    很抱歉耽误您的反馈、我无法提前登录、因为 E2E 存在一些网络问题。

    我已测试您提供的补丁,但问题仍然存在 — 它仍显示“uDMA 输出振铃出队不匹配 ch0!!“。

    如果所有五个 MSC 示例都使用 VHWA_M2M_VPAC_1_MSC_DRV_INST_ID_0、问题会消失、但 MSC 处理时间过长、这不符合我们的要求。

    我们仍想使用两个不同的 vpacDrvInstId、因此请帮助我们查看此问题。

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

    尊敬的 Xi:

    以上所有节点是否仅使用 scalar0? 如果是、可以为每个节点实例尝试不同的标量输出吗?  

    此致、

    Brijesh

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

    所有实例都对 vpacDrvInstId 使用 VHWA_M2M_VPAC_1_MSC_DRV_INST_ID_0。 最后四个 MSC 实例输出四个具有不同分辨率的图像、如下图所示:

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

    尊敬的 XI:  

    我问的是、在 MSC 中、您使用的是哪个标量实例? 每个 MSC 可以输出多达 10 个经过缩放的输出。 是否对所有输出使用 scalar0? 您可以尝试对每个句柄使用不同的标量实例吗?  

    此致、

    Brijesh

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

    嗨、 

    使用不同的标量将不会打印“uDMA Output Ring 退队列不匹配 ch0!!“、 但 MSC 处理时间会更长、这不符合我们的性能要求。 有没有办法对此进行优化?

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

    尊敬的 XI:

    使用不同标量时、处理时间不应改变、因为输入路径仍然相同。 您能否按如下所示进行划分。

    具有 Scalar0 的 MSC0

    具有 Scalar1 的 MSC0

    带有 Scalar2 的 MSC0

    带 Scalar3 的 MSC1

    带 Scalar4 的 MSC1。

    此致、

    Brijesh

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

    嗨、 

    感谢你的帮助。 对每个实例使用不同的标量可以解决该问题。 MSC 处理时间较长是由于我们应用中的互斥量导致的、从而阻止了并行处理。