zoukankan      html  css  js  c++  java
  • Android 功耗(8)---如何找到阻止进入deep idle SODI的元凶

    MTK idle:

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

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

    -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

    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,
    ................
    
  • 相关阅读:
    delphi AlphaControls
    MATLAB 中NORM运用
    matlab画图形函数 semilogx
    fir2(n,f,m)
    离散系统频响特性函数freqz()
    snr ber Eb/N0之间的区别与联系
    MATLAB中白噪声的WGN和AWGN函数的使用
    matlab 功率谱分析
    用matlab实现同一个序列重复N倍
    Stem函数绘图
  • 原文地址:https://www.cnblogs.com/linhaostudy/p/13700650.html
Copyright © 2011-2022 走看看