前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android 功耗(8)---如何找到阻止进入deep idle SODI的元凶

Android 功耗(8)---如何找到阻止进入deep idle SODI的元凶

作者头像
233333
发布2020-09-23 13:10:00
8810
发布2020-09-23 13:10:00
举报
文章被收录于专栏:linux驱动个人学习

MTK idle:

如果是由于CLOCK 卡住,请参考下面的flow:

Debug节点:/sys/kernel/debug/cpuidle/

代码语言:javascript
复制
-rw-r--r-- 1 root root 0 1970-01-01 00:00 dpidle_state
-rw-r--r-- 1 root root 0 1970-01-01 00:00 idle_state
-rw-r--r-- 1 root root 0 1970-01-01 00:00 mcidle_state
-rw-r--r-- 1 root root 0 1970-01-01 00:00 reg_dump
-rw-r--r-- 1 root root 0 1970-01-01 00:00 slidle_state
-rw-r--r-- 1 root root 0 1970-01-01 00:00 soidle3_state
-rw-r--r-- 1 root root 0 1970-01-01 00:00 soidle_state

从节点中确认:/sys/kernel/debug/cpuidle/dpidle_state

其中dpidle_block_mask 里面的数值对应的bit位为1的,代表对应的clock卡住系统进入省电idle了.

从上图看:

INFRA 的CG group占用的clock是从bit 0到bit31

PERI 的CG group 占用的clock是从bit32 到bit63

DISP0的CG group 占用的clock是从bit64到bit95

N版本对应平台的clock ID:

6735/6737:

kernel-3.18/drivers/misc/mediatek/include/mt-plat/mt6735/include/mach/mt_clkmgr1_legacy.h

6735M:

kernel-3.18/drivers/misc/mediatek/include/mt-plat/mt6735/include/mach/mt_clkmgr2.h

6753:

kernel-3.18/drivers/misc/mediatek/include/mt-plat/mt6735/include/mach/mt_clkmgr3.h

代码语言:javascript
复制
enum cg_clk_id {
MT_CG_INFRA_DBGCLK = 0,
MT_CG_INFRA_GCE = 1,
MT_CG_INFRA_TRBG = 2,
MT_CG_INFRA_CPUM = 3,
MT_CG_INFRA_DEVAPC = 4,
MT_CG_INFRA_AUDIO = 5,
MT_CG_INFRA_GCPU = 6,
MT_CG_INFRA_L2C_SRAM = 7,
MT_CG_INFRA_M4U = 8,
MT_CG_INFRA_CLDMA = 12,
................
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档