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:DMTimer2内核挂起故障

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/578620/linux-am3352-dmtimer2-kernel-suspend-failure

器件型号:AM3352

工具/软件:Linux

在 Processor-SDK 1.03中、是否存在与 timer2系统计时器中断相关的任何已知问题、这些问题会导致挂起故障?

一位客户报告说,在深度睡眠0 (DS0)暂停/恢复测试周期期间,他们偶尔会看到“内核挂起故障”消息。

进一步的研究似乎指向/arc/arm/mach-omap2/timer.c _suspend()和_resume()函数中的 DMtimer2中断

这有道理吗?

请参阅下面的详细调试步骤:

在 CPU_SUSPEND ()的非零返回后,我能够在[硬件]上重现一个“内核挂起失败”实例,并设置调试代码以读取 INTC_SIR_IRQ 寄存器。 值为0x44、即十进制的68。  ‘,我查看/proc/interrupts,发现 INTC 68是“gp_timer”。  该‘在…/arch/arm/mach-omap2/timer.c 中设置,是硬件 timer2中断,即“时钟事件”系统计时器。

之前的调试代码读取四个 INTC_PEND_BUDK_IRQn 寄存器中的每一个、但它们都为0。  TRM 似乎意味着它们不会显示屏蔽的中断。 这就是我切换到读取 INTC_SIR_IRQ 的原因。

timer.c 确实具有_suspend()和_resume()函数。 OMAP-clkevt_SUSPEND ()仅执行模块空闲操作、我已验证 AM33XX_CM_PER_TIMER2_CLKCTRL 寄存器为0x00030000、这是禁用状态。  但_SUSPEND 不会禁用中断。

因此,我想问,在 Processor-SDK 1.03中,是否存在与 timer2系统计时器中断相关的任何已知问题,这些问题会导致挂起失败?

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

    我在列表中查看了 PSDK 1.03的已知问题、但我找不到与 timer2相关的任何内容:

    processors.wiki.ti.com/index.php

    您是否在 AM335x TI EVM 上测试过此问题?

    我们有一个可能相关的勘误表、请查看 Advisory 1.0.39 GPTimer:唤醒后读取某些 GPTimer 寄存器所需的延迟

    另请参阅以下 e2e 线程是否将提供帮助:
    e2e.ti.com/.../497845

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、我们是否有更多有关以下内容以及如何修复的详细信息?:
    >>D-02035中型 AM335x:电源:内核挂起故障有时无 X

    (还请相信您的上述 E2E 链接是内部链接、因此无法从外部访问)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Joe George">谢谢、我们是否有更多有关以下内容以及如何解决这些问题的详细信息?:
    >>D-02035中型 AM335x:电源:内核挂起故障有时无 X
    [/报价]

    我能够发现、这个问题一直持续到 PSDK 3.0出现、名称为"LCPD-985 Power:有时会看到内核挂起故障"。 此问题已在 PSDK 3.1中修复

    网址: Git://git.ti.com/processor-sdk/processor-sdk-linux.git
    分支:PROCESSOR-SDK-LINUX-03.01.00
    提交 ID:db0b54cdadef2d754ef7c2d8dd7300ef085985ef

    您可以检查 git 日志以查找哪个修补程序(或多个修补程序)可以解决此问题、请检查 PSDK 3.0和 PSDK 3.1之间的日志。 您还可以在我们的 JIRA 系统中搜索有关 LCPD-985的信息

    [引用 user="Joe George"](还认为您的上述 E2E 链接是内部链接、因此无法从外部访问)。

    还相信您可以访问此链接。

    此致、
    帕维尔

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

    内核暂停失败在我们的所有内核中仍然很少出现、它们是由中断导致的暂停路径中的延迟中止引起的。 中断导致中断的时间窗口非常小、因此很少出现这种情况、如果内核挂起失败发生、则立即尝试应该成功而不会出现问题。