[RK3399][Android7.1] Display中的DRM Framebuffer

OS: Android 7.1
Board: Firefly-RK3399
Kernel: v4.4.55

以前产品使用的显示缓存是fb,即framebuffer;
引进drm之后,显示缓存使用的是drm fb了。

在display HAL层默认使用的是drm,可以从Android.mk中得出结论。

hardware/rockchip/hwcomposer/Android.mk:

BOARD_USES_DRM_HWCOMPOSER=true
ifeq ($(strip $(BOARD_USES_DRM_HWCOMPOSER)),true)
LOCAL_SHARED_LIBRARIES := \
	libcutils \
	libdrm \
......
LOCAL_SRC_FILES := \
	autolock.cpp \
	drmresources.cpp \
......
else
......
endif

其中用到了libdrm库,位于external/libdrm下面。


drm设备的添加:

rockchip_drm_platform_probe ->
  component_master_add_with_match ->
    try_to_bring_up_master -> //当所有component被bind之后,会调用master ops->bind,这块见前面drm内容介绍文章
      rockchip_drm_bind ->
        drm_dev_alloc -> //后续对drm的操作都包含在rockchip_drm_driver中,也包含了要注册设备节点对应的file_operations
        drm_dev_register

添加完成之后在/sys/class/

评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值