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

Post-Installation Steps

Now that both UM and KM libraries are updated, the system is ready for testing. When the Linux prompt appears, determine if the libraries were auto-loaded by running dmesg | grep -i pvr and view the output as follows:

root@j721s2-evm:~# dmesg | grep -i pvr 
[ 5.085836] pvrsrvkm: loading out-of-tree module taints kernel.
[ 5.222004] PVR_K: 189: Read BVNC 36.53.104.796 from HW device registers
[ 5.415963] PVR_K: 189: RGX Device registered BVNC 36.53.104.796 with 1 core in the system
[ 5.672381] [drm] Initialized pvr 1.15.6133109 20170530 for 4e20000000.gpu on minor 0
[ 9.168474] PVR_K: 274: RGX Firmware image 'rgx.fw.36.53.104.796' loaded
[ 9.186869] PVR_K: 274: Shader binary image 'rgx.sh.36.53.104.796' loaded

Notice the RGX Firmware image * loaded. This means the GPU has loaded the firmware.

If you want to sanity check that the GPU is running, run this unit-test application that is part of the GPU driver:

root@j784s4-evm:~# rgx_compute_test 
------------------ RGX compute test -----------------
----------------------- Start -----------------------
Call PVRSRVConnectionCreateDevice with a valid argument:                                                                                                                                      
Connecting to first (0) default pvr device                                                                                                                                                    
 OK
Create dev var context:
 OK
Looking up General heap handle
 OK
Getting event object
 OK
Creating robustness buffer
 OK
Mapping robustness buffer
 OK
Creating Compute Context
 OK
Creating Buffer
Creating DWord for CDM Event Object
...
Destroy Compute Context
 OK            
                                               
Total time: 0ms
Disconnect from services:     
 OK                           
------------------------ End ------------------------

These results indicate that the GPU driver is running correctly. Further issues can result from applications trying to access a display, but that is a separate discussion. At this point, the user knows that the GPU driver is up and running.