一,Linux Android Display
1,Linux Android Display Software Subsystem
密
2,Linux Android Display Architecture
密
二,DRM/KMS Adreno DPU
1,硬件框图
密
1.1 Qualcomm Adreno DPU 8-Series Overview
密
1.2 Display Peripheral
密
1.3 MIPI DSI
密
1.4 ,plane/CRTC/encoder/connector对应的硬件
DRM(direct rendering manager)
各模块的位置及功能:
Plane: 一个Plane代表一个image layer, 最终的image由一个或者多个Planes组成。
CRTC: 主要用于显示控制,如display timings,resolution的配置,将framebuffer内容送到display,更新framebuffer等。
Encoder: 将数据转换成合适的格式,送给connector,比如HDMI需要TMDS信息, encoder就将数据转成HDMI需要的TMDS格式。
Connector: 代表具体外部接口,如edp, hdmi, mipi等。用于传输信号给外部硬件显示设备,探测外部显示设备接入。
对应dtsi中的qcom,mdss-dsi-display-timings中
cpp
qcom,display-topology = <1 0 1>; //Layer Mixer, DSC encoder, DSI MDP处理模块的数量
qcom,default-topology-index = <0>;
SDE/MDP(mobile display processor)
DRM处理架构中的对应的硬件模块:
SSPP(Source Surface Processor Pipes):Format conversion and quality improvement for source surface(video graphics)
Layer Mixer(LM):Blend and mix source surface together
DSPP(Destination Surface Processor Pipes):Conversion correction and adjustment based on panel charactersistics
Display interface:Timing generate and interface connectiong the display perpheral
2,Snapdragon Display Manager (SDM) DRM Architecture
密
3,DRM/KMS Adreno DPU Driver Architecture
密
三,msm drm driver framework
1,DRM/KMS Driver结构体之间的关系
2,dts结构
密
2.1 mdss_mdp/dsi-ctrl/dsi-phy
2.2 sde_dsi
2.3 panel
2.4 connectors
3,DRM加载顺序
参考链接: