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 , TDA4APE-Q1 , TDA4VE-Q1 , TDA4VEN-Q1 , TDA4VH-Q1 , TDA4VL-Q1 , TDA4VM , TDA4VM-Q1 , TDA4VP-Q1 , TDA4VPE-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

Driver Status in Linux® DebugFS

The GPU driver adds an entry in the Linux kernel debugfs (/sys/kernel/debug/pvr) that exposes relevant statistics. These can be used to identify the GPU driver version, loading, and configurations. The first to explore is the status entry:

root@j721s2-evm:/sys/kernel/debug/pvr# cat status
Driver Status: OK

Device ID: 0:128
Firmware Status: OK
Server Errors: 0
HWR Event Count: 0
CRR Event Count: 0
SLR Event Count: 0
WGP Error Count: 0
TRP Error Count: 0
FWF Event Count: 0
APM Event Count: 15
GPU Utilisation: 0% 

VM0
2D Utilisation: 0% 
GEOM Utilisation: 0% 
3D Utilisation: 0% 
CDM Utilisation: 0% 
RAY Utilisation: 0% 
GEOM2 Utilisation: 0%

The important sections are the following:

  • Firmware Status: Current status of the firmware running internally in the GPU. Make sure that the firmware is OK, otherwise the GPU status has deteriorated and the processing is compromised.
  • HWR Event Count: Number of HWRs that have occurred. In normal circumstances, this number stays at 0. If this number is greater than 0, please submit a ticket to analyze the criticality of the issue.
  • GPU Utilization: This percentage is a rough generalization of the GPU loading. More precise measurements can be done with PVRTune (an Imagination Technologies® tool). Look for PVRTune instructions in a future TI application note.