MTK display(一)

显示模块流程介绍名词解析

一、显示逻辑
在这里插入图片描述

  • Surface Manager(Surfaceflinger)
    ** Surfaceflinger 是用户空间中ramework下libraries 中负责显示相关的一个模块
    ** 当系统同时执行多个应用程序时,Surfaceflinger 负责管理显示,主要包括显示的叠加和显示的渲染
    ** 其中显示的叠加,MTK 架构按照一定的原则和算法,主要用到GPU 和 OVL 模块的overlay 功能来做2D/3D 绘图的显示合成

  • HWC
    ** 基于DDP OVL 硬件做HW Overlay 功能

  • GPU (Graphic Processing Unit )
    ** aspecialized electronic circuit designed to accelerate the image processing, frame buffer rendering for output to a display.
    ** 一种专用电子电路,旨在加速图像处理、帧缓冲区渲染以输出到显示器

  • FrameBuffer
    ** 基于Linux Frame buffer 模型的MTK Framebuffer 实作,主要来管理frame buffer。

  • DDP(Display Data Path)
    ** MTK Display Hardware Controller,包括OVL, DMA, Color Processor,BLS, DSI/DBI/DPI Controller

二、显示数据流
在这里插入图片描述

  • Display 大致的流程说明

** APP(包括WMS)会把数据透过Surface送到SF(surfaceflinger)
** SF 按照一定规则,通过GPU/HWC把多个Surface合成,并设定到DDP OVL 的对应layer
*** MTK OVL 一般有4 layer(可能不同平台会有差异,目前基本都是4 layer),每个layer 都可以设定一个对应的图层,然后OVL 把这写图层合成后送给DDP 的下一级Module
*** 某些情况下(比如总的图层超过4个,OVL 无法处理等各种case) ,会使用GPU 去做2D/3D 的图层合成到frame buffer

** SF/HWC 最后把GPU合成图层以及需要OVL 合成的图层,设定到OVL 的HW Register,并trigger HW Engine
** MTK DDP 就会把合成的数据像管道一样流向LCM module,最后Panel 显示相关的画面

三、显示数据路径 DDP
在这里插入图片描述
1.rotator
  图像旋转,支持多个方向旋转,也支持局部旋转

2.scaler
  图像缩放,水平垂直方向缩放

3.color engine
  图像颜色处理,PQ处理,改变亮度色坐标等
4. OVL:Overlay
从内存中或者前级模块的输出通过透明度、区域设置、等叠加,输出为一个显存
数据输入:direct link scaler format,YUV or RGB;memory source format.可以直接从上级模块SCL or PQ,也可以直接从memory输入

5.WDMA(write DMA)
  模块负责数据写入DRAM中

6.RDMA(read DMA)
  模块负责从DRAM中将数据写入显示模块,如DSI、DPI、DBI
在这里插入图片描述
CMDQ:即command queue,由于Display的driver中涉及大量的寄存器读写操作,如果全部用CPU读写,会占用大量的CPU资源。所以 MTK使用一个硬件来负责此项工作,cmdq就是辅佐这个硬件工作的软件架构。Display把需要读、写、和轮询硬件寄存器的一连串命令,打包成命令队列交给cmdq,cmdq会单独去启一个线程做这些事情。cmdq的实现依赖gce和IPI中断。

VBLANK:场消隐;对于cmd屏来说,te信号就是vblank的标志;对于vdo屏来说,FRAME_DONE中断标志就是vblank。

FENCE:内存同步机制,也就是我们经常说的in-fence(使能状态),out-fence(完成状态);

DRM/KMS: Direct Rendering Manager / Kernel Mode Setting,内核显示框架。mtk最新的代码都是基于此架构来实现;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值