1. 程式人生 > >高通平臺LCD的開啟和關閉流程

高通平臺LCD的開啟和關閉流程

開機的時候 SurfaceFlinger open msm_fb device

[    9.468484] mdp4_overlay_pipe_alloc: pipe=c07f7830 ndx=1 num=0 share=0 cnt=0      剛開機的時候 sl open device
[    9.472143] qlay: lcdc on task name SurfaceFlinger
[    9.479310] [<c0046958>] (unwind_backtrace+0x0/0x164) from [<c028b0dc>] (lcdc_on+0x34/0x124)
[    9.487521] [<c028b0dc>] (lcdc_on+0x34/0x124) from [<c028b204>] (panel_next_on+0x38/0x44)
[    9.495607] [<c028b204>] (panel_next_on+0x38/0x44) from [<c02879a8>] (mdp_lcdc_on+0x340/0x3ac)
[    9.504466] [<c02879a8>] (mdp_lcdc_on+0x340/0x3ac) from [<c027e928>] (msm_fb_blank_sub+0x74/0xcc)
[    9.513053] [<c027e928>] (msm_fb_blank_sub+0x74/0xcc) from [<c027f548>] (msm_fb_open+0x54/0x88)
[    9.521931] [<c027f548>] (msm_fb_open+0x54/0x88) from [<c0278948>] (fb_open+0x108/0x140)
[    9.529903] [<c0278948>] (fb_open+0x108/0x140) from [<c0133ea8>] (chrdev_open+0x198/0x1b8)
[    9.538302] [<c0133ea8>] (chrdev_open+0x198/0x1b8) from [<c012fbac>] (__dentry_open+0x18c/0x2a8)
[    9.546909] [<c012fbac>] (__dentry_open+0x18c/0x2a8) from [<c012fd84>] (nameidata_to_filp+0x3c/0x50)
[    9.561855] [<c012fd84>] (nameidata_to_filp+0x3c/0x50) from [<c013acec>] (do_last+0x4cc/0x610)
[    9.576343] [<c013acec>] (do_last+0x4cc/0x610) from [<c013c894>] (do_filp_open+0x17c/0x4fc)
[    9.590589] [<c013c894>] (do_filp_open+0x17c/0x4fc) from [<c012f944>] (do_sys_open+0x58/0x10c)
[    9.605077] [<c012f944>] (do_sys_open+0x58/0x10c) from [<c0040140>] (ret_fast_syscall+0x0/0x30)
========

開機一段時間後,按了power key,屏滅掉

ScreenOffThread 呼叫介面

[   40.818817] qlay: request_suspend_state ScreenOffThread
[   40.823919] lm3535_backlight_control: intensive 2 on:1
[   40.829491] request_suspend_state: sleep (0->3) at 40750511263 (1970-01-02 00:00:31.486817926 UTC)
[   40.838348] qlay: lightup suspend
[   40.841357] lcdc_samsung_panel_set_backlight: backlight bl_level 0x0
[   40.847635] lm3535_backlight_control: intensive 2 on:0
[   40.897916] CPUFREQ: Per core ondemand sysfs interface is deprecated - sampling_rate
[   41.029041] qlay: lcdc_off task suspend
[   41.029088] [<c0046958>] (unwind_backtrace+0x0/0x164) from [<c028b024>] (lcdc_off+0x2c/0xb0)
[   41.040211] [<c028b024>] (lcdc_off+0x2c/0xb0) from [<c028b24c>] (panel_next_off+0x3c/0x48)
[   41.048595] [<c028b24c>] (panel_next_off+0x3c/0x48) from [<c0287648>] (mdp_lcdc_off+0x60/0x80)
[   41.057224] [<c0287648>] (mdp_lcdc_off+0x60/0x80) from [<c027e960>] (msm_fb_blank_sub+0xac/0xcc)
[   41.065812] [<c027e960>] (msm_fb_blank_sub+0xac/0xcc) from [<c027e9c8>] (msm_fb_suspend_sub+0x48/0xe4)
[   41.075275] [<c027e9c8>] (msm_fb_suspend_sub+0x48/0xe4) from [<c00e8cc0>] (early_suspend+0xa0/0x12c)
[   41.084219] [<c00e8cc0>] (early_suspend+0xa0/0x12c) from [<c00cb158>] (worker_thread+0x160/0x1ec)
[   41.093094] [<c00cb158>] (worker_thread+0x160/0x1ec) from [<c00cecbc>] (kthread+0x78/0x80)
[   41.102810] [<c00cecbc>] (kthread+0x78/0x80) from [<c0041344>] (kernel_thread_exit+0x0/0x8)

