c语言 - 网络驱动程序中的链路更改是什么意思,这意味着TX到RX,因此存在链路更改,还是速度像数据传输phydev->speed之类的东西



驱动程序引发PHY中断的原因。这是内核的工作吗?为什么内核的驱动程序部分会像一样引发PHY中断

u32 status = //read registers
if (status & LinkChg_Status)
phy_mac_interrupt(tp->phydev);

上述代码在request_irq(pci_irq_vector(pdev, 0), rtl8169_interrupt,中断上下文中

在kernel.org上显示

Sometime during startup, the network driver needs to establish a connection 
betweenthe PHY device, and the network device. At this time, the PHY's bus and   
drivers need to all have been loaded, so it is ready for the connection. At this 
point, there are several ways to connect to the PHY:
The PAL handles everything, and only calls the network driver when the link state
changes, so it can react.

在上面的陈述中,link state changes可能是什么?这是否意味着在一个状态下其TX和在链路上变为RX?

从数据表中它说它的

数据包不足/链路更改:当CAPR为已写入但Rx缓冲区为空,或者当链路状态更改时。

最新更新