2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-27 22:53:55 +08:00
linux-next/drivers/net/ethernet/broadcom
Petri Gynther 8d88c6ebb3 net: bcmgenet: enable MoCA link state change detection
Currently, MoCA fixed PHYs are always in link-up state, regardless of
whether the link is actually up or not.

Add code to properly detect MoCA link state changes and to reflect the
new state in MoCA fixed PHY. Only GENET V3 and V4 MACs are capable of
detecting MoCA link state changes.

The code works as follows:
1. GENET MAC detects MoCA link state change and issues UMAC_IRQ_LINK_UP
   or UMAC_IRQ_LINK_DOWN interrupt.
2. Link up/down interrupt is processed in bcmgenet_irq_task(), which
   calls phy_mac_interrupt().
3. phy_mac_interrupt() updates the fixed PHY phydev->link and kicks
   the PHY state machine.
4. PHY state machine proceeds to read the fixed PHY link status
   register.
5. When the fixed PHY link status register is being read, the new
   function bcmgenet_fixed_phy_link_update() gets called. It copies
   the fixed PHY phydev->link value to the fixed PHY status->link.
6. PHY state machine receives the new link state of the fixed PHY.
7. MoCA fixed PHY link state now correctly reflects the real MoCA
   hardware link state.

Signed-off-by: Petri Gynther <pgynther@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-04-01 13:40:18 -04:00
..
bnx2x ptp: bnx2x: use helpers for converting ns to timespec. 2015-03-31 17:19:18 -04:00
genet net: bcmgenet: enable MoCA link state change detection 2015-04-01 13:40:18 -04:00
b44.c treewide: Remove unnecessary SSB_DEVTABLE_END macro 2015-02-11 14:38:29 -08:00
b44.h b44: use fixed PHY device if we do not find any 2013-12-20 20:48:49 -05:00
bcm63xx_enet.c bcm63xx_enet: fix poll callback. 2015-03-04 15:44:52 -05:00
bcm63xx_enet.h bcm63xx_enet: add support Broadcom BCM6345 Ethernet 2013-06-13 17:22:08 -07:00
bcmsysport.c net: systemport: fix software maintained statistics 2015-03-01 14:02:11 -05:00
bcmsysport.h net: systemport: fix software maintained statistics 2015-03-01 14:02:11 -05:00
bgmac.c bgmac: implement scatter/gather support 2015-03-23 16:56:28 -04:00
bgmac.h bgmac: implement GRO and use build_skb 2015-03-23 16:56:28 -04:00
bnx2_fw.h bnx2-cnic: Driver Rebranding Changes 2015-02-20 15:46:49 -05:00
bnx2.c bnx2: disable toggling of rxvlan if necessary 2015-03-01 23:25:51 -05:00
bnx2.h bnx2-cnic: Driver Rebranding Changes 2015-02-20 15:46:49 -05:00
cnic_defs.h cnic: Rebranding cnic driver. 2014-06-25 16:27:27 -07:00
cnic_if.h bnx2-cnic: Driver Version Update 2015-02-20 15:46:49 -05:00
cnic.c bnx2-cnic: Driver Rebranding Changes 2015-02-20 15:46:49 -05:00
cnic.h cnic: Rebranding cnic driver. 2014-06-25 16:27:27 -07:00
Kconfig bgmac: allow enabling on ARCH_BCM_5301X 2015-03-20 21:44:56 -04:00
Makefile net: systemport: hook SYSTEMPORT driver in the build 2014-04-26 12:57:40 -04:00
sb1250-mac.c net: ethernet: broadcom: drop owner assignment from platform_drivers 2014-10-20 16:21:05 +02:00
tg3.c ptp: tg3: use helpers for converting ns to timespec. 2015-03-31 17:19:19 -04:00
tg3.h tg3: prevent ifup/ifdown during PCI error recovery 2014-09-02 13:02:19 -07:00