唤醒亮屏速度优化方向

MT6753 在开了自动背光,唤醒亮屏速度不是很理想.
客户提供了以下优化方向:


1.缩短初使化硬件的时间,优化autosuspend 和earlysuspend过程.
2.调整lcd,tp,各种sensor的唤醒顺序。优先初始化光感和lcd。

先不去考虑具体器件IC上的延时因素,在MTK平台,若要按上面两点方向进行优化,平台这边具体code 如何修改? 若修改上面有此什么风险也请指出。

测试用例:
adb logcat -v threadtime | grep -r "Excessive delay in autosuspend_disable"
时间小于等于300ms

Dear Sir

1.针对 lcd tp,sensor level 值注册level 值的代码分别在哪个位置? 调整顺序会有些什么风险,也请指出? 怕出bug来.。
==》
level值在具体的driver里面注册earlysuspend的地方。没有依赖关系的话,应该可以调整

2.优化 autosuspend和earlysuspend过程,MTK这边有没有优化空间?
==》
这些都是Linux的标准PM管理,优化的应该是具体外设driver。

hi mtk:

我查了一下MT6753 平台 M81C 这几个外设的代码:
enum {
EARLY_SUSPEND_LEVEL_BLANK_SCREEN = 50,
EARLY_SUSPEND_LEVEL_STOP_DRAWING = 100,
EARLY_SUSPEND_LEVEL_DISABLE_FB = 150,
};
lcd level 值 EARLY_SUSPEND_LEVEL_DISABLE_FB
alsps level 值 EARLY_SUSPEND_LEVEL_DISABLE_FB-1
TP level 值 EARLY_SUSPEND_LEVEL_STOP_DRAWING-1
按照你说的level 值越小,越晚唤醒. 也就上面定义唤醒顺序lcd >alsps >TP . 对于亮屏速度,

具体driver里面的延时不管的情况下,我指的是唤醒顺序对于亮屏速度,没什么可修改的了吧。

Dear Sir

按照你说的level 值越小,越晚唤醒. 也就上面定义唤醒顺序lcd >alsps >TP
==》
唤醒流程是Linux的东西无法修改,只是这样简单的修改各个外设的唤醒顺序就提高了亮屏速度?

肯定不是这样的,提高的话,是优化各个外设driver的suspend和resume函数的实现。

thanks!

原文地址:https://www.cnblogs.com/lexuele/p/5129444.html