现象描述.
手机自动灭屏后按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设定有可能被覆盖。