本文主要是介绍[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驱动程序框架详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!