DRM驱动(一)之显示处理器介绍

显示处理器是什么

将在内存中的图像数据,转化为电信号送到显示设备称为显示控制器,比如早期的LCDC。后面进行了拓展,可以处理一些简单的图像,比如缩放、旋转、合成等,如瑞芯的vop,高通的sde称为显示处理器。合成后送到下一级的接口,这里的接口指的是lvds,mipi等。

优点:简单的图像处理使用显示处理器可以节省gpu功耗。

显示处理器主要能做什么

以下功能均由硬件完成,不需要cpu参与

  1. 缩放,旋转等操作
  2. 支持多层,并可以进行合成,支持porter-duff
  3. 支持多种显存格式(ARGB888, RGB565, 包括GPU输出的tile格式以及fbdc压缩格式)等
  4. 支持生成时序信号如tcon,送给如lvds或者mipi等接口。
  5. 支持多种分辨率

为什么要介绍显示处理器的功能?因为DRM驱动就是为了实现这些功能的软件实现。

各家芯片厂商显示处理器实现各有不同,但均有如下两个重要的部件:多个layer、负责图层合成的模块以及输出接口,整个处理流程可以称为display pipelane。

layer:

layer是一个图层,可以理解为里面放了一张图片,如下图。实际放在各个layer的是以某种格式填充在memory里的图像数据。layer需要配置的信息包括但不限于:图像format、width x height、stride、显存地址等;如果支持缩放还需要原图像大小以及要缩放大小等。现在很多芯片都支持多layer,如瑞芯的vop可支持6个layer,高通的高端芯片可以支持8~9个layer。

图像合成模块

主要用于将各个layer送来的图像进行合成为一层送出显示,例如将上面三层合成如下效果。

可以理解为在图像合成模块里有个画布,把每层按照一定次序和规则画上去。

合成如上效果需要配置那些参数呢?

  1. 每个layer在画布的位置(x, y)
  2. 每个layer的zorder,也就是哪个layer在上面,哪个layer在下面。
  3. 最终合成图像的大小
  4. 按照哪种方式合成(porter-duff)

输出接口

接口负责将合成后的数据翻译为标准协议信号,比如常见的dsi,lvds等,便于外接显示设备进行显示。

以上介绍仅是自己对显示处理器的见解,我不是做芯片设计的,对以上模块的内部设计不了解;软件驱动只需知道什么时候配置什么样的功能即可。

有了这些概念再来看drm显示驱动就会相对容易一些。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值