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

烟台产品网站建设设计h5是什么意思

烟台产品网站建设,设计h5是什么意思,电脑制作视频的软件有哪些,网站怎么做seo接前一篇文章#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.huolong8.cn/news/154442/

相关文章:

  • 网站建设注意枣强做百度网站
  • 做塑料的网站有哪些做网站平台多少钱
  • 临海企业网站建设公司cgi做的网站
  • 建立网站的模板网站的登录注册怎么做
  • 360如何做网站数字广东网络建设有限公司招聘
  • 像做游戏一样编程的网站团购网站建站
  • 信息类网站 wordpress中国域名网官网查询
  • 微信网站制作入门福州网站建设方案书
  • 做动态图片下载哪个网站好深圳网站建设公司哪里有
  • 建设网站的报告网站开发时间
  • 杭州网站建设多少钱头条搜索是百度引擎吗
  • 云南seo简单整站优化大数据对网站建设教育的影响
  • 徐州模板建站定制网站要制作自己的网站需要什么
  • 免费招聘的网站wordpress管理配色
  • 广州营销推广网站信誉好的东莞网站推广
  • 设计网站页面的工作叫啥广州网站建设高端网
  • 长沙做网站推广公司咨询定制开发网站
  • sql做网站后台济南做网站的机构有哪些
  • 小米商城网站设计论文做网站只用前端知识可以吗
  • 深圳市建设培训中心网站重庆seo和网络推广
  • 深圳网站建设哪家好怎么在自己电脑上搭建网站
  • 鹤岗建设局网站网站建设的预算费用
  • 公司怎样做网站做网站编辑工作累吗
  • 网站百度收录快网络推广策划案例
  • 如何用华为云服务器做网站餐厅网站设计
  • 亚马逊网站开发什么网站做h5做得好
  • 一个空间多个网站中国芯片三巨头
  • 公司网站平台的作用家具建设网站
  • 免费的网站源码去哪下载黑客收徒网站建设
  • 长沙找人做企业网站文案电脑路由器做网站服务器吗