android debug command commonly with qcom chip

  1. adb shell settings put system screen_off_timeout 3600000 // keep display on
  2. grover:/ # cat /d/clk/enabled_clocks > /data/CLK_dump.txt // dump enabled clocks
  3. $ mount -t debugfs nodev /sys/kernel/debug // mount debug fs
  4. $ echo 1 > /sys/kernel/debug/clk/gcc_blsp1_qup2_spi_apps_clk/enable // enable/disable module specific clock
  5. $ echo 10000000 > /sys/kernel/debug/clk/gcc_blsp1_qup2_spi_apps_clk/rate // set clock rate
  6. $ cat /sys/kernel/debug/clk/gcc_blsp1_qup2_spi_apps_clk/measure // measure clock
  7. surfaceflinger -> layer RGB565

https://source.codeaurora.org/quic/la/platform/frameworks/native/patch/services?id=5103bfae79018cfd14ddb4b47a88c02febdc73b6

  1. Eanble performance mode
    Try enable performance mode. You can run the following command,

adb root

adb shell stop mpdecision
adb shell stop thermal-engine

adb shell “echo 1 > /sys/devices/system/cpu/cpu0/online”
adb shell “echo 1 > /sys/devices/system/cpu/cpu1/online”
adb shell “echo 1 > /sys/devices/system/cpu/cpu2/online”
adb shell “echo 1 > /sys/devices/system/cpu/cpu3/online”

adb shell “echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor”
adb shell “echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor”
adb shell “echo performance > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor”
adb shell “echo performance > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor”

echo “gpu perf mode”

adb shell “echo 1 > /sys/class/kgsl/kgsl-3d0/force_clk_on”
adb shell “echo 10000000 > /sys/class/kgsl/kgsl-3d0/idle_timer”
adb shell “echo performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor”

adb shell stop
adb shell start

  1. dump layer of display
    adb root
    adb remount
    adb shell setenforce 0
    adb shell setprop debug.sf.dump.enable true
    adb shell setprop debug.sf.dump.primary true
    adb shell stop
    adb shell start
    setprop debug.sf.dump.png 20

  2. disable hwcomposer
    Let me support you. Maybe it is a display issue.
    Pls try :
    adb root
    adb shell service call SurfaceFlinger 1008 i32 1

then observe if your issue is disappeared.

frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp

3214 case 1008: // toggle use of hw composer
3215 n = data.readInt32();
3216 mDebugDisableHWC = n ? 1 : 0;
mDebugDisableHWC = n ? 1 : 0;
3217 invalidateHwcGeometry();
3218 repaintEverything();
3219 return NO_ERROR;

  1. surfaceflinger dump
    // disable hwc
h/w composer state:
  h/w composer present and disabled
Hardware Composer state (version 01050000):
  mDebugForceFakeVSync=0
  Display[0] configurations (* current):
    * 0: 240x204, xdpi=160.421005, ydpi=161.925003, refresh=-1, colorMode=0
  numHwLayers=4, flags=00000000
    type   |  handle  | hint | flag | tr | blnd |   format    |     source crop (l,t,r,b)      |          frame         | name 
-----------+----------+------+------+----+------+-------------+--------------------------------+------------------------+------
      GLES | af322220 | 0000 | 0001 | 00 | 0100 | RGBA_8888   |    0.0,    0.0,  130.0,  204.0 |    0,    0,  130,  204 | com.zeusis.launcher2.activity/com.zeusis.launcher2.activity.LauncherActivity
      GLES | af3217a0 | 0000 | 0001 | 00 | 0100 | RGBA_8888   |    0.0,    0.0,  110.0,  204.0 |  130,    0,  240,  204 | com.zeusis.csp.activity/com.zeusis.csp.activity.MyFriendListActivity
      GLES | af321aa0 | 0000 | 0001 | 00 | 0105 | RGBA_8888   |    0.0,    0.0,  240.0,  204.0 |    0,    0,  240,  204 | DisplayViewMask
 FB TARGET | af320f60 | 0000 | 0000 | 00 | 0105 | RGB_565     |    0.0,    0.0,  240.0,  204.0 |    0,    0,  240,  204 | HWC_FRAMEBUFFER_TARGET
Qualcomm HWC state:
  MDPVersion=305
  DisplayPanel=0
  DynRefreshRate=0
HWC Map for Dpy: "PRIMARY" 
CURR_FRAME: layerCount: 3 mdpCount: 0 fbCount: 3 
needsFBRedraw:YES  pipesUsed: 0  MaxPipesPerMixer: 4 
Programmed ROI: [0, 0, 240, 204] 
 ---------------------------------------------  
 listIdx | cached? | mdpIndex | comptype  |  Z  
 ---------------------------------------------  
       0 |     YES |       -1 |      GLES | -1 
       1 |     YES |       -1 |      GLES | -1 
       2 |     YES |       -1 |      GLES | -1 


