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/AM3354:AM3354 3D 图形问题

Guru**** 2553260 points
Other Parts Discussed in Thread: AM3354

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/597336/linux-am3354-am3354-3d-graphic-issue

器件型号:AM3354

工具/软件:Linux

大家好、

我的客户报告了3D 图形问题。 他们使用的是 AM3354与 Linux SDK 5.6、PSP 04.06.00.10配合使用。 3D 图形 SDK 为04.09.00.01。

当他们在自己的电路板上运行一些示例应用时、他们遇到了显示问题。  

出现问题时、显示屏将停止刷新、但系统未挂起。 如果我们关闭显示线程、然后重新启动、此3D 显示可能工作良好。此问题偶尔发生。 问题日志如下所示:

[399.470366] PVR_K:(错误):SGXOSTimer () Detected SGX locked (0x16fde tases)[1775、home/blt/Graphics_SDK_4_09_00_01/GFX_Linux_km/服务]

[399.486176] PVR_K:HWRecoveryResetSGX:触发 SGX 硬件恢复
[399.493067] PVR_K:SGX 调试(SGX_DDK_Linux_CustomerTI sgxddk 19 1.9@2188537)
[399.500613] PVR_K:(错误):SGX 寄存器基址(线性):0xC9000000 [1290、home/blt/Graphics_SDK_4_09_00_01/GFX_Linux_km/服务]
[399.516431] PVR_K:(错误):SGX 寄存器基址(物理):0x56000000 [1291、home/blt/Graphics_SDK_4_09_00_01/GFX_LINUX_KM/服务]
[399.532207] PVR_K:(P0) EUR _CR_CORE_ID:01120000
[399.537898] PVR_K:(P0) EUR _CR_CORE_REVISION:00010205
[399.543597] PVR_K:(P0) EUR _CR_EVENT_STATUS:20000001
[399.549288] PVR_K:(P0) EUR _CR_EVENT_STATUS2:00000008
[399.554985] PVR_K:(P0) EUR_CR_BIF_CTRL:00000000
[399.560687] PVR_K:(P0) EUR_CR_BIF_INT_STAT:00000000
[399.566377] PVR_K:(P0) EUR _CR_BIF_FAULT:00000000
[399.572075] PVR_K:(P0) EUR_CR_BIF_MEM_REQ_STAT:00000002
[399.577763] PVR_K:(P0) EUR_CR_CLKGATECTL:00222220
[399.583463] PVR_K:(P0) EUR _CR_PDD_PC_BASE:00000000
[399.589182] PVR_K:显示设备1的翻转命令完成数据0:
[399.5981] PVR_K:SGX 主机控制:
[399.599755] PVR_K:(HC-0) 0x00000001 0x00000000 0x00000000 0x00000001
[399.606691] PVR_K:(HC-10) 0x00000000 0x00000003 0x0000000A 0x00030D40
[399.613675] PVR_K:(HC-20) 0x00000000 0x00000000 0x00000003 0x00000000
[399.620662] PVR_K:(HC-30) 0x00000000 0x00052502 0xFECF6F40 0x00000000
[399.627633] PVR_K:(HC-40) 0x00000000 0x00000000 0x00000000 0x00000000
[399.634611] PVR_K:SGX TA/3D 控制:
[399.638472] PVR_K:(T3C-0) 0x0F003000 0x0F003140 0x0F002000 0x00000000
[399.6454545453] PVR_K:(T3C-10) 0x00000000 0x00000000 0x00000002 0x00000000
[399.652526] PVR_K:(T3C-20) 0x00000000 0x00000000 0x00000000 0x00000000
[399.659586] PVR_K:(T3C-30) 0x00000000 0x00000000 0x00000000 0x00000000
[399.666660] PVR_K:(T3C-40) 0x00000000 0x00000000 0x00000000 0x00000000
[399.673732] PVR_K:(T3C-50) 0x00000000 0x00000000 0x00000000 0x00000000
[399.680803] PVR_K:(T3C-60) 0x00000000 0x00000000 0x00000000 0x00000000
[399.687867] PVR_K:(T3C-70) 0x00000000 0x00000000 0x00000000 0x00000000
[399.694938] PVR_K:(T3C-80) 0x00000000 0x0F0AD718 0x0F0AD55C 0x0F000000
[399.702010] PVR_K:(T3C-90) 0x864D6000 0x0F09AB40 0x0F0AD55C 0x0F08B920
[399.709072] PVR_K:(T3C-A0) 0x0F00AEA0 0x0F0AD718 0x0F0AF840 0x00060000
[399.716174] PVR_K:(T3C-B0) 0x00000000 0x00000000 0x00000000 0x00000000
[399.723248] PVR_K:(T3C-C0) 0x00000000 0x00000000 0x00000000 0x00000000
[399.730319] PVR_K:(T3C-D0) 0x00000000 0x00000000 0x00000000 0x00000000
[399.737386] PVR_K:(T3C-E0) 0x0000BC97 0x0000019A 0x00000199 0x0F000000
[399.744461] PVR_K:(T3C-F0) 0x8000B000 0x8004B000 0x0F004000 0x0F00A420
[399.751537] PVR_K:(T3C-100) 0x0F00A740 0x0F08B000 0x0F08B000 0x00000000
[399.758692] PVR_K:(T3C-110) 0x00000441 0x00000441 0x00000000 0x00000003
[399.765861] PVR_K:(T3C-120) 0x00000002 0x00000000 0x00000001 0x42A15A6E
[399.773024] PVR_K:SGX 内核 CCB WO:0x42 RO:0x3E

