Reputation: 4374
Why drivers raise PHY interrupt. Is it this the job of Kernel so why driver part of kernel raising PHY interrupt like
u32 status = //read registers
if (status & LinkChg_Status)
phy_mac_interrupt(tp->phydev);
above code is in request_irq(pci_irq_vector(pdev, 0), rtl8169_interrupt,
interrupt context
on kernel.org it says
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.
in above statement what is link state changes
might be? does this mean at one state its TX and at link change to RX?
Upvotes: 0
Views: 337
Reputation: 4374
from The datasheet it says its
Packet Underrun/Link Change: This bit is set to 1 when CAPR is written but the Rx buffer is empty, or when link status is changed.
Upvotes: 0