hrtimer_init(&vblank_hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); vblank_hrtimer.function = &vkms_vblank_simulate; hrtimer_start(&vblank_hrtimer, 16666667, HRTIMER_MODE_REL); } static void vkms_crtc_atomic_disable(struct drm_crtc *crtc, struct drm_crtc_state *old_state) { hrtimer_cancel(&...
ret = drm_vblank_init(drm_dev, drm_dev->mode_config.num_crtc);//vlank 初始化? drm_mode_config_reset(drm_dev);//调用所有的reset callback函数 rockchip_drm_set_property_default(drm_dev); drm_kms_helper_poll_init(drm_dev); //使能kms 轮询机制 主要是connector rockchip_gem_pool_init(dr...
这里直接使用 drm_atomic_helper_commit() 函数实现。 Atomic 操作依赖 VSYNC 中断(即 VBLANK 事件),因此需要使用 hrtimer 来提供软件中断信号。在驱动初始化时调用 drm_vblank_init(),在 VSYNC 中断处理函数中调用 drm_handle_vblank()。 在plane/crtc/encoder/connector objects 初始化完成之后,一定要调用 drm_...
drm_dev_init()、drm_dev_register() 核心是7个 objects,一切都围绕着这几个 objects 展开: 为了创建 crtc/plane/encoder/connector objects,需要调用 drm_xxx_init()。 为了创建 framebuffer object,需要实现 fb_create() callback。 为了创建 gem object,需要实现 ...
drm_kms_helper_poll_fini(drm);drm_vblank_cleanup(drm); drm_mode_config_cleanup(drm);return0; } 开发者ID:AK101111,项目名称:linux,代码行数:14,代码来源:arcpgu_drv.c 示例15: vmw_kms_sou_init_display ▲点赞 1▼ intvmw_kms_sou_init_display(struct vmw_private *dev_priv){structdrm_devic...
13、drm_vblank_init(drm_dev, drm_dev->mode_config.num_crtc) 功能:初始化vblank。 14、drm_mode_config_reset(drm_dev) 功能:复位Plane、CRTC、Encoder和Connector。 15、rockchip_drm_set_property_default(drm_dev) 功能:设置Connector的默认属性。
drm_dev_init()、drm_dev_register() 核心是7个 objects,一切都围绕着这几个 objects 展开: 为了创建 crtc/plane/encoder/connector objects,需要调用 drm_xxx_init()。 为了创建 framebuffer object,需要实现 fb_create() callback。 为了创建 gem object,需要实现 dumb_create() callback。
13、drm_vblank_init(drm_dev, drm_dev->mode_config.num_crtc) 功能:初始化vblank。 14、drm_mode_config_reset(drm_dev) 功能:复位Plane、CRTC、Encoder和Connector。 15、rockchip_drm_set_property_default(drm_dev) 功能:设置Connector的默认属性。
Vblank:软硬件同步机制,RGB时序中的垂直消影区,软件通常通过硬件VSYNC实现。Property:任何可设置的参数均可做成property,是DRM驱动中最灵活的部分。以HDMI接口为例,Soc内部通常包含Display模块,通过总线连接到HDMI接口上。则Display模块对应CRTC,HDMI接口对应Connector,Framebuffer对应显存部分,Plane用于...
status = "okay";force-hpd;ports { port@1 { reg = <1>;edp_out: endpoint { remote-endpoint...