Hi all,
I'm working on Fast Ethernet driver of MPC860 with linux as OS.
Here the Fast Ethernet controller(MAC) is part of MPC and we are using
LXT972A as PHY. The PHY generates an interrupt whenever there is a
link/speed change, Auto negotiation complete
I'm having a doubt regarding the Ethernet driver.
How exactly the Driver will handle the link status or speed status
change in the device.
I actually want to know the flow of actions of a standard Linux
Ethernet driver looks like, i.e.,
whenever the network cable is unplugged and plugged in again, the link
goes off and regains, in this case How the driver will handle the case.
It will generate an Interrupt, the interrupt handler will check for the
link change and accordingly issue a command(MDIO) to the PHY to
autonegotiate again and agree with the speed (based on other side
10/100Mbps) and accordingly configure the MAC to operate in that speed.
Is this understanding correct!? if wrong pls help or give some pointers
to Ethernet drivers flow documents / tutorials etc.
Assume if the Fast Ethernet MAC was operating in Half Duplex 10Mbps
(also the PHY) before link changed, now the link is 100Mbps Full Duplex
(after Auto negotiation completes) How will the driver behave?
Hope my question is clear?? (not confusing!!!)
Thanx in advance to all
Cheers,
Ganesh
|