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 时?
解决方案
从它说的数据表
Packet Underrun/Link Change:当 CAPR 被写入但 Rx 缓冲区为空时,或者当链路状态改变时,该位设置为 1。
推荐阅读
- amazon-redshift - 在 reshift 上实现 deepcopy
- ios - IOS Swift如何突出显示选定的图像
- php - laravel 超过日期和 from_dates 和 to_date 之间如何写逻辑
- javascript - TypeError: undefined is not an object (评估 this.getActiveTab().barColor)
- mysql - SQL 获取每日注册用户总数
- angular - Angular 6:我想禁用侧边栏的所有以下选项并在本地存储条件下启用上述选项
- c# - 有没有另一种方法来编写一个从 LINQ 中选择一个的循环?
- javascript - 摩根的Node Js TypeError:app.use不是函数
- r - r 行乘法和行和
- .net-core - ASP.NET Core 和 Angular - SSR