ISP Debug SOP
REVISION HISTORY¶
Revision No. | Description |
Date |
---|---|---|
1.0 | 12/10/2024 |
前言¶
本文为FAE及软件开发相关人员而写,旨在介绍开发过程中客户遇到isp相关问题时,如何自行进行初步排查,确定是Sigmastar SDK问题后再提供相关信息给RD分析。
1. 掉帧,帧率不稳定¶
-
看前端进来帧率是否满足,若不满足则找前端处理。
-
通过cat /proc/mi_modules/mi_isp/debug_hal/isp_ints,查看P0_FIFO_FULL字段是否有增加来判断是否发生fifo full
-
cat /proc/mi_modules/mi_isp/mi_isp0 查看output port common info,
BufCntQuota: 用户申请的总buf cnt。
usrLockedCnt: 用户手中的buf cnt,当累计多说明客户有put buf慢的情况。
totalOutPortInUsed: 累计多说明客户后级处理不够快。
GetIntoMmaLackCnt: 由于内存不足而申请失败的buf cnt,可能导致丢帧。
2. ISP FIFO FULL¶
-
vif-isp 如果是frame mode,则与ISP无关,一般是 VIF 写入 DRAM 的速度太慢,需要检查 BW 是否足够,请找 VIF&MIU 的owner协助。
-
vif-isp 如果是 realtime,检查Sensor pixel rate是否太高,或v-blanking是否太長
-
通过cat /sys/devices/system/miu/miu0/bw 查看当前bw,判断是否有bw不足
-
将串口log提供给RD,判断是否后级回档导致
3. Cmdq timeout¶
-
更改/config/modparam.json,先关闭cmdqtimeout reset
"E_MI_MODULE_ID_SYS" : { ... "bEnableCmdqReset" : false ... },
-
cat /proc/mi_modules/mi_isp/debug_hal/isp_ints,查看 ISPIF_VSYNC 字段,如果为 0 表示前端沒送资料进来,需要前级协助排查;
-
其余情况,请保存全部的log,并使用以下脚本dump寄存器给RD分析:dump_isp.sh
4. 图像质量问题¶
4.1 花图¶
-
关闭 wdr 或 3dnr 再跑,能否复现,界定ip
-
檢查sensor出的raw图是否花图
-
通过cat /proc/mi_modules/mi_isp/debug_hal/isp_ints 查看是否发生fifo full
4.2 大分辨率Sensor,ISP用multi dev接收,图像有拼接縫问题¶
是否对着光源才会出现比较明显的拼缝,关闭wdr拼缝是否会消失,若是,则检查overlap是否够大,检查lpf是否打开,尝试增加wdr的box num是否有改善
5. 3A问题¶
5.1 亮度不受控¶
从Sensor driver確認是否有收到shutter/gain/ae notify,如沒有请找RD分析
5.2 亮度跳动¶
透过IQ Tool,确认 Sensor 生效帧,并与 Sensor driver 内设置的 Sensor gain/ shutter delay 对比是否一致,如一致请找RD分析
6. 出现Add WQ error信息¶
-
检查是否有其他线程CPU loading过高,导致isp 线程办法被处理。
-
檢查isp irq所占的cpu,是否有其他irq增长很快,可能会影响isp irq的处理。
-
用gdb或sys的show thread检查卡住的线程堆栈,确认是否存在死锁、cpu调度不及时等问题;用perf抓火焰图理清是否存在其他irq刷比较快影响isp irq的情况