资讯详情

资讯详情

第六章 BO 的共享:6.9 BO 共享的驱动集成

前几节分别从 dma-buf 与 PRIME 的角度说明了导出方和导入方的接口。本节换到驱动开发者的角度,说明一个 DRM 驱动接入 BO 共享需要实现哪些接口、按什么步骤实现。工作量主要取决于 BO 的后备存储是否会迁移:不迁移的驱动套用 PRIME 的默认实现即可;会迁移的驱动要自己实现导出方的dma_buf_ops,并以动态方式导入。后一类以 amdgpu 为例,只说明各步骤的关键做法。1. 选择接入方式DRM 驱动的 BO 共享都经 PRIME 进入:导出入口是drm_gem_object_funcs.export,为空时使用drm_gem_prime_export();导入入口是drm_driver.gem_prime_import,为空时使用drm_gem_prime_import()。驱动先按后备存储能否迁移选定接入方式,两类方式的区别如表 6.9.1 所示。表 6.9.1 两类驱动的接入方式后备存储固定后备存储可迁移典型驱动基于 shmem / DMA helper 的驱动,如 v3d、lima、simpledrm以 TTM 管理显存与 GTT 的驱动,如 amdgpu、xe导
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →