21750
查看Linux Display study的源代码
Linux Display study
0
←
Linux Display study
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
你被禁止执行你刚才请求的操作。
您可以查看并复制此页面的源代码:
[http://www.landley.net/kdocs/htmldocs/drm.html#idp5066496 Linux DRM Developer's Guide] The Direct Rendering Manager (DRM) is a subsystem of the Linux kernel responsible for interfacing with GPUs of modern video cards. DRM exposes an API that user space programs can use to send commands and data to the GPU, and perform operations such as configuring the mode setting of the display. DRM was first developed as the kernel space component of the X Server's Direct Rendering Infrastructure, but since then it has been used by other graphic stack alternatives such as Wayland. Ap -> [DRM API] -> libDrm -> [ioctls ]-> DRM driver libDrm: vblank event handling, memory management, output management, framebuffer management, command submission & fencing, suspend/resume support, DMA services. DRM driver: drm_driver structure u32 driver_features; //use AGP,use GEM mem manager, support KMS interfaces, DRM prime buffer sharing, int (*load) (struct drm_device *, unsigned long flags); //driver and device initialization entry point. '''Memory management''' DRM currently contains two memory managers, the Translation Table Manager (TTM) and the Graphics Execution Manager (GEM). ''''GEM'''' GEM exposes a set of standard memory-related operations to userspace and a set of helper functions to drivers, and let drivers implement hardware-specific operations with their own private API. Types of operation: # Memory allocation and freeing # Command execution # Aperture management at command execution time drm_gem_object_init: will create an shmfs file drm_gem_private_object_init: create GEM objects with no shmfs backing drm_gem_object_alloc: to allocate and initialize a struct drm_gem_object instance, if no need to extend with privae info. drm_gem_object_reference and drm_gem_object_unreference: reference count communication GEM object between user/kernel space: local handles, global names or,file descriptors. drm_gem_handle_create: create handle from DRM file and GEM object. drm_gem_handle_delete: cross process communication use Name. DRM_IOCTL_GEM_FLINK : handle to name called in user space DRM_IOCTL_GEM_OPEN: name to handle https://blog.csdn.net/yangkuanqaz85988/article/details/48689521 DRM [[image:DRM.png]]
返回
Linux Display study
。
导航菜单
个人工具
   
个人维基
注册
登录
名字空间
页面
变换
查看
阅读
查看源代码
统计
查看历史
操作
搜索
导航
首页
最近更改
随机页面
工具箱
所有页面
文件列表
特殊页面