棋子 · 8月5日

PCIe 复位:hot reset

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).

image.png

触发hot reset的几种场景

需要注意:switch usp data link layer汇报DL_Down也会触发DSP port发送hot reset

image.png

1.1.ltssm如何进入hot reset状态

方式1:由TL层指示进入hot reset状态(Secondary Bus Reset配置为1),设备主动发起hot reset    

image.png

方式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。

image.png

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。    

image.png

  • 对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

image.png

要注意的是,如果Switch的Upstream端口收到了热复位,则会将其广播至所有的Downstream端口,并复位其自己。与switch Downstream互连的PCIe设备的接收到热复位,则只需要复位其自己即可。    

2.2.案例说明 

image.png

如图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)接收到热复位,则需要复位其自身。

image.png

如图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)加入技术交流群,请备注研究方向。

推荐阅读
关注数
17687
内容数
1281
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息