$
$

===============

過了一會兒按了powerkey 屏打開了。開啟的同時背光也在開啟

WindowManagerPo 程序

$ [   45.412447] qlay: request_suspend_state WindowManagerPo
[   45.412538] request_suspend_state: wakeup (3->0) at 45333550421 (1970-01-02 00:00:36.069852343 U
TC)
[   45.438831] qlay: led_brightness_store
[   45.459402] qlay: led_brightness_store
[   45.475765] qlay: led_brightness_store
[   45.492308] qlay: led_brightness_store
[   45.492618] qlay: lcdc on task name suspend
[   45.505525] [<c0046958>] (unwind_backtrace+0x0/0x164) from [<c028b0dc>] (lcdc_on+0x34/0x124)
[   45.505561] [<c028b0dc>] (lcdc_on+0x34/0x124) from [<c028b204>] (panel_next_on+0x38/0x44)
[   45.521097] qlay: led_brightness_store
[   45.524946] [<c028b204>] (panel_next_on+0x38/0x44) from [<c02879a8>] (mdp_lcdc_on+0x340/0x3ac)
[   45.533697] [<c02879a8>] (mdp_lcdc_on+0x340/0x3ac) from [<c027e928>] (msm_fb_blank_sub+0x74/0xcc)
[   45.542226] qlay: led_brightness_store
[   45.546459] [<c027e928>] (msm_fb_blank_sub+0x74/0xcc) from [<c027f5d4>] (msmfb_early_resume+0x58/0x88)
[   45.555514] [<c027f5d4>] (msmfb_early_resume+0x58/0x88) from [<c00e8bd0>] (late_resume+0x98/0xe8)
[   45.564192] qlay: led_brightness_store
[   45.568122] [<c00e8bd0>] (late_resume+0x98/0xe8) from [<c00cb158>] (worker_thread+0x160/0x1ec)
[   45.576789] [<c00cb158>] (worker_thread+0x160/0x1ec) from [<c00cecbc>] (kthread+0x78/0x80)
[   45.585197] qlay: led_brightness_store
[   45.589571] [<c00cecbc>] (kthread+0x78/0x80) from [<c0041344>] (kernel_thread_exit+0x0/0x8)

=============

再次滅掉,同時進入睡眠狀態

[   52.744714] qlay: request_suspend_state ScreenOffThread
[   52.749827] lm3535_backlight_control: intensive 2 on:1
[   52.755088] qlay: lightup suspend
[   52.758309] lcdc_samsung_panel_set_backlight: backlight bl_level 0x0
[   52.764679] request_suspend_state: sleep (0->3) at 52685703855 (1970-01-02 00:00:43.422010370 UTC)
[   52.804564] lm3535_backlight_control: intensive 2 on:0
[   52.929094] qlay: lcdc_off task suspend
[   52.929145] [<c0046958>] (unwind_backtrace+0x0/0x164) from [<c028b024>] (lcdc_off+0x2c/0xb0)
[   52.940272] [<c028b024>] (lcdc_off+0x2c/0xb0) from [<c028b24c>] (panel_next_off+0x3c/0x48)
[   52.948651] [<c028b24c>] (panel_next_off+0x3c/0x48) from [<c0287648>] (mdp_lcdc_off+0x60/0x80)
[   52.957281] [<c0287648>] (mdp_lcdc_off+0x60/0x80) from [<c027e960>] (msm_fb_blank_sub+0xac/0xcc)
[   52.965868] [<c027e960>] (msm_fb_blank_sub+0xac/0xcc) from [<c027e9c8>] (msm_fb_suspend_sub+0x48/0xe4)
[   52.975332] [<c027e9c8>] (msm_fb_suspend_sub+0x48/0xe4) from [<c00e8cc0>] (early_suspend+0xa0/0x12c)
[   52.984271] [<c00e8cc0>] (early_suspend+0xa0/0x12c) from [<c00cb158>] (worker_thread+0x160/0x1ec)
[   52.993227] [<c00cb158>] (worker_thread+0x160/0x1ec) from [<c00cecbc>] (kthread+0x78/0x80)
[   53.002879] [<c00cecbc>] (kthread+0x78/0x80) from [<c0041344>] (kernel_thread_exit+0x0/0x8)
[   53.186668] PM: Syncing filesystems ... done.
[   53.193190] Freezing user space processes ... (elapsed 0.01 seconds) done.
[   53.210721] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) done.
[   53.236312] Suspending console(s) (use no_console_suspend to debug)

