首页 理论教育事务层处理DL_Down和DL_Up状态的方法

事务层处理DL_Down和DL_Up状态的方法

【摘要】:当事务层收到数据链路层的DL_Down状态信息时,表示出现了以下情况。当链路为DL_Down状态时,RC或者Switch的下游端口还必须结束“PME Turn_Off”握手请求。当链路为DL_Down状态时,Switch和PCIe桥的上游端口,将复位相关的内部逻辑和状态,并丢弃所有正在处理的TLP。事务层处于DL_Up状态时,表示该设备与PCIe链路的对端设备已经建立连接,链路两端可以正常收发报文。

事务层收到数据链路层的DL_Down状态信息时,表示出现了以下情况。

●PCIe链路的对端没有连接设备。

●PCIe链路丢失了与对端设备的连接。

●数据链路层和物理层出现某种错误,PCIe链路不能正常工作。

●系统软件禁用PCIe链路。(www.chuimin.cn)

当事务层收到DL_Down状态信息后,将不再从数据链路层中接收TLP,除非是数据链路层已经使用ACK/NAK报文确认过的TLP。这些被确认过的TLP已经被数据链路层接收完毕,因此事务层可以接收这些TLP。

当链路处于DL_Down状态时,RC或者Switch的下游端口将复位与链路相关的内部逻辑和状态。此时下游端口收到上游端口的Non-Posted请求TLP后,并不会将这个TLP转发到数据链路层,因为数据链路层已经出现故障,而组织状态位为UR(Unsupported Request)的完成报文,通知上游端口无法发送这个Non-Posted数据请求,该事务层将丢弃这个Non-Posted请求TLP;此外该事务层还将丢弃来自上游端口的Posted请求TLP和完成报文。当链路为DL_Down状态时,RC或者Switch的下游端口还必须结束“PME Turn_Off”握手请求。

当链路为DL_Down状态时,Switch和PCIe桥的上游端口,将复位相关的内部逻辑和状态,并丢弃所有正在处理的TLP。此时Switch和PCIe桥将使用Hot Reset方式复位所有下游端口。

事务层处于DL_Up状态时,表示该设备与PCIe链路的对端设备已经建立连接,链路两端可以正常收发报文。当事务层发现PCIe链路从DL_Down迁移到DL_Up状态时,将向PCIe链路的对端设备重新发送Set_Slot_Power_Limit消息,并重新初始化相关的寄存器。