
DRM显示驱动
文章平均质量分 87
一瓶布满
驱动的本质是描述并抽象硬件,然后为用户提供操作硬件的友好接口
展开
-
DRM驱动(十)之page_flip
本文详细阐述了drmModePageFlip刷新图像如何避免撕裂的过程,并且详细分析了对应kernel driver的逻辑。原创 2023-12-28 10:31:49 · 3112 阅读 · 0 评论 -
DRM驱动(九)之drm_vblank
本文从app到kernel drm driver,vblank更新的详细过程。原创 2023-12-28 10:16:52 · 3619 阅读 · 0 评论 -
DRM驱动(八)之crtc_state生命周期
本文介绍了drm中各个组件state的创建,使用和销毁的生命周期。算是对之前内容的补充,把一些细节放大来阐述。原创 2023-03-17 22:46:38 · 2178 阅读 · 1 评论 -
DRM驱动(七)之atomic_commit
atomic_commit,drm框架中逻辑比较复杂的一块,这里通过简短的语言和思维导图把刷图的过程呈现出来,并说明每个回调接口的作用原创 2022-09-20 23:04:24 · 6394 阅读 · 1 评论 -
DRM驱动(六)之atomic_check
atomic_check主要用来检查应用设置的参数是否存在与驱动不相符的地方,drm框架会check通用的参数,并会调用各个由厂商实现组件的atomic_check来进行参数检查。原创 2022-09-18 09:36:42 · 3748 阅读 · 0 评论 -
DRM驱动(五)之drm_atomic_state
本节介绍了应用调用drmModeSetCrtc时传入参数转换为struct drm_atomic_state的过程原创 2022-06-04 22:15:36 · 4824 阅读 · 0 评论 -
DRM驱动(四)之ADD_FB
gem obj创建之后需要与一块drm_framebuffer进行绑定使用,因为最终刷图使用的是fb。使用接口drmModeAddFB会创建drm_framebuffer并与上节创建的gem obj进行绑定。本文阐述了内核创建drm_framebuffer的整个过程。原创 2022-04-22 23:13:00 · 8456 阅读 · 6 评论 -
DRM驱动(三)之CREATE_DUMB
我会根据我们如何创建一个drm的buf呢,或者你已经知道可以使用drmIoctl(fd, DRM_IOCTL_MODE_CREATE_DUMB, &create)可以为显示创建buff,但此函数在内核又做了什么呢?下面一起学习一下内核如何为应用创建显存。原创 2022-04-04 23:22:40 · 8625 阅读 · 16 评论 -
DRM驱动(二)之DRM驱动模块简介
做过显示的都知道,目前大多数厂商已经抛弃fb框架,使用drm驱动来管理显示。其中的优点是芯片厂商不必重复造轮子,只需将自己显示处理器的配置流程实现为函数,由drm驱动调用即可。同时drm也为用户提供同一接口,方便使用。原创 2022-04-04 20:01:46 · 9829 阅读 · 1 评论 -
DRM驱动(一)之显示处理器介绍
显示处理器将在内存中的图像数据,转化为电信号送到显示设备,比如早期的LCDC。后面进行了拓展,可以处理一些简单的图像,比如缩放、旋转、合成等,如瑞芯的vop,高通的sde。合成后送到下一级的接口,这里的接口指的是lvds,mipi等。处理简单的图像使用显示处理器可以节省gpu功耗。原创 2022-04-03 22:17:26 · 9187 阅读 · 0 评论