跳转至

MI DISP DEBUG SOP


REVISION HISTORY

Revision No.
Description
Date
1.00
  • Initial release
  • 06/17/2024
    1.01
  • Remove CMDQ timeout section
  • 12/04/2024
    2.00
  • Add wbc debug and integrate document
  • 06/09/2025

    前言

    本文档旨在介绍遇到MI DISP相关问题时,如何进行初步排查,快速定位问题,以及确定是Sgs SDK问题后,需提供哪些信息给RD分析。

    1. Panel相关问题

    1.1 屏幕无显示(黑屏)

    Debug 流程:

    流程 确认方法 出口条件 下一步 需提供信息 相关可参考FAQ
    A 交叉试验确认屏幕是否正常 出口条件1:屏幕异常;
    出口条件2:屏幕正常
    出口条件1:请找客户/屏厂协助;
    出口条件2:B
    B 确认开启背光 出口条件1:背光未开;
    出口条件2:背光正常开启
    出口条件1:请找客户/CAE协助;
    出口条件2:C
    C 1.确认padmux是经由padmux.dtsi设置:參考GPIO使用参考
    2.参考tmux table确认配置正确
    出口条件1:padmux设定错误;
    出口条件2:padmux设定正确
    出口条件1:请找客户/CAE协助;
    出口条件2:D
    D 确认M/L swap是否配置正确,若是mipidsi/lvds等panel,需额外确认各data lane swap以及P/N swap是否配置正确 出口条件1:data lane配置错误;
    出口条件2:data lane配置正确
    出口条件1:请找客户/CAE协助;
    出口条件2:E
    E 查阅datasheet,确认是否有power on sequence,若有请量测波形确认有符合规范 出口条件1:上电时序未符合规范;
    出口条件2:上电时序符合规范
    出口条件1:请找客户/屏厂协助;
    出口条件2:F
    F 查阅datasheet,确认是否有initial sequence,若有,请确认应用流程是否有加,并抓取波形确认有正确执行 出口条件1:未正确执行初始化时序;
    出口条件2:正确执行初始化时序
    出口条件1:请找客户/屏厂协助;
    出口条件2:G
    G 利用示波器或逻辑分析仪量测讯号,并确认clock频率,可以请CAE协助 出口条件1:波形异常;
    出口条件2:波形正确
    出口条件1:请找CAE协助;
    出口条件2:H
    H patterngen和force color确认,可查看FAQ链接 出口条件1:无显示或显示异常;
    出口条件2:显示彩条或纯红色
    出口条件1:请执行步骤J并告知disp owner;
    出口条件2:I
    patterngen/force_color setting
    I 固定画面确认:
    echo stopgetbuff 0 0 ON > /proc/mi_modules/mi_disp/mi_disp0(mi_disp1)
    出口条件1:显示画面;
    出口条件2:无显示
    出口条件1:请找disp前级owner协助;
    出口条件2:J
    J Dump信息至Disp owner分析:
    1, dump disp reg
    2, cat /proc/mi_modules/mi_disp/mi_disp0(mi_disp1)
    3, 抓取复现log:
    echo 8 > /proc/mi_modules/mi_disp/debug_level;
    echo 0x800020ff > /proc/mi_modules/mi_disp/debug_hal/dbgmg;
    cat kmsg;
    NA NA

    1.2 屏幕显示花屏或闪烁

    Debug 流程:

    流程 确认方法 出口条件 下一步 需提供信息 相关可参考FAQ
    A 固定画面确认:
    echo stopgetbuff 0 0 ON > /proc/mi_modules/mi_disp/mi_disp0(mi_disp1)
    出口条件1:画面正常无闪烁或花屏;
    出口条件2:画面闪烁或花屏
    出口条件1:请找disp前级owner协助;
    出口条件2:B
    B Dump Buf确认:
    echo dumpframe 0 0 [path] > /proc/mi_modules/mi_disp/mi_disp0(mi_disp1)
    出口条件1:图像异常;
    出口条件2:图像正常
    出口条件1:请找disp前级owner协助;
    出口条件2:C
    C 查阅datasheet确认屏参信息,包括pad driving、data format mode、H/V total/bp/fp等等 出口条件1:屏参配置不正确;
    出口条件2:屏参配置正常
    出口条件1:请找屏厂/disp owner协助;
    出口条件2:D
    D patterngen和force color确认,可查看FAQ链接 出口条件1:显示异常;
    出口条件2:显示正常
    出口条件1:请找disp owner协助;
    出口条件2:E
    patterngen/force_color setting
    E Dump MIU BW信息确认:
    cat /sys/devices/system/miu/miu0/bw
    出口条件1:BW不足;
    出口条件2:BW充足
    出口条件1:请找MIU owner协助;
    出口条件2:F
    F Dump信息至Disp owner分析:
    1, dump disp reg
    2, cat /proc/mi_modules/mi_disp/mi_disp0(mi_disp1)
    3, 抓取复现log:
    echo 8 > /proc/mi_modules/mi_disp/debug_level;
    echo 0x800020ff > /proc/mi_modules/mi_disp/debug_hal/dbgmg;
    cat kmsg;
    NA NA

    1.3 屏幕显示颜色异常

    Debug 流程:

    流程 确认方法 出口条件 下一步 需提供信息 相关可参考FAQ
    A force color单色确认,分别尝试打红、蓝、绿,可查看FAQ链接 出口条件1:颜色显示异常;
    出口条件2:颜色显示均正常
    出口条件1:B;
    出口条件2:C
    patterngen/force_color setting
    B RGB swap确认:
    确认屏参内m_ucPanelSwapChnR、m_ucPanelSwapChnG、m_ucPanelSwapChnB、m_ucPanelSwapRgbML等与HW信息是否配置正确,可请CAE协助
    出口条件1:配置错误;
    出口条件2:配置正确
    出口条件1:请找CAE协助;
    出口条件2:D
    C Dump Buf确认:
    echo dumpframe 0 0 [path] > /proc/mi_modules/mi_disp/mi_disp0(mi_disp1)
    出口条件1:图像异常;
    出口条件2:图像正常
    出口条件1:请找disp前级owner协助;
    出口条件2:D
    D Dump信息至Disp owner分析:
    1, dump disp reg
    2, cat /proc/mi_modules/mi_disp/mi_disp0(mi_disp1)
    3, 抓取复现log:
    echo 8 > /proc/mi_modules/mi_disp/debug_level;
    echo 0x800020ff > /proc/mi_modules/mi_disp/debug_hal/dbgmg;
    cat kmsg;
    NA NA

    2. Disp相关问题

    2.1 Disp帧率不足

    Debug 流程:

    流程 确认方法 出口条件 下一步 需提供信息 相关可参考FAQ
    A Cat debug信息:
    cat /proc/mi_modules/mi_disp/mi_disp0(mi_disp1);
    确认IPS(HW帧率)是否正常,若IPS不符合预期,请确认屏参内H_total/V_total/DCLK/FPS等信息是否配置正确,一般DCLK=H_total*V_total*fps
    出口条件1:屏参有误;
    出口条件2:IPS符合预期,但FPS不符合预期
    出口条件1:修正屏参;
    出口条件2:B
    B 固定画面确认:
    执行echo stopgetbuff 0 0 ON > /proc/mi_modules/mi_disp/mi_disp0(mi_disp1)固定画面
    确认debug信息里 “SrcFrmrate” “DstFrmrate” 是否符合预期
    出口条件1:SrcFrmrate不符合预期;
    出口条件2:SrcFrmrate符合预期,仅DstFrmrate不符合预期
    出口条件1:请找前级owner协助;
    出口条件2:C
    C Dump信息至Disp owner分析:
    1, dump disp reg
    2, cat /proc/mi_modules/mi_disp/mi_disp0(mi_disp1)
    3, 抓取复现log:
    echo 8 > /proc/mi_modules/mi_disp/debug_level;
    echo 0x800020ff > /proc/mi_modules/mi_disp/debug_hal/dbgmg;
    cat kmsg;
    NA NA

    2.2 MOP踩内存

    Debug 流程:

    流程 确认方法 出口条件 下一步 需提供信息 相关可参考FAQ
    A MIU BW确认:
    cat /sys/devices/system/miu/miu0/bw
    出口条件1:BW不足;
    出口条件2:BW充足
    出口条件1:请找MIU owner协助;
    出口条件2:B
    B CPU loading排查:
    使用top指令查看当前CPU loading
    出口条件1:CPU loading过高;
    出口条件2:CPU loading正常
    出口条件1:请客户协助降低CPU loading后再试试;
    出口条件2:C
    C Debug mmu确认:
    咨询MIU owner确认踩内存类型
    NA 记录本次测试结果,并执行步骤:D
    D Dump信息至Disp owner分析:
    1, dump disp reg
    2, cat /proc/mi_modules/mi_disp/mi_disp0(mi_disp1)
    3, 抓取复现log:
    echo 8 > /proc/mi_modules/mi_disp/debug_level;
    echo 0x800020ff > /proc/mi_modules/mi_disp/debug_hal/dbgmg;
    echo trace 0 1 > /proc/mi_modules/mi_disp/mi_disp0(mi_disp1);
    cat kmsg;
    NA NA

    3. WBC相关问题

    3.1 WBC帧率不足

    Debug 流程:

    流程 确认方法 出口条件 下一步 需提供信息 相关可参考FAQ
    A MIU BW确认:
    cat /sys/devices/system/miu/miu0/bw
    出口条件1:BW不足;
    出口条件2:BW充足
    出口条件1:请找MIU owner协助;
    出口条件2:B
    B CPU loading排查:
    使用top指令查看当前CPU loading
    出口条件1:CPU loading过高;
    出口条件2:CPU loading正常
    出口条件1:请客户协助降低CPU loading或提高WBC线程优先级后再试试;
    出口条件2:C
    C 后级模块stop get buf确认:
    若有bind后级模块,请后级模块配置停止输入buf试试
    出口条件1:后级停止输入后帧率正常;
    出口条件2:后级停止输入后帧率异常
    出口条件1:请找后级owner协助;
    出口条件2:D
    D Dump信息至Disp owner分析:
    1, cat /proc/mi_modules/mi_disp/mi_disp0;cat /proc/mi_modules/mi_disp/mi_wbc0; cat 后级模块proc信息
    2, 抓取复现log:
    echo 8 > /proc/mi_modules/mi_disp/debug_level;
    echo trace > /proc/mi_modules/mi_disp/mi_wbc0;
    cat kmsg;
    NA NA

    3.2 WBC踩内存

    Debug 流程:

    流程 确认方法 出口条件 下一步 需提供信息 相关可参考FAQ
    A MIU BW确认:
    cat /sys/devices/system/miu/miu0/bw
    出口条件1:BW不足;
    出口条件2:BW充足
    出口条件1:请找MIU owner协助;
    出口条件2:B
    B CPU loading排查:
    使用top指令查看当前CPU loading
    出口条件1:CPU loading过高;
    出口条件2:CPU loading正常
    出口条件1:请客户协助降低CPU loading后再试试;
    出口条件2:C
    C Debug mmu确认:
    咨询MIU owner确认踩内存类型
    NA 记录本次测试结果,并执行步骤:D
    D Dump信息至Disp owner分析:
    1, cat /proc/mi_modules/mi_disp/mi_disp0;cat /proc/mi_modules/mi_disp/mi_wbc0; cat 后级模块proc信息
    2, 抓取复现log:
    echo 8 > /proc/mi_modules/mi_disp/debug_level;
    echo trace > /proc/mi_modules/mi_disp/mi_wbc0;
    cat kmsg;
    NA NA

    3.3. WBC输出画面异常

    Debug 流程:

    流程 确认方法 出口条件 下一步 需提供信息 相关可参考FAQ
    A patterngen和force color确认,可查看FAQ链接 出口条件1:输出正常;
    出口条件2:输出异常
    出口条件1:请参考2.2节或找disp owner协助;
    出口条件2:B
    patterngen/force_color setting
    B MIU BW确认:
    cat /sys/devices/system/miu/miu0/bw
    出口条件1:BW不足;
    出口条件2:BW充足
    出口条件1:请找MIU owner协助;
    出口条件2:C
    C Dump信息至Disp owner分析:
    1, dump disp reg
    2, cat /proc/mi_modules/mi_disp/mi_disp0;cat /proc/mi_modules/mi_disp/mi_wbc0; cat 后级模块proc信息
    NA NA

    4. Dump disp reg

    dump脚本用法:./xxx_disp_reg.sh [log_file] [dump_cnt]

    ChipName Script
    Souffle souffle_disp_reg.sh
    Iford iford_disp_reg.sh
    Pcupid pcupid_disp_reg.sh
    iBopper ibopper_disp_reg.sh
    ifackel ifackel_disp_reg.sh
    Jaguar1 jaguar1_disp_reg.sh
    iFliegen ifliegen_disp_reg.sh
    Mhera Mhera_disp_reg.sh