MI DISP DEBUG SOP¶
REVISION HISTORY¶
| Revision No. | Description |
Date |
|---|---|---|
| 1.00 | 06/17/2024 | |
| 1.01 | 12/04/2024 | |
| 2.00 | 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 |