当前位置: 首页 > news >正文

石家庄有那些网站开发公司qq企业邮箱 wordpress

石家庄有那些网站开发公司,qq企业邮箱 wordpress,创建网址链接,任务网站开发接前一篇文章#xff1a;libdrm全解析七 —— 源码全解析#xff08;4#xff09; 本文参考以下博文#xff1a; DRM 驱动程序开发#xff08;VKMS#xff09; 特此致谢#xff01; 本文继续对include/drm/drm.h中实际功能宏定义进行讲解。 7. DRM_IOCTL_GET_STATS …接前一篇文章libdrm全解析七 —— 源码全解析4 本文参考以下博文 DRM 驱动程序开发VKMS 特此致谢 本文继续对include/drm/drm.h中实际功能宏定义进行讲解。 7. DRM_IOCTL_GET_STATS 第7个宏是DRM_IOCTL_GET_STATS相应代码如下 #define DRM_IOCTL_GET_STATS DRM_IOR( 0x06, struct drm_stats) 结合之前文章中的_IOR(type,nr,size)的最终定义得到如下代码 #define DRM_IOCTL_GET_STATS ( ((2) 30) | ((d) 8) | ((0x06) 0) | ((sizeof(struct drm_stats)) 16) ) struct drm_stats在同文件include/drm/drm.h中定义代码如下 /** DRM_IOCTL_GET_STATS ioctl argument type.*/ struct drm_stats {unsigned long count;struct {unsigned long value;enum drm_stat_type type;} data[15]; }; drm_stat_type的定义就在上边代码如下 enum drm_stat_type {_DRM_STAT_LOCK,_DRM_STAT_OPENS,_DRM_STAT_CLOSES,_DRM_STAT_IOCTLS,_DRM_STAT_LOCKS,_DRM_STAT_UNLOCKS,_DRM_STAT_VALUE, /** Generic value */_DRM_STAT_BYTE, /** Generic byte counter (1024bytes/K) */个_DRM_STAT_COUNT, /** Generic non-byte counter (1000/k) */_DRM_STAT_IRQ, /** IRQ */_DRM_STAT_PRIMARY, /** Primary DMA bytes */_DRM_STAT_SECONDARY, /** Secondary DMA bytes */_DRM_STAT_DMA, /** DMA */_DRM_STAT_SPECIAL, /** Special DMA (e.g., priority or polled) */_DRM_STAT_MISSED /** Missed DMA opportunity *//* Add to the *END* of the list */ }; DRM_IOCTL_GET_STATS对应的Userspace API为drmGetStats()。该函数也是在xf86drm.c中代码如下 drm_public int drmGetStats(int fd, drmStatsT *stats) {drm_stats_t s;unsigned i;memclear(s);if (drmIoctl(fd, DRM_IOCTL_GET_STATS, s))return -errno;stats-count 0;memset(stats, 0, sizeof(*stats));if (s.count sizeof(stats-data)/sizeof(stats-data[0]))return -1;#define SET_VALUE \stats-data[i].long_format %-20.20s; \stats-data[i].rate_format %8.8s; \stats-data[i].isvalue 1; \stats-data[i].verbose 0#define SET_COUNT \stats-data[i].long_format %-20.20s; \stats-data[i].rate_format %5.5s; \stats-data[i].isvalue 0; \stats-data[i].mult_names kgm; \stats-data[i].mult 1000; \stats-data[i].verbose 0#define SET_BYTE \stats-data[i].long_format %-20.20s; \stats-data[i].rate_format %5.5s; \stats-data[i].isvalue 0; \stats-data[i].mult_names KGM; \stats-data[i].mult 1024; \stats-data[i].verbose 0stats-count s.count;for (i 0; i s.count; i) {stats-data[i].value s.data[i].value;switch (s.data[i].type) {case _DRM_STAT_LOCK:stats-data[i].long_name Lock;stats-data[i].rate_name Lock;SET_VALUE;break;case _DRM_STAT_OPENS:stats-data[i].long_name Opens;stats-data[i].rate_name O;SET_COUNT;stats-data[i].verbose 1;break;case _DRM_STAT_CLOSES:stats-data[i].long_name Closes;stats-data[i].rate_name Lock;SET_COUNT;stats-data[i].verbose 1;break;case _DRM_STAT_IOCTLS:stats-data[i].long_name Ioctls;stats-data[i].rate_name Ioc/s;SET_COUNT;break;case _DRM_STAT_LOCKS:stats-data[i].long_name Locks;stats-data[i].rate_name Lck/s;SET_COUNT;break;case _DRM_STAT_UNLOCKS:stats-data[i].long_name Unlocks;stats-data[i].rate_name Unl/s;SET_COUNT;break;case _DRM_STAT_IRQ:stats-data[i].long_name IRQs;stats-data[i].rate_name IRQ/s;SET_COUNT;break;case _DRM_STAT_PRIMARY:stats-data[i].long_name Primary Bytes;stats-data[i].rate_name PB/s;SET_BYTE;break;case _DRM_STAT_SECONDARY:stats-data[i].long_name Secondary Bytes;stats-data[i].rate_name SB/s;SET_BYTE;break;case _DRM_STAT_DMA:stats-data[i].long_name DMA;stats-data[i].rate_name DMA/s;SET_COUNT;break;case _DRM_STAT_SPECIAL:stats-data[i].long_name Special DMA;stats-data[i].rate_name dma/s;SET_COUNT;break;case _DRM_STAT_MISSED:stats-data[i].long_name Miss;stats-data[i].rate_name Ms/s;SET_COUNT;break;case _DRM_STAT_VALUE:stats-data[i].long_name Value;stats-data[i].rate_name Value;SET_VALUE;break;case _DRM_STAT_BYTE:stats-data[i].long_name Bytes;stats-data[i].rate_name B/s;SET_BYTE;break;case _DRM_STAT_COUNT:default:stats-data[i].long_name Count;stats-data[i].rate_name Cnt/s;SET_COUNT;break;}}return 0; } 函数的作用是从中获取各种状态stat的相关信息包括IRQs、DMA、Locks、Unlocks等等。此函数在后文具体讲解函数的时候进行详细解析。在此先认识一下、有个印象就好。 8. DRM_IOCTL_SET_VERSION 第8个宏是DRM_IOCTL_SET_VERSION相应代码如下 #define DRM_IOCTL_SET_VERSION DRM_IOWR(0x07, struct drm_set_version) 结合之前文章中的_IOWR(type,nr,size)的最终定义得到如下代码 #define DRM_IOCTL_SET_VERSION ( ((3) 30) | ((d) 8) | ((0x07) 0) | ((sizeof(struct drm_set_version)) 16) ) struct drm_set_version在同文件include/drm/drm.h中定义代码如下 /** DRM_IOCTL_SET_VERSION ioctl argument type.*/ struct drm_set_version {int drm_di_major;int drm_di_minor;int drm_dd_major;int drm_dd_minor; }; DRM_IOCTL_SET_VERSION对应的Userspace API为drmSetInterfaceVersion()。该函数也是在xf86drm.c中代码如下 /*** Issue a set-version ioctl.** \param fd file descriptor.* \param drmCommandIndex command index* \param data source pointer of the data to be read and written.* \param size size of the data to be read and written.** \return zero on success, or a negative value on failure.** \internal* It issues a read-write ioctl given by* \code DRM_COMMAND_BASE drmCommandIndex \endcode.*/ drm_public int drmSetInterfaceVersion(int fd, drmSetVersion *version) {int retcode 0;drm_set_version_t sv;memclear(sv);sv.drm_di_major version-drm_di_major;sv.drm_di_minor version-drm_di_minor;sv.drm_dd_major version-drm_dd_major;sv.drm_dd_minor version-drm_dd_minor;if (drmIoctl(fd, DRM_IOCTL_SET_VERSION, sv)) {retcode -errno;}version-drm_di_major sv.drm_di_major;version-drm_di_minor sv.drm_di_minor;version-drm_dd_major sv.drm_dd_major;version-drm_dd_minor sv.drm_dd_minor;return retcode; } 函数的作用是设置当前DRM接口的版本号。此函数在后文具体讲解函数的时候进行详细解析。在此先认识一下、有个印象就好。 其余宏定义将在后续文章中继续解析。
http://www.zqtcl.cn/news/482899/

