首页
›
Linux内核与驱动
›
145-Linux内核显示驱动
›
《DRM PRIME跨设备DMA-BUF共享驱动开发》
VIP10
本课程属于:145-Linux内核显示驱动
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
DRM PRIME跨设备DMA-BUF共享驱动开发
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
DMA-BUF概述
DMA-BUF是什么 · 为什么需要DMA-BUF · DMA-BUF在图形栈中的角色
DMA-BUF
是什么
02
DRM Prime框架介绍
DRM Prime的由来 · 与DMA-BUF的关系 · 核心数据结构(struct dma_…
DRM
Prime
03
内核配置与编译
如何开启CONFIG_DMA_SHA… · CONFIG_DRM及其Prime相…
内核配置
编译
04
导出端驱动准备
实现一个简单的DRM驱动骨架 · 注册gem对象 · 实现gem_prime_export…
导出端驱动准备
DRM
05
struct drm_gem_object详解
GEM对象生命周期 · 私有数据 · 与dma_buf的关联
struct
drm
06
drm_gem_prime_export实现
调用dma_buf_export · 填充struct dma_buf_e… · 设置flags
drm
gem
07
导出实战
编写导出函数 · 分配物理连续内存 · 创建sg_table
导出实战
编写导出函数
08
struct sg_table与物理内存
sg_table结构解析 · dma_map_sgtable · 物理地址获取
struct
sg
09
导出端用户空间接口
通过DRM_IOCTL_MODE_C…
导出端用户空间接…
DRM
10
导入端驱动准备
实现gem_prime_import… · 从fd恢复dma_buf
导入端驱动准备
gem
11
drm_gem_prime_import实现
调用dma_buf_get · dma_buf_attach · dma_buf_map_attach…
drm
gem
12
导入实战
编写导入函数 · 获取sg_table · 映射到设备虚拟地址
导入实战
编写导入函数
13
dma_buf_attach与dma_buf_map_attachment详解
设备绑定 · 动态映射 · 缓存一致性
dma
buf
14
导入端用户空间接口
通过DRM_IOCTL_PRIME_…
导入端用户空间接…
DRM
15
跨设备共享实战
GPU导出->VPU导入 · 数据流分析 · 同步机制
跨设备共享实战
GPU
16
dma_fence与同步
dma_fence生命周期 · 与dma_buf结合 · 避免竞态
dma
fence
17
隐式同步与显式同步
implicit vs explic… · DRM同步对象
隐式同步
显式同步
18
缓存一致性管理
dma_sync_sgtable_f… · coherent vs stream…
缓存一致性管理
dma
19
dma_buf的IOCTL操作
查询大小 · 同步 · 导出信息
dma
buf
20
调试与日志
使用ftrace跟踪dma_buf操… · dmesg调试 · debugfs节点
调试
日志
21
性能优化
减少拷贝 · 使用dma_buf动态映射 · 批量操作
性能优化
减少拷贝
22
内存泄漏与引用计数
dma_buf_get/put · gem_object_get/put · 避免泄漏
内存泄漏
引用计数
23
多驱动协作架构
V4L2与DRM共享 · display与camera pip…
多驱动协作架构
V4L2
24
ION与DMA-BUF对比
ION历史 · DMA-BUF标准化 · 迁移指南
ION
DMA-BUF
25
安全与权限
fd传递安全 · seccomp限制 · SELinux策略
安全
权限
26
用户空间库支持
libdrm · gbm · wayland对dma-buf的使用
用户空间库支持
libdrm
27
实战案例1
从DRM导出到V4L2导入(相机预览…
实战案例1
DRM
28
实战案例2
从V4L2导出到DRM导入(视频播放…
实战案例2
V4L2
29
实战案例3
GPU与NPU共享张量数据
实战案例3
GPU
30
总结与展望
DMA-BUF未来演进 · 上游社区动态 · 最佳实践
DMA-BUF
未来演进
所属VIP或分类
同VIP:DRM-CRTC色彩管理与Gamma-LUT驱动开发
同VIP:DRM-PRIME与V4L2零拷贝视频管线开发
同VIP:drm_encoder编码器驱动与LVDS-HDMI适配