由于我在3D 图形 SDK 调试方面的经验非常少、是否有人可以提供一些有关如何调试此问题的线索?

非常感谢!

如需更多信息、请参阅附加文件、例如 dmesg、在发生问题时引导日志。  

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

    +文件。

    e2e.ti.com/.../0842.booting_5F00_log1.txt

    e2e.ti.com/.../8750.booting_5F00_log2.txt

    e2e.ti.com/.../1830.Issue_5F00_log.txt

    e2e.ti.com/.../4375.dmesg_2D00_log1.txt

    e2e.ti.com/.../7455.dmesg_5F00_log2.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、
    我们与客户一起检查了 AM335x 配置。 它运行@ 800MHz、DDR3@303MHz、CORE@OPP100。 似乎没有任何问题。 但是、我们也可以轻松重现此问题。 是否有调试此问题的想法?
    [1461.396508] PVR_K:HWRecoveryResetSGX:触发 SGX 硬件恢复
    [1461.403442] PVR_K:SGX 调试(SGX_DDK_Linux_CustomerTI sgxddk 19 1.9@2188537)
    [1461.410970] PVR_K:(P0) EUR_CR_CORE_ID: 01120000
    [1461.416663] PVR_K:(P0) EUR _CR_CORE_REVISION:00010205
    [1461.422349] PVR_K:(P0) EUR _CR_EVENT_STATUS: 20000000
    [1461.428049] PVR_K:(P0) EUR _CR_EVENT_STATUS2:00000010
    [1461.433743] PVR_K:(P0) EUR_CR_BIF_CTRL: 00000000
    [1461.439429] PVR_K:(P0) EUR_CR_BIF_INT_STAT: 00000000
    [1461.445124] PVR_K:(P0) EUR_CR_BIF_FAULT: 00000000
    [1461.450811] PVR_K:(P0) EUR_CR_BIF_MEM_REQ_STAT:00000000
    [1461.456495] PVR_K:(P0) EUR _CR_CLKGATECTL: 00222220.
    [1461.462174] PVR_K:(P0) EUR _CR_PDD_PC_BASE: 0010004C
    [1461.467870] PVR_K:显示器件的翻转命令完成数据0 1:
    [1461.474654] PVR_K:src 0:(未使用)
    [1461.478683] PVR_K:src 1:(未使用)
    [1461.482719] PVR_K:SGX 主机控制:
    [1461.486498] PVR_K:(HC-0) 0x00000001 0x00000000 0x00000000 0x00000001
    [1461.493377] PVR_K:(HC-10) 0x00000001 0x00000000 0x0000000A 0x00030D40
    [1461.500334] PVR_K:(HC-20) 0x00000000 0x00000001 0x00000000
    [1461.507501] PVR_K:(HC-30) 0x00000000 0x00163BC5 0xEE5FD2D0 0x00000000
    [1461.514482] PVR_K:(HC-40) 0x00000000 0x00000000 0x00000000 0x00000000
    [1461.521444] PVR_K:SGX TA/3D 控制:
    [1461.525312] PVR_K:(T3C-0) 0x0F003000 0x0F003120 0x0F002000 0x00000000
    [1461.532267] PVR_K:(T3C-10) 0x00000000 0x00000000 0x00000002 0x00000000
    [1461.539331] PVR_K:(T3C-20) 0x00000000 0x00000000 0x00000000 0x00000000
    [1461.546391] PVR_K:(T3C-30) 0x00000000 0x00000000 0x00000000 0x00000000
    [1461.553454] PVR_K:(T3C-40) 0x00000000 0x00000000 0x00000000 0x00000000
    [1461.560558] PVR_K:(T3C-50) 0x00000000 0x00000000 0x00000000 0x00000000
    [1461.567622] PVR_K:(T3C-60) 0x00000000 0x00000000 0x00000000 0x00000000
    [1461.574690] PVR_K:(T3C-70) 0x00000000 0x00000000 0x00000000 0x00000000
    [1461.581739] PVR_K:(T3C-80) 0x00000000 0x00000000 0x0F0AD55C 0x0F000000
    [1461.588803] PVR_K:(T3C-90) 0x9E01D000 0x0F091480 0x0F0AD55C 0x0F08B920
    [1461.5913] PVR_K:(T3C-A0) 0x0F00AEA0 0x0F0AD518 0x0F08B920 0x00000000
    [1461.602964] PVR_K:(T3C-B0) 0x00000000 0x00000000 0x00000000 0x00000000
    [1461.610031] PVR_K:(T3C-C0) 0x00000000 0x00000000 0x00007118 0x00007117
    [1461.617088] PVR_K:(T3C-D0) 0x0F000000 0x8000B000 0x8004B000 0x0F004000
    [1461.624150] PVR_K:(T3C-E0) 0x0F00A420 0x0F00A740 0x0F08B000 0x0F08B000
    [1461.631201] PVR_K:(T3C-F0) 0x00000000 0x000003DC 0x000003DC 0x00000000
    [1461.638280] PVR_K:(T3C-100) 0x00000002 0x00000000 0x1BE6B1F6 0x00000001
    [1461.645436] PVR_K:(T3C-110) 0x00000000 0x00000000 0x00000000 0x00000000
    [1461.652575] PVR_K:SGX 内核 CCB WO:0xE2 RO:0xE2
    [4993.343989] PHY:0:00 -链路断开
    [5051.313109] PVR_K:HWRecoveryResetSGX:触发 SGX 硬件恢复
    [5051.320019] PVR_K:SGX 调试(SGX_DDK_Linux_CustomerTI sgxddk 19 1.9@2188537)
    [5051.327553] PVR_K:(P0) EUR_CR_CORE_ID: 01120000
    [5051.333248] PVR_K:(P0) EUR _CR_CORE_REVISION:00010205
    [5051.338927] PVR_K:(P0) EUR_CR_EVENT_STATUS: 20000000
    [5051.344632] PVR_K:(P0) EUR _CR_EVENT_STATUS2:00000010
    [5051.350312] PVR_K:(P0) EUR_CR_BIF_CTRL: 00000000
    [5051.356001] PVR_K:(P0) EUR_CR_BIF_INT_STAT: 00004002
    [5051.361684] PVR_K:(P0) EUR _CR_BIF_FAULT: 006E8000
    [5051.367376] PVR_K:(P0) EUR_CR_BIF_MEM_REQ_STAT:00000002
    [5051.373063] PVR_K:(P0) EUR_CR_CLKGATECTL: 00222220.
    [5051.378748] PVR_K:(P0) EUR _CR_PDD_PC_BASE: 00000000
    [5051.384439] PVR_K:找到页面故障0x006e8000的 MMU 上下文
    [5051.390578] PVR_K:GPU 内存上下文用于 PID=988 (mm)
    [5051.396266] PVR_K:PDE 有效:Pte = 0x00000000 (PhysAddr = 0x00000000、无效)
    [5051.403969] PVR_K:显示设备的翻转命令完成数据0 1:
    [5051.410750] PVR_K:src 0:(未使用)
    [5051.414797] PVR_K:src 1:(未使用)
    [5051.418830] PVR_K:SGX 主机控制:
    [5051.422601] PVR_K:(HC-0) 0x00000001 0x00000000 0x00000000 0x00000001
    [5051.429478] PVR_K:(HC-10) 0x00000001 0x00000001 0x0000000A 0x00030D40
    [5051.436451] PVR_K:(HC-20) 0x00000000 0x00000000 0x00000003 0x00000000
    [5051.443420] PVR_K:(HC-30) 0x00000000 0x004D010F 0x453D5F50 0x00000000
    [5051.450392] PVR_K:(HC-40) 0x00000000 0x00000000 0x00000000 0x00000000
    [5051.457354] PVR_K:SGX TA/3D 控制:
    [5051.461209] PVR_K:(T3C-0) 0x0F003000 0x0F003120 0x0F002000 0x00000000
    [5051.468180] PVR_K:(T3C-10) 0x00000000 0x00000000 0x00000002 0x00000000
    [5051.475242] PVR_K:(T3C-20) 0x00000000 0x00000000 0x00000000 0x00000000
    [5051.482289] PVR_K:(T3C-30) 0x00000000 0x00000000 0x00000000 0x00000000
    [5051.489350] PVR_K:(T3C-40) 0x00000000 0x00000000 0x00000000 0x00000000
    [5051.496408] PVR_K:(T3C-50) 0x00000000 0x00000000 0x00000000 0x00000000
    [5051.503465] PVR_K:(T3C-60) 0x00000000 0x00000000 0x00000000 0x00000000
    [5051.510520] PVR_K:(T3C-70) 0x00000000 0x00000000 0x00000000 0x00000000
    [5051.517577] PVR_K:(T3C-80) 0x00000000 0x0F0AD55C 0x00000000 0x0F000000
    [5051.524637] PVR_K:(T3C-90) 0x9E01D000 0x0F092400 0x0F0AD55C 0x0F08B920
    [5051.531685] PVR_K:(T3C-A0) 0x0F00AEA0 0x0F0AD518 0x0F08B920 0x00000000
    [5051.538751] PVR_K:(T3C-B0) 0x00000000 0x00000000 0x00000000 0x00000000
    [5051.545816] PVR_K:(T3C-C0) 0x00000000 0x00000000 0x0001897C 0x0001897B
    [5051.552864] PVR_K:(T3C-D0) 0x0F000000 0x8000B000 0x8004B000 0x0F004000
    [5051.559926] PVR_K:(T3C-E0) 0x0F00A420 0x0F00A740 0x0F08B000 0x0F08B000
    [5051.566981] PVR_K:(T3C-F0) 0x00000000 0x000003DC 0x000003DC 0x00000000
    [5051.574049] PVR_K:(T3C-100) 0x00000003 0x00000000 0x1BE6B1F6 0x00000004
    [5051.581192] PVR_K:(T3C-110) 0x00000000 0x00000000 0x00000000 0x00000000
    [5051.588344] PVR_K:SGX Kernel CCB WO:0x82 RO:0x81
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    BTW、我们在不使用 OpenGL/3D 的情况下进行了显示静态图片的测试。 其结果是、它可以在很长一段时间内正常工作、而不会出现任何问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您使用的是非常旧的 SDK 和相应的驱动程序。 AM335x LCDC 在某些情况下容易受到比赛条件的影响。 较旧的 LCDC 驱动器更容易出现这种竞争情况。 更新的内核驱动程序再次进行了架构设计、以减少竞争条件问题。 我想知道您是否在系统中遇到该问题、因为它会影响 SGX、从而将其误导为 SGX 问题。 查看以下 e2e 帖子和 wiki 帖子-  

    https://e2e.ti.com/support/arm/sitara_arm/f/791/t/198769

    http://e2e.ti.com/support/arm/sitara_arm/f/791/p/446385/1848230#pi316653=6

    http://processors.wiki.ti.com/index.php/DA8xx_LCDC_Linux_FB_FAQs#Flicker_due_to_underflow_error

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

    您能否告诉我们、哪种示例应用能够重现此问题? 它是 Imagination 提供的基于 SGX 的示例应用吗? 如果是、是哪一个示例? 另外,正在使用哪个窗口系统- X11还是全屏模式?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Manisha、
    非常感谢您的回复!
    根据客户的反馈、他们已在其应用程序中使用此补丁。 所有这些问题说明和报告都基于已使用修补程序的软件。

    //if ((stat & LCD_SYNC_Lost)&&(stat & LCD_FIFO_undercflow){
    if ((stat & LCD_SYNC_Lost)||(stat & LCD_FIFO_undercflow){
    //printk (Kern_ERR "LCDC SYNC 丢失或发生下溢错误\n");
    LCD_disable_caster (no_wait_for_frame_done);
    LCDC_WRITE (stat、LCD_Masked_STAT_REG);
    lcd_enable_光 栅();
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Manisha、
    示例应用是 ti-sdk-am335x/Graphics_sdk_4_09_00_01/gfxsdkdemos/ogles2/OGLES2Water。
    它以全屏模式运行。
    我们正在等待处理、没有任何进一步的调试方法、您能提供帮助吗? 非常感谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Steven、

    我们尝试使用最新的处理器 Linux SDK (3.3)在 EVM 板上运行此演示 、但看不到您报告的问题。 您能否为以下问题提供意见?

    1. 这是唯一显示问题的 ogles2应用程序吗?
    2. 此应用是否仅在客户电路板或 AM335x GP EVM/BBB 上出现故障?
    3. 故障的可重现率是多少?
    4. 是否可以使用应用的 PVRTrace 复制此内容?

    此致、

    Manisha

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

    您好 Steven、

     此问题是否已解决? 我们是否要关闭机票?

    此致、

    Manisha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Manisha、
    感谢您的跟进!
    很抱歉、此问题尚未解决、客户仍在尝试按测试数量找出根本原因。 如果有进一步的更新、我会告诉您! 非常感谢!