linux显示驱动架构,Linux驱动基础: msm平台显示架构

MSM平台显示系统

3b7a68dca0f69171a74e2d8ce02285c4.png

如上如所示,高通平台(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

待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值