Overlay State

Ctrl id=1 z=0 alpha=255 mask=-1 flags=0x20000 H.Deci=0,V.Deci=0
    src w=256 h=204 format=0 MDP_RGB_565
    src_rect x=0 y=0 w=240 h=204
    dst_rect x=0 y=0 w=240 h=204
Data id=1
    data offset=0 memid=23 id=0 flags=0x0
Display=0

Pipes=1

// enable hwc

h/w composer state:
  h/w composer present and enabled
Hardware Composer state (version 01050000):
  mDebugForceFakeVSync=0
  Display[0] configurations (* current):
    * 0: 240x204, xdpi=160.421005, ydpi=161.925003, refresh=-1, colorMode=0
  numHwLayers=4, flags=00000000
    type   |  handle  | hint | flag | tr | blnd |   format    |     source crop (l,t,r,b)      |          frame         | name 
-----------+----------+------+------+----+------+-------------+--------------------------------+------------------------+------
  HWC_BLIT | b3f220a0 | 0000 | 0000 | 00 | 0100 | RGBA_8888   |    0.0,    0.0,   75.0,  204.0 |    0,    0,   75,  204 | com.zeusis.launcher2.activity/com.zeusis.launcher2.activity.LauncherActivity
  HWC_BLIT | b3f21d40 | 0000 | 0000 | 00 | 0100 | RGBA_8888   |    0.0,    0.0,  165.0,  204.0 |   75,    0,  240,  204 | com.zeusis.csp.activity/com.zeusis.csp.activity.MyFriendListActivity
  HWC_BLIT | b3f21a40 | 0000 | 0000 | 00 | 0105 | RGBA_8888   |    0.0,    0.0,  240.0,  204.0 |    0,    0,  240,  204 | DisplayViewMask
 FB TARGET | b3f210e0 | 0000 | 0000 | 00 | 0105 | RGB_565     |    0.0,    0.0,  240.0,  204.0 |    0,    0,  240,  204 | HWC_FRAMEBUFFER_TARGET
Qualcomm HWC state:
  MDPVersion=305
  DisplayPanel=0
  DynRefreshRate=0
HWC Map for Dpy: "PRIMARY" 
CURR_FRAME: layerCount: 3 mdpCount: 0 fbCount: 3 
needsFBRedraw:YES  pipesUsed: 0  MaxPipesPerMixer: 4 
Programmed ROI: [0, 0, 240, 204] 
 ---------------------------------------------  
 listIdx | cached? | mdpIndex | comptype  |  Z  
 ---------------------------------------------  
       0 |     YES |       -1 |      GLES | -1 
       1 |     YES |       -1 |      GLES | -1 
       2 |     YES |       -1 |      GLES | -1 


Overlay State

Ctrl id=1 z=0 alpha=255 mask=-1 flags=0x20000 H.Deci=0,V.Deci=0
    src w=256 h=204 format=0 MDP_RGB_565
    src_rect x=0 y=0 w=240 h=204
    dst_rect x=0 y=0 w=240 h=204
Data id=1
    data offset=0 memid=27 id=0 flags=0x0
Display=0

Pipes=1
  1. screenrecord /data/data.mp4 // save to a video of mp4 format
  2. draw flow on internet
https://www.processon.com/diagrams

// ~/.vimrc

syntax on

" highlight search result
set hlsearch

"set nocompatible

"set backspace=indent,eol,start

" vimdiff color plan
"colorscheme pablo

" line number
set nu

" cursor line
set cursorline

" ignore big/little case
set ignorecase

" 状态栏
"set laststatus=2      " 总是显示状态栏
"highlight StatusLine cterm=bold ctermfg=yellow ctermbg=blue

" 获取当前路径,将$HOME转化为~
"function! CurDir()
"       let curdir = substitute(getcwd(), $HOME, "~", "g")
"         return curdir
"endfunction

"set statusline=[%n]\ %f%m%r%h\ \|\ \ pwd:\ %{CurDir()}\ \ \|%=\|\ %l,%c\ %p%%\ \|\ ascii=%b,hex=%b%{((&fenc==\"\")?\"\":\"\ \|\ \".&fenc)}\ \|\ %{$USER}\ @\ %{hostname()}\

" 或以下两句
"set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%] "显示文件名:总行数,总的字符数
"set ruler "在编辑过程中,在右下角显示光标位置的状态行

.kermrc

set speed 115200
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5

你可能感兴趣的:(linux,kernel)