现象描述.

手机自动灭屏后按power键或home 键点亮屏幕,概率性上方有白色的一道,还会闪两三下屏.
使用的LCM IC是:r63350, (FHD VDO)屏,附件为mtklog看看是什么原因?

dear custom:

若關閉 ESD check 對問題現象有改善

是否可以協助把 frontporch 加大測試一下

謝謝

1.
加大 vertical_frontporch
params->dsi.vertical_frontporch = 24;

hi mtk:

单独修改 params->dsi.vertical_frontporch = 24; 验证有复现到这个现象.
关闭esd
check机制,目前还没测试到闪屏现象,但不太确定后面会不会出现。

这边FAE有如下疑问:因为唤醒时出现的异常, vendor有2点怀疑

1.在唤醒屏还没有正常显示图像(正常工作), esd check会不会就提前去检测屏状态了?
2.lcm_resume多久,esd
check才会有检测动作 ? 能不能再延后一点开启esd 检测线程。

dear custom:

就我們驗證其他 vendor IC 經驗

一般其他 vendor 都是提供另外其他的寄存器當作 ESD reg check

只有
RSP 只能讀 0x0A

一般 0x0A reg 都只在第一次開機確認 panel 有沒接上來使用

且就經驗了解 RSP
DDIC 0x0A 所需穩定的時間特別久

若 RSP 堅持只能讀 0x0A 當作 ESD read reg check 的話

只能透過 delay 來等待 RSP DDIC reg 0x0A 穩定

但其他 vendor DDIC
並不會有這樣的限制.....

供貴司作參考

Dear customer

內部另外討論了一個延遲 ESD check 的實驗

麻煩先把之前建議的代碼修改
(resume/suspend 函式 "在下完亮屏指令之後" 多加些 delay) 先屏蔽掉

在 disp_recovery.c 內之
primary_display_check_recovery_worker_kthread(void *data) 函式

新增如下延遲代碼試試看

謝謝

/* 1. esd check & recovery */
if
(esd_check_enable) {

i = 0;/*repeat*/
do {

mdeay(100); //add
by MTK

ret = primary_display_esd_check();

if (ret == 1) {

DISPERR("[ESD]esd check fail, will do esd recovery. try=%d\n", i);

primary_display_esd_recovery();
recovery_done = 1;
} else
break;

} while (++i < esd_try_cnt);

闪白屏这块可以让vendor查一下根本原因.

最终将0x11移到代码最前面,解决了此问题.这种方法有可能导致模组OTP vcom设定有可能被覆盖。

05-15 17:22