1、什么是hot reset
热复位(Hot Reset)是一种In-band 复位,其并不使用边带信号。PCIe设备通过向其链路(Link)相邻的设备发送数个TS1 Ordered‐Set(其中第五个字符的bit0为1)来完成复位操作。如下图所示,这些TS1OS在所有有效通道(Lane)上同时发送,并至少持续2ms。Once it’s been sent, the Transmitter and Receiver of the Hot Reset will both end up in the Detect LTSSM state (see “Hot Reset State” on page 612).
触发hot reset的几种场景
需要注意:switch usp data link layer汇报DL_Down也会触发DSP port发送hot reset
1.1.ltssm如何进入hot reset状态
方式1:由TL层指示进入hot reset状态(Secondary Bus Reset配置为1),设备主动发起hot reset
方式2:非TL层指示进入hot reset状态(例如收到两个连续的Hot Reset bit置1的 TS1 Ordered Sets)
- 如果Switch的upstream port收到两个连续的Hot Reset bit置1的 TS1 Ordered Sets,则所有已配置的downstream port尽快进入hot reset状态。
- 如果持续收到Hot Reset bit置1且Link number和Lane number为已配置数值的 TS1 Ordered Sets,那么ltssm 一直保持的hot reset状态,2ms的计时器被复位
- 否则,2ms超时后,ltssm状态进入Detect。
2.如何发起hot reset
2.1.方式1:Secondary Bus Reset
Type 1 Configuration Space Header的Bridge Control 寄存器的bit6为Secondary Bus Reset
字段,对root port或者Switch port的Secondary Bus Reset字段写1会触发hot reset复位,然后再对Secondary Bus Reset写0退出hot reset。
- 对Root 和Switch Downstream Port来说,配置bridge Control register的Secondary Bus Reset bit为1即可触发a hot reset传递,Hot Reset bit置1的 TS1 Ordered Sets从配置端口开始持续向downstream方向传递,直到Secondary Bus Reset bit置0。
对Switch 来说,一旦出现如下场景,则所有的Switch Downstream Port均会收到hot reset:
- 配置Switch upstream Port的bridge Control register的Secondary Bus Reset bit 为1
- upstream Port的Data Link Layer 报告了DL\_Down状态,并且Switch支持速率大于5.0 GT/s,upstream Port会通知所有Switch Downstream Port状态进入Hot reset状态。
- Switch upstream Port接收到hot reset
要注意的是,如果Switch的Upstream端口收到了热复位,则会将其广播至所有的Downstream端口,并复位其自己。与switch Downstream互连的PCIe设备的接收到热复位,则只需要复位其自己即可。
2.2.案例说明
如图18-3所示,配置Switch A Downstream port 的Secondary Bus Reset bit产生了hot reset,Switch B的Upstream端口收到了热复位,将其广播至所有的Downstream端口,并复位其自己。与switch B Downstream互连的PCIe设备(Add-in Card和Gb Ethernet)接收到热复位,则需要复位其自身。
如图18-4所示,配置Switch C upstream port的Secondary Bus Reset bit产生了hot reset,Switch C Upstream port将hot reset广播至所有的Downstream端口,并复位其自己。与switch C Downstream互连的PCI Express to-PCI bridge接收到热复位后将hot reset转换成了PRST#复位信号用于复位PCI总线。
作者: IC小鸽
文章来源:IC小鸽
推荐阅读
更多IC设计干货请关注IC设计专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。