本文主要是介绍[RK-Linux] RK3399 DRM驱动程序框架详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如果需要编写一个DRM
驱动,应该怎么做呢?具体流程如下:
(1) 定义struct drm_driver
,并初始化成员name
、desc
、data
、major
、minor
、driver_features
、fops
、dumb_create
等;
(2)调用drm_dev_alloc
函数分配并初始化一个struct drm_device
;
(3) 调用drm_mode_config_init
初始化drm_device
中mode_config
结构体;
(4) 调用drm_xxx_init
创建 framebuffer
、plane
、crtc
、encoder
、connector
这5个 drm_mode_object
;
在DRM
子系统中是通过component
框架完成各个功能模块的注册,比如在:
CRTC
驱动程序:包含了plane
和crtc
的初始化工作;HDMI
驱动程序:包含了encoder
和connector
的初始化工作;edp
驱动程序:
这篇关于[RK-Linux] RK3399 DRM驱动程序框架详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!