唤醒亮屏速度优化方向
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!