linux xhci源码,第四十六篇:Linux中的USB XHCI HOST TRANSFER RING的相关数据结构 (1)
记录相关数据结构之前,先上一张图,这样就基本一目了然了
USB XHCI HOST有三种RING
分别为COMMAND, EVENT 与TRANSFER
这里所说的是TRANSFER RING
一个RING可能由一个或者多个SEGMENT构成
每一个SEGMENT则有多个TRB构成
多个SEGMENT的链接是由LINK TRB来实现的,LINK就像一个单链表,最后一个LINK TRB指向第一个SEGMENT,由此,形成了一个环,RING
TRANSFER TRB有以下几种类型:
针对USB CONTROL TRANSFER的SETUP, DATA, STATUS TRBs
针对BULK, INTERRUPT, ISO TRANSFER的NORMAL TRB
针对ISO TRANSFER的ISOCH TRB (ISO TD由一个ISOCH TRB与0个或多个NORMAL TRB构成)
SW将需要硬件完成的USB传输,通过TRB的形式,将信息提交给硬件,放入RING当中,放入的位置为当前ENQUEUE PTR的位置,每放一个,ENQUEUE PTR向前跨一步,遇到LINK TRB,则跳转到LINK TRB指向的位置
而硬件则按DEQUEUE PTR指向的位置,取出TRB到CACHE当中,执行该TRB,同样,每执行一个,则ADVANCE 该 DEQUEUE PTR,遇LINK TRB,跳转。
TD表示一个USB TRANSFER(不同于USB TRANSACTION)
在TRB当中,有一个CH BIT,如果一处TD由多个TRB构成,则软件需要将除最后一个TRB的所有CH BIT置位。
linux xhci源码,第四十六篇:Linux中的USB XHCI HOST TRANSFER RING的相关数据结构 (1)相关推荐
- 【转】ABP源码分析四十六:ABP ZERO中的Ldap模块
通过AD作为用户认证的数据源.整个管理用户认证逻辑就在LdapAuthenticationSource类中实现. LdapSettingProvider:定义LDAP的setting和提供Defaut ...
- skywalking源码分析第十六篇一agent端JVMService之度量上报
文章目录 原理图 原理图一基于MXBean进行Metrics数据收集 源码分析一JVMService 总结 原理图 通过prepare构建Metrics存储缓冲队列 初始化grpc客户端 通过boot ...
- 【转】ABP源码分析二十六:核心框架中的一些其他功能
本文是ABP核心项目源码分析的最后一篇,介绍一些前面遗漏的功能 AbpSession AbpSession: 目前这个和CLR的Session没有什么直接的联系.当然可以自定义的去实现IAbpSess ...
- Linux 驱动开发 四十六:Linux MISC驱动实验
misc 的意思是混合.杂项的,因此MISC 驱动也叫做杂项驱动,也就是当我们板子上的某些外设无法进行分类的时候就可以使用 MISC 驱动. MISC 驱动其实就是最简单的字符设备驱动,通常嵌套在 p ...
- php网页游戏学习之xnova(ogame)源码解读,PHP网页游戏学习之Xnova(ogame)源码解读(十六)...
PHP网页游戏学习之Xnova(ogame)源码解读(十六) 作者:bea 十九.攻击任务(MissionCaseAttack.php) 按照舰队任务的编号,排在第一个的就是攻击任务.这个代码很长,看 ...
- 【转】ABP源码分析三十六:ABP.Web.Api
这里的内容和ABP 动态webapi没有关系.除了动态webapi,ABP必然是支持使用传统的webApi.ABP.Web.Api模块中实现了一些同意的基础功能,以方便我们创建和使用asp.net w ...
- ABP源码分析三十六:ABP.Web.Api
这里的内容和ABP 动态webapi没有关系.除了动态webapi,ABP必然是支持使用传统的webApi.ABP.Web.Api模块中实现了一些同意的基础功能,以方便我们创建和使用asp.net w ...
- 第二人生的源码分析(二十六)底层网络协议
为了理解第二人生的客户端与服务器的沟通,那么下面就来分析一下第二人生采用的网络协议.在目前的网络里,主要有两个协议:TCP和UDP,而第二人生里是采用UDP协议.TCP协议与UDP协议的主要区别,就是 ...
- 嵌入式linux系统蜂鸣器实验,「正点原子Linux连载」第四十六章Linux蜂鸣器实验
1)实验平台:正点原子Linux开发板 2)摘自<正点原子I.MX6U嵌入式Linux驱动开发指南> 关注官方微信号公众号,获取更多资料:正点原子 大家将imx35_gpio_hwdata ...
最新文章
- java 重启系统_java 程序,实现重启功能。求大神帮忙,急
- 查看centos系统配置详细信息
- Java基础实战Bank项目01-04
- html5 页面加载缓慢,html5体验优化页面加载的14条建议
- 帮MM修电脑的三个步骤-此文绝对实用
- 利用遗传算法演化一个棋类游戏的人工智能
- Ubuntu20.04更换阿里源教程
- Javacv 音视频小工具 - 下载抖音视频
- 【Unity】出现NullReferenceException:Object reference not set to an instance of an object.的原因总结
- 时光不负,对我来说不寻常的一年 | 2021 年终总结
- jemter ramp-up
- 透明与不透明物体共存
- Apache Flink_JZZ166_MBY
- remap中的xmap,ymap详解
- TensorRt推理部署优化方案及流程概述
- javascript中reduce的用法
- C++ 纯 OpenCV 实现扑克牌实时识别
- 利用套打和分栏巧妙来做商品价签
- 爬取小说——爬取书的地址
- Java的基础语法(8)-- API常见的类的介绍匿名对象