libdrm全解析二十 —— 源码全解析(17)
接前一篇文章:libdrm全解析十九 —— 源码全解析(16)
本文参考以下博文:
DRM 驱动程序开发(VKMS)
特此致谢!
本文继续对include/drm/drm.h中实际功能宏定义进行讲解。
29. DRM_IOCTL_SET_MASTER
第29个宏是DRM_IOCTL_SET_MASTER,相应代码如下:
#define DRM_IOCTL_SET_MASTER DRM_IO(0x1e)
结合之前文章中的_IO(type,nr) 的最终定义,得到如下代码:
#define DRM_IOCTL_SET_MASTER ( ((0) << 30) | (('d') << 8) | ((0x1e) << 0) | ((0) << 16) )
DRM_IOCTL_SET_MASTER对应的Userspace API为:drmSetMaster()。该函数也是在xf86drm.c中,代码如下:
drm_public int drmSetMaster(int fd)
{return drmIoctl(fd, DRM_IOCTL_SET_MASTER, NULL);
}
函数的作用是获取DRM-Master访问权限。此函数在后文具体讲解函数的时候进行详细解析。在此先认识一下、有个印象就好。
30. DRM_IOCTL_DROP_MASTER
第30个宏是DRM_IOCTL_DROP_MASTER,相应代码如下:
#define DRM_IOCTL_DROP_MASTER DRM_IO(0x1f)
结合之前文章中的_IOWR(type,nr,size)的最终定义,得到如下代码:
#define DRM_IOCTL_DROPMASTER ( ((0) << 30) | (('d') << 8) | ((0x1f) << 0) | ((0) << 16) )
DRM_IOCTL_DROP_MASTER对应的Userspace API为:drmDropMaster()。该函数也是在xf86drm.c中,代码如下:
drm_public int drmDropMaster(int fd)
{return drmIoctl(fd, DRM_IOCTL_DROP_MASTER, NULL);
}
函数的作用是放弃DRM-Master访问权限。此函数在后文具体讲解函数的时候进行详细解析。在此先认识一下、有个印象就好。
其余宏定义将在后续文章中继续解析。
相关文章:
libdrm全解析二十 —— 源码全解析(17)
接前一篇文章:libdrm全解析十九 —— 源码全解析(16) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 本文继续对include/drm/drm.h中实际功能宏定义进行讲解。 29. DRM_IOCTL_SET_MAS…...
基于docker搭建owncloud Harbor 构建镜像
环境介绍:ContenOS7.9 docker17.12.1-ce 使用mysql:5.7和 owncloud 镜像,构建一个个人网盘。 docker pull owncloud #拉取镜像 docker pull mysql5.7 创建容器 docker run --name owncloud-mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORDroot …...
往Buildroot中增加Qt项目
前言 目的:应用开发时最初是没有和buildroot中一起编译时,后面应用程序写的差不多时,同事问我怎么把应用程序打包到文件系统中,然后发布时跟随文件系统一起发布,并且增加打包启动脚本。所以本文在已经可以单独编译的基…...
C#-Tolewer和ToUpper的使用
目录 简介: 好处: 过程: 总结: 简介: 字符串是不可变的,所以这些函数都不会直接改变字符串的内容,而是把修改后的字符串的值通过函数返回值的形式返回。 ToLower和ToUpper是字符串处理函数,用于将字符中的英文字母转换为小…...
RabbitMQ集群搭建和测试总结_亲测
RabbiMQ简介 RabbitMQ是用Erlang开发的,集群非常方便,因为Erlang天生就是一门分布式语言,但其本身并不支持负载均衡。 RabbitMQ模式 RabbitMQ模式大概分为以下三种: (1)单一模式。 (2)普通模式(默认的集群模式)。 (3)镜像模式(把需要的队列…...
SQLSTATE[IMSSP]: The active result for the query contains no fields.
我的是SQL server 报错场景,代码: $psendmx_sql"SET IDENTITY_INSERT PSENDMX ON;INSERT INTO psendmx (DJBH,MIBH,MXBH,SPDM,GG1DM,GG2DM,SL,SL_2,CKJ,ZK,DJ,DJ_1,JE,HH) VALUES {$mx_values};SET IDENTITY_INSERT PSENDMX OFF;"; $a$db_er…...
在Flutter应用内部实现分屏功能
前言 这一次被要求实现屏幕上同时展示两个页面,并且两个页面的逻辑,功能互不影响,通俗一点讲就是在Flutter内部实现一个类似于分屏的功能,这可难不倒我。 方法 要在 Flutter 中实现一个屏幕的上半部分和下半部分展示不同的页面…...
Docker常用操作命令(二)
Docker常用操作命令(二) 11、进入容器 docker exec -it 容器名称or容器ID /bin/bash [rootzch01 ~]# docker exec -it 973ff3caff19 /bin/bash 退出容器 root973ff3caff19:/# exit 12、查看容器中的进程 docker top 容器名称or容器ID [rootzch01 ~]# docker top 973ff3c…...
vue3 tailwindcss的使用
首先安装依赖: npm install -D tailwindcsslatest postcsslatest autoprefixerlatestnpm i -D unocss 然后vite.config.ts中 引入 import Unocss from unocss/viteexport default defineConfig({plugins: [Unocss(),],})终端执行: npx tailwindcss in…...
redis 基础篇(redis 理解)
目录 redis 特性介绍 redis 的一些特性(优点) 1. 在内存中存储数据 2. 可编程的 3. 可扩展 4. 持久化 5. 支持集群 6. 高可用 redis 的应用场景 数据库 作缓存 会话存储 作消息队列 redis 不适合做的事情 redis 介绍 redis 客户端形态 命…...
C++系列-函数重载
C系列-函数重载 函数重载函数重载的条件函数重载注意事项引用作为重载函数重载遇到默认参数 函数重载 函数名可以相同, 提高复用性 函数重载的条件 同一个作用域下函数名相同函数参数不同 – 参数个数不同 – 参数顺序不同 – 参数类型不同不可以使用返回值作为重…...
Linux scp命令
scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。 scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。 scp [可选参数] file_source file_target 参数说明: -1: 强制scp命令使用协议ss…...
vue 简单实验 v-bind 变量与html属性绑定
1.代码 <script src"https://unpkg.com/vuenext" rel"external nofollow" ></script> <div id"bind-attribute"><span v-bind:title"message">鼠标悬停几秒钟查看此处动态绑定的提示信息!</sp…...
114.(cesium篇)cesium去掉时间轴并用按钮控制运动
地图之家总目录(订阅之前必须详细了解该博客) 完整代码工程包下载,运行如有问题,可“私信”博主。效果如下所示: cesium去掉时间轴并用按钮控制运动 下面献上完整代码,代码重要位置会做相应解释 <html lang...
2023年清洁能源与智能电网国际会议(CCESG 2023)
会议简介 Brief Introduction 2023年清洁能源与智能电网国际会议(CCESG 2023) 会议时间:2023年 召开地点:中国南宁 大会官网:CCESG 2023-2023 International Joint Conference on Clean Energy and Smart Grid 由IASED主办, CoreS…...
RISC-V中国峰会 | 256核服务器高调亮相,谁与争锋?
8月23日,第三届RISC-V中国峰会(RISC-V Summit China 2023)在北京香格里拉饭店正式开幕,来自世界各地的行业精英汇聚一堂,为RISC-V生态系统建言献策,凝心聚力! 中国工程院院士倪光南、RISC-V国际…...
树套树小结
树状数组套权值线段树,实现过程类似主席树,采用动态开点实现 https://www.luogu.com.cn/problem/P3380 树状数组部分 线段树部分...
android 解决sdk代码冲突
1. 在引用sdk的外面添加排除sdk implementation ("androidx.core:core-ktx:1.9.0"){exclude (group:androidx.appcompat, module:appcompat)} 2. 全局指定对应的sdk版本 configurations.all {resolutionStrategy.eachDependency { DependencyResolveDetails detail…...
C++逆天合集
1.基础知识 1. 创建 编译 运行 touch a.cpp gedit a.cpp g -o a.out a.cpp ./a.out 2. a 等价于a a 1 3. ::运算符 4. 类型转换 赋给无符号类型超出其表达范围时,对总数取模得余数 赋给带符号类型超出其表达范围时,结…...
GD32F4xx内部FLASH读写避坑指南:从用户手册到代码调试,手把手教你搞定0x08040000地址操作
GD32F4xx内部FLASH操作实战:从手册解读到调试验证的完整指南 第一次接触GD32F4系列MCU的内部FLASH操作时,很多开发者都会遇到各种"坑":为什么擦除后数据变成了0xFF?为什么写入操作会失败?地址0x08040000到底…...
统考通过率最高传媒艺考机构艺天影视
大家好,我是深耕传媒艺考行业8年的教学顾问。近年来,山西的传媒艺考竞争愈发激烈,以2026届为例,播音统考近万人报考,考生和家长无不感到压力山大。面对如此激烈的竞争,很多同学和家长在选择艺考培训机构时感…...
学习刷题公众号管理系统
功能特点支持视频、音频、图文三种课程形式,按知识点分类管理,支持自由添加和编辑课程章节。课程可设置为免费或付费模式,支持VIP会员免费学习权限设置。提供智能组卷功能,学员可按知识点自主组卷,系统从题库中随机抽题…...
别再只用JSON了!聊聊Qt里QDataStream的二进制序列化优势与避坑指南
二进制序列化新选择:Qt中QDataStream的高效实践与深度解析 在Qt开发者的工具箱里,JSON和XML常被视为数据交换的默认选择,但当面对高性能、紧凑存储或跨版本兼容性需求时,二进制序列化方案往往能带来意想不到的优势。QDataStream作…...
OpenAI Codex 安装部署指南:从零到跑通,2026最新版
⏱️ 阅读时间:8分钟 | 📌 难度:入门级 | 🔧 适用系统:macOS / Linux / Windows(WSL2) 前言 距离上次写 Codex 测评已经有一段时间了,这期间 Codex 又经历了好几轮大更新:Computer Use 能力、内…...
TI毫米波雷达实战:从mmWave Studio配置到3D-FFT点云生成的保姆级教程
TI毫米波雷达实战:从硬件连接到3D-FFT点云生成的完整指南 毫米波雷达技术正在工业检测、自动驾驶和智能家居领域掀起革命。作为TI毫米波雷达开发的核心工具链,mmWave Studio与DCA1000的组合为工程师提供了从信号采集到高级处理的完整解决方案。本文将带您…...
2026实测:专业降AI率软件选这款就对了
2026 年降 AIGC 工具已经从“机械式语义调整”进化为多维度智能优化系统,核心评估指标涵盖 AI 痕迹去除精准度、学术表达一致性、格式结构完整性、长段落逻辑稳定性、内容改写适配性以及高校检测合规性。本次测评覆盖 5 款主流工具,测试场景包括中英文论…...
从蓝图到落地:基于IEEE 830标准构建数字化车间需求规格说明书
1. 为什么数字化车间需要IEEE 830标准? 在汽车制造车间推进数字化转型时,我见过太多团队一上来就急着写代码、买设备,结果系统上线后才发现功能与业务脱节。这时候IEEE 830标准就像一份施工蓝图,它能帮我们把模糊的"数字化愿…...
SEO优化?你的网站要是还没学会这些方法就亏大了
说起来你可能不信,我刚接触SEO优化那会儿,差点把自家网站整成“数字废墟”。今天翻出那些踩过的坑,跟你唠唠怎么让搜索引擎爱上你的小破站。关键词研究:别再用脚趾头猜了你可能试过对着键盘一顿乱敲,把“最好”“第一”…...
案例之 ANN案例_手机价格分类
案例之 ANN案例_手机价格分类...
