Skip to content

MI VDF DEBUG SOP


REVISION HISTORY

Revision No.
Description
Date
1.00
  • Initial release
  • 01/18/2024

    Preface

    This document provides guidance on common troubleshooting methods when using VDF functionality.

    1. Issues

    1.1 Results Do Not Meet Expectations

    STEP 1: Verify Parameters Are Normal

    1. Refer to the VDF API documentation for parameter interpretation and confirm that the parameters provided to the algorithm are correct.

    2. Enter the following command to capture proc information for analysis by the VDF owner.

      cat /proc/mi_modules/mi_vdf/mi_vdf0

    1.2 Memory Access Violation

    When a VDF memory access violation occurs, similar logs are typically output via the serial port:

    [MI WRN] MI_SYS_Mma_MmuCallback [mi_sys][365]: [MI_SYS_Mma_MmuCallback] Status=0x4, PhyAddr=0x41220000, ClientId=0x72, IsWrite=1
    

    STEP 1: Enter the Following Commands to Capture Information

    1. Modify the debugMmu field in /config/modparam.json to 1 to enable debug MMU functionality.

    2. Enter the following commands to capture kmsg information for analysis by the VDF owner.

      echo 4 > /proc/mi_modules/mi_vdf/debug_level

      echo debug_mmu debug_log 1 1 1 1 > /proc/mi_modules/mi_sys/mi_sys0

      cat /proc/kmsg

    1.3 VDF Hang

    When VDF hangs, a large number of the following logs are typically output via the serial port:

    ## input:
    [MI WRN ]: _MI_SYS_Pass_Try_DequeueInputTaskNoLock[3394]:  [thread:vdf0_P0_MAIN] mod[1] dev[0] pass[0] chn[0] inputtask CheckInputTaskStatus failed more than 2010ms,total pending task0
    ## output:
    [MI WRN ]: _MI_SYS_Pass_TryDequeueOutputTaskNoLock[6154]:  [thread:vdf0_P0_MAIN] mod[1] dev[0] pass[0] chn[0] output not finished more than 5000ms
    

    STEP 1: Confirm Whether IVE Has Hung

    1. Refer to the IVE module debug SOP to confirm whether IVE has hung.

    STEP 2: Enter the Following Commands to Capture Information

    1. Enter the following command to capture proc information (capture at least three times) for analysis by the VDF owner.

      cat /proc/mi_modules/mi_vdf/mi_vdf0 2. Enter the following command to capture thread function call information (capture at least three times) for analysis by the VDF owner.

      echo show_threads > /proc/mi_modules/mi_sys/mi_sys0

    1.4 Other Issues

    1. Enter the following commands to capture proc information (capture at least three times) and kmsg information for analysis by the VDF owner.

      cat /proc/mi_modules/mi_vdf/mi_vdf0

      echo 4 > /proc/mi_modules/vdf/debug_level

      cat /proc/kmsg > /mnt/xxx.txt