【67】linux对PME的处理

时间:2024-04-12 18:40:36

1、什么是PME    

    PME(power management events)是一种特殊的post TLP,它起源于PCIe EP、PCI EP或者RP并且路由到RC。PME message中的requestid字段代表出现PM state变化的设备。

【67】linux对PME的处理

    由于RP下面有很多设备,但是root status寄存器的requestid只有一个,RC里有一个buffer可以存储这些PME message,由于buffer是有限的,这样就可以导致backpressure问题(反压问题在PCIe领域无处不在)。

   为了保证PME message不丢失,所有能产生PME message的设备必须有PME 服务超时机制。当超时后,PME status没有清除的话,需要重发PME message。

【67】linux对PME的处理

【67】linux对PME的处理

    RP收到下游设备的PME message后会设置Root Status reg的PME status状态,如果root control reg的PME interrupt enable为1的话,RP还可发起中断。

【67】linux对PME的处理

 

未完成。。。。。。。。