当PCIe刚建完link处于L0状态时,此时linkspeed速率为gen1,如果需要提速则可以通过linkdown或者link retrain的行为来实现
1,对于linkdown来说,首先由rc来发起link disable,在此之前通过bar空间来设置ep的target speed,ep收到该信号后,产生PCIe复位,然后再通过第三方配置link流程,然后对PCIe进行解复位。此时rc侧再触发linkenable
重新建立link(重走ltssm状态机),rc侧再对主机侧config空间进行恢复(疑问恢复后的速率是之前的还是之后的?,解:恢复时,关于linkspeed的寄存器为ro)
2,linkretrain的操作,rc设置dsp的target speed,然后在rc侧触发retrain(该操作也可通过bar空间在ep侧进行)。retrain的行为会导致PCIe两端由l0进入recovery状态,在该状态下,通过发起方发出的TS序列,完成提速,确定symbol /bit lock后再进入l0状态。