============

睡眠喚醒過程

[   53.245699] radio-tavaruatavarua_suspend: radio suspend
[   53.245706]
[   53.247391] local_clk_disable_nolock: Reference counts are incorrect for clock 100!
[   53.247401] local_clk_disable_nolock: Reference counts are incorrect for clock 121!
[   53.247410] local_clk_disable_nolock: Reference counts are incorrect for clock 122!
[   53.274894] PM: suspend of devices complete after 29.993 msecs
[   53.275716] PM: late suspend of devices complete after 0.807 msecs
[   53.275726] Disabling non-boot CPUs ...
[   53.275788] msm_pm_enter
[   53.275788] msm_pm_enter: power collapse
[   53.275788] msm_pm_enter: return
[   53.276225] PM: early resume of devices complete after 0.367 msecs
[   53.276471] wakeup wake lock: event1-201
[   53.504385] msm_kgsl: initialized dev=0 mmu=on per_process_pagetable=off
[   53.512652] hdmi_core_power(on): success
[   53.512678] hdmi_enable_5v(on): success
[   53.514445] radio-tavaruatavarua_resume: radio resume
[   53.514451]
[   53.514981] PM: resume of devices complete after 238.431 msecs
[   53.608123] Restarting tasks ...
[   53.610503] rmt_storage_ioctl: wait for request ioctl
[   53.620984] qlay: request_suspend_state WindowManagerPo
[   53.621018] request_suspend_state: wakeup (3->0) at 53542039854 (1970-01-02 00:00:45.009320145 UTC)
[   53.637453] done.
[   53.637537] suspend: exit suspend, ret = 0 (1970-01-02 00:00:45.025842812 UTC)

==========

從睡眠狀態中過來

WindowManagerPo 使得螢幕亮起

[   53.620984] qlay: request_suspend_state WindowManagerPo

[   53.646214] qlay: led_brightness_store
[   53.665536] qlay: led_brightness_store
[   53.681911] qlay: led_brightness_store
[   53.697361] qlay: led_brightness_store
[   53.714666] qlay: led_brightness_store
[   53.734233] qlay: led_brightness_store
[   53.755495] qlay: led_brightness_store
[   53.771700] qlay: led_brightness_store
[   53.784831] qlay: lcdc on task name suspend
[   53.784876] [<c0046958>] (unwind_backtrace+0x0/0x164) from [<c028b0dc>] (lcdc_on+0x34/0x124)
[   53.796463] qlay: led_brightness_store
[   53.800395] [<c028b0dc>] (lcdc_on+0x34/0x124) from [<c028b204>] (panel_next_on+0x38/0x44)
[   53.808203] [<c028b204>] (panel_next_on+0x38/0x44) from [<c02879a8>] (mdp_lcdc_on+0x340/0x3ac)
[   53.817175] qlay: led_brightness_store
[   53.824171] [<c02879a8>] (mdp_lcdc_on+0x340/0x3ac) from [<c027e928>] (msm_fb_blank_sub+0x74/0xcc
)
[   53.824206] [<c027e928>] (msm_fb_blank_sub+0x74/0xcc) from [<c027f5d4>] (msmfb_early_resume+0x58
/0x88)
[   53.841377] qlay: led_brightness_store
[   53.845211] [<c027f5d4>] (msmfb_early_resume+0x58/0x88) from [<c00e8bd0>] (late_resume+0x98/0xe8
)
[   53.853759] [<c00e8bd0>] (late_resume+0x98/0xe8) from [<c00cb158>] (worker_thread+0x160/0x1ec)
[   53.862614] qlay: led_brightness_store
[   53.866287] [<c00cb158>] (worker_thread+0x160/0x1ec) from [<c00cecbc>] (kthread+0x78/0x80)
[   53.874583] [<c00cecbc>] (kthread+0x78/0x80) from [<c0041344>] (kernel_thread_exit+0x0/0x8)