ISP Debug SOP


REVISION HISTORY

Revision No.
Description
Date
1.0
  • Initial release
  • 12/10/2024

    前言

    本文为FAE及软件开发相关人员而写,旨在介绍开发过程中客户遇到isp相关问题时,如何自行进行初步排查,确定是Sigmastar SDK问题后再提供相关信息给RD分析。


    1. 掉帧,帧率不稳定

    1. 看前端进来帧率是否满足,若不满足则找前端处理。

    2. 通过cat /proc/mi_modules/mi_isp/debug_hal/isp_ints,查看P0_FIFO_FULL字段是否有增加来判断是否发生fifo full

    3. 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

    1. vif-isp 如果是frame mode,则与ISP无关,一般是 VIF 写入 DRAM 的速度太慢,需要检查 BW 是否足够,请找 VIF&MIU 的owner协助。

    2. vif-isp 如果是 realtime,检查Sensor pixel rate是否太高,或v-blanking是否太長

    3. 通过cat /sys/devices/system/miu/miu0/bw 查看当前bw,判断是否有bw不足

    4. 将串口log提供给RD,判断是否后级回档导致

    3. Cmdq timeout

    1. 更改/config/modparam.json,先关闭cmdqtimeout reset

      "E_MI_MODULE_ID_SYS" :
          {
              ...
              "bEnableCmdqReset" : false
              ...
          },
      
    2. cat /proc/mi_modules/mi_isp/debug_hal/isp_ints,查看 ISPIF_VSYNC 字段,如果为 0 表示前端沒送资料进来,需要前级协助排查;

    3. 其余情况,请保存全部的log,并使用以下脚本dump寄存器给RD分析:dump_isp.sh

    4. 图像质量问题

    4.1 花图

    1. 关闭 wdr 或 3dnr 再跑,能否复现,界定ip

    2. 檢查sensor出的raw图是否花图

    3. 通过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信息

    1. 检查是否有其他线程CPU loading过高,导致isp 线程办法被处理。

    2. 檢查isp irq所占的cpu,是否有其他irq增长很快,可能会影响isp irq的处理。

    3. 用gdb或sys的show thread检查卡住的线程堆栈,确认是否存在死锁、cpu调度不及时等问题;用perf抓火焰图理清是否存在其他irq刷比较快影响isp irq的情况