Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3003798
  • 博文数量: 523
  • 博客积分: 11908
  • 博客等级: 上将
  • 技术积分: 5475
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-03 15:50
文章分类

全部博文(523)

文章存档

2019年(3)

2013年(4)

2012年(71)

2011年(78)

2010年(57)

2009年(310)

分类: LINUX

2011-08-14 22:29:46

在高通芯片msm7x27中,有一个MDP模块,显示相关的数据都会经由其处理后送至目标设备。如下图所示,MDP模块主要包括PPP和DMA两大 部分,系统可以利用PPP模块对数据进行加速处理,譬如缩放、旋转、叠加等等;7X27中的MDP具有四条DMA通道,分别是DMA_P、MDA_S、 DMA_E、DMA_TV,可以外接lcd panel和TV。其中,DMA_S不可以接主屏。

    

      先来讲讲PPP模块,这个模块在android中被copybit库抽象。在android中,很多对图像的操作,譬如缩放、BLIT、叠加等等,都可 以借由这个硬件模块来做,从而优化了系统性能。而如果使用纯软件的方法来做的话,会大大加重cpu的负担。但是,使用PPP模块有一个需要注意的地方,就 是必须使用物理连续的内存,这个主要是因为PPP目前还没有MMU模块,无法操作非物理连续内存所致。

     下面来讲讲DMA_P模块,这个模块目前主要被客户用作主屏数据通道。如上图所示,DMA_P模块主要包括fetch/unpack/hw cursor blend/color correction/Histogram/gamma correction/dither/pack几个子模块,主要是数据送屏之前的预处理操作,涉及到一些图像处理的东西,这里我就不仔细说了。但是需要特 别主要的是,上图其实最后还有一个子模块,叫做tearing check,主要用于防止出现tearing现象(有关tearing的问题,可以参见我之前的一篇帖子)。如果当前是接的MDDI接口的panel, 该模块会起作用;而如果当前接的是RGB接口的panel,该模块会自动bypass。其他的DMA模块基本的东西都是差不多的,无非就是出去的接口有一 些不同,这里就不再细讲了。

阅读(3017) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~