相关文章:

  • 石家庄做标书的网站如何选取网站关键词
  • 摄影作品网站推荐wordpress用插件注册
  • pc端兼手机端网站模板中国网站 服务器
  • 江宁区建设工程局网站做网站满屏的照片尺寸是多少
  • 中国设计师网站网站开发需要什么专业的人才
  • 制作网站第一步龙海建设局网站
  • 网站建设的业务规划资源分享类网站模板
  • app与网站数据交互忻州集团网站建设
  • 个人网站有必要备案吗专业建站哪家好
  • 网站代码软件WordPress 编辑器2016
  • 网站建设与制作教学计划重庆本地建站
  • 动漫做视频在线观看网站宝安做小程序有推荐吗
  • 落伍者论坛 做网站成都关键词自然排名
  • 太原这边有做网站的吗wordpress下载类主题
  • 个人网站制作 教程兰州网站分类导航
  • 官方静态网站模板下载小说盗版网站怎么做
  • php网站开发就业wordpress 调整配置文件
  • 来年做那些网站致富全球华设计大赛
  • 福建省城乡建设厅网站网页无法打开怎么办
  • 海口仿站定制模板建站成都网站空间创新互联
  • 网站上传源码织梦企业 网站源码
  • 台州建设网站公司php网站好吗
  • 制作网站需要哪些成本软件开发模型的理解
  • 室内设计网站排行榜前十名有哪些湖南建筑网
  • 荥阳做网站wordpress会员关注
  • 公司网站建设包含的内容wordpress淘宝客知乎
  • 用dw建立网站wordpress文章到期自动下沉
  • 网站右侧 回到顶部传媒公司排名前十
  • 如何制作网站最简单的方法python做的网站多吗
  • 公司网站系统建设策划书游戏代理是什么