MSM平台显示系统
如上如所示,高通平台(MSM8916)的整个显示系统驱动向上层提供以下两种接口:
FB Device : /dev/graphics/fb*
V4L2 Device : /dev/video*
图上没有标明,但应该还有一个UI Render and complex composision的GPU部分 (/dev/kgsl-3d) ?? /dev/mediax 这个不知道做什么的
MDSS内核驱动的代码文件
mdss_fb → Top-level IOCTL/native framebuffer interface
mdss_mdp.c → MDP resources (clocks/irq/bus-bw/power)
mdss_mdp_overlay → Overlay/DMA top-level API
mdss_mdp_ctl → Controls the hardware abstraction to club the
(LM + DSPP + Ping-pong + Interface)
mdss_mdp_pipe → SRC pipe related handling
mdss_mdp_intf_cmd/mdss_mdp_intf_video/mdss_mdp_intf_writeback →
MDP panel interface related handling
mdss_mdp_pp → Postprocessing related implementation
mdss_mdp_rotator → Rotator APIs ( overlay_set/overlay_play interface)
mdss_mdp_pp.c → Postprocessing related material
代码目录
用户层代码目录
SurfaceTexture – \\frameworks\native\libs\gui
SurfaceFlinger – frameworks\native\services\surfaceflinger
Overlay HAL – \\hardware\qcom\display\liboverlay
Graphics alloc – \\hardware\qcom\display\libgralloc
Hardware composer – \\hardware\qcom\display\libhwcomposer
内核部分代码目录
MDSS driver – \\kernel\drivers\video\msm\mdss
1)Source surface process
mdss_mdp_overlay.c
mdss_mdp_pipe.c
2)Layer Mixer
mdss_mdp_ctl.c
3)Destination Surface Processor (DSP)
mdss_mdp_intf_cmd.c
mdss_mdp_intf_video.c
mdss_mdp_intf_writeback.c
mdss_mdp_rotator
4)Display peripheral interface
mdss_dsi.c
mdss_dsi_host.c
通过FB驱动ioctl传递的命令
1)Support for standard IOCTLs of Android
FBIOGET_VSCREENINFO – Gets variable information of framebuffer device
FBIOPUT_VSCREENINFO – Gets variable information of framebuffer device
FBIOBLANK – Turns on/off framebuffer device (display on/off)
FBIOPAN_DISPLAY – Updates display/framebuffer device with new image
2)QTI added IOCTLs
MSMFB_OVERLAY_GET – Gets overlay pipe/rotator information
MSMFB_OVERLAY_SET – Sets parameters/allocating overlay pipe/rotator
MSMFB_OVERLAY_UNSET – Closes pipe/rotator
MSMFB_OVERLAY_PLAY_ENABLE – Controls overlay update
MSMFB_OVERLAY_PLAY – Queues buffer to pipe
MSMFB_OVERLAY_PLAY_WAIT – Waits for vsync
MSMFB_CURSOR – Hardware cursor support
MSMFB_SET_LUT – Gamma look up table setup for CABL
MSMFB_HISTOGRAM – Reading histogram
MSMFB_HISTOGRAM_START – Starting Histogram
MSMFB_HISTOGRAM_STOP – Stopping Histogram
MSMFB_DISPLAY_COMMIT -
关键字:
DSI: Display Serial Interface
MDSS : Multimedia Display sub system
两种模式:
1.command mode
2.video mode
待续。。。