SPRADI3 June   2024 AM625 , AM62P , AM67 , AM67A , AM68 , AM68A , AM69 , AM69A , DRA829J , DRA829J-Q1 , DRA829V , DRA829V-Q1 , TDA4AEN-Q1 , TDA4AH-Q1 , TDA4AL-Q1 , TDA4AP-Q1 , TDA4VE-Q1 , TDA4VEN-Q1 , TDA4VH-Q1 , TDA4VL-Q1 , TDA4VM , TDA4VM-Q1 , TDA4VP-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2Common Issues with Graphics Applications
    1. 2.1 System or Application Freeze
      1. 2.1.1 Typical Kernel Panic Logs
    2. 2.2 Screen Tearing
    3. 2.3 Artifacts or Corruption in the Screen
    4. 2.4 Blank Screen
    5. 2.5 Low Frame Rate
    6. 2.6 GPU Driver Logs and Hardware Recoveries
      1. 2.6.1 Typical GPU HWR Logs
  6. 3Support Flow for Graphics Issues
    1. 3.1 Submit Preliminary Description
    2. 3.2 Determine if the Issue Reproduces on TI EVM
    3. 3.3 Provide Follow-Up Testing and Logs
  7. 4Tools for GPU Driver Debug
    1. 4.1 Driver Status in Linux® DebugFS
    2. 4.2 Driver AppHints
    3. 4.3 PVR Log Dump Collection
    4. 4.4 Adding Log Groups to Firmware Traces
    5. 4.5 Disabling the Driver After Hardware Recovery
    6. 4.6 Disable Autoloading of the GPU Driver
  8. 5Integrating Patched GPU Drivers
    1. 5.1 UM Libraries Installation
    2. 5.2 KM Libraries Installation
    3. 5.3 Post-Installation Steps
  9. 6Summary

Typical Kernel Panic Logs

root@tda4vm-sk:~# [ 5894.898990] Unable to handle kernel NULL pointer dereferen0
[ 5894.907770] Mem abort info:
[ 5894.907940] Unable to handle kernel paging request at virtual address ffb8000
[ 5894.910552] ESR = 0x96000046
[ 5894.918446] Adjusting arch_sys_counter more than 11% (651145911 vs 93113548)
[ 5894.921484] EC = 0x25: DABT (current EL), IL = 32 bits
[ 5894.928527] Unable to handle kernel paging request at virtual address ffd2004
[ 5894.933800] SET = 0, FnV = 0
[ 5894.941691] Mem abort info:
...
[ 5894.984251] Hardware name: Texas Instruments J721E SK (DT)
[ 5894.984254] pstate: 80000085 (Nzcv daIf -PAN -UAO -TCO BTYPE=--)
[ 5894.984265] pc : _raw_write_lock_irqsave+0x168/0x318
[ 5894.984270] lr : try_to_wake_up+0x5c/0x4e0
[ 5894.984271] sp : ffff8000113afdd0
[ 5894.984273] x29: ffff8000113afdd0 x28: ffff8000100d8ad0
[ 5894.984277] x27: ffff00087fa88300 x26: 0000000000000006
...
[ 5894.984319] x1 : 0000000000000000 x0 : 0000000000010003
[ 5894.984323] Call trace:
...
[ 5894.984397] el1_sync_handler+0xac/0xc8
[ 5894.984399] el1_sync+0x88/0x10
[ 5894.984401] 08ff00800v10f826b8
[ 5894.984406] Code: 451806018d5334611 526b0a90 f8800871 f8850fc60)
[ 5894.984413] ---[ end trace 2f5eabcaa9b203ad ]---
[ 5894.984416] Kernel panic - not syncing: Oops: Fatal exception in interrupt
[ 5894.984419] SMP: stopping secondary CPUs
[ 5896.056422] SMP: failed to stop secondary CPUs 0-1
[ 5896.056429] Kernel Offset: disabled
[ 5896.056431] CPU features: 0x0040022,20006008
[ 5896.056433] Memory Limit: none
[ 5896.481800] ---[ end Kernel panic - not syncing: Oops: Fatal exception in in-