msm8905刷屏过程分析

在msm8905平台上,QRD方案使用了一个SPI panel,一直想搞明白刷屏过程,今天难得有机会使用手机跟踪一下display过程,为防止自己遗忘,故写下此博客


刷屏过程大致如下:


1、SurfaceFlinger::doComposition()

SurfaceFlinger::postFramebuffer()

HWComposer::commit() 

hwc_set()

hwc_set_primary()

Overlay::displayCommit()

mdp_wrapper::displayCommit()

ioctl(fd,MSMFB_DISPLAY_COMMIT, &info)

mdss_fb_display_commit()

mdss_fb_pan_display_ex()

atomic_inc(&mfd->commits_pending);


2、在kernel中专门启动了一个thread,用于输出图像数据


__mdss_fb_display_thread()

wait_event(mfd->commit_wait_q,(atomic_read(&mfd->commits_pending) || kthread_should_stop()))

__mdss_fb_perform_commit()

mdp3_ctrl_display_commit_kickoff()

mdss_spi_panel_kickoff()

mdss_spi_tx_pixel(tx_buf,ctrl_pdata->byte_pre_frame)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值