Lines Matching full:wol
875 int bcm_phy_set_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol) in bcm_phy_set_wol() argument
886 if (wol->wolopts & ~BCM54XX_WOL_SUPPORTED_MASK) in bcm_phy_set_wol()
892 BUILD_BUG_ON(sizeof(wol->sopass) != ETH_ALEN); in bcm_phy_set_wol()
905 if (!wol->wolopts) { in bcm_phy_set_wol()
942 if (wol->wolopts & WAKE_MCAST) { in bcm_phy_set_wol()
948 if (wol->wolopts & WAKE_UCAST) { in bcm_phy_set_wol()
950 } else if (wol->wolopts & WAKE_BCAST) { in bcm_phy_set_wol()
952 } else if (wol->wolopts & WAKE_MAGICSECURE) { in bcm_phy_set_wol()
953 ether_addr_copy(da, wol->sopass); in bcm_phy_set_wol()
954 } else if (wol->wolopts & WAKE_MAGIC) { in bcm_phy_set_wol()
961 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE)) { in bcm_phy_set_wol()
981 if (wol->wolopts & WAKE_MAGICSECURE) { in bcm_phy_set_wol()
988 if (wol->wolopts & WAKE_MAGIC) in bcm_phy_set_wol()
1003 /* Enable WOL interrupt on LED4 */ in bcm_phy_set_wol()
1025 void bcm_phy_get_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol) in bcm_phy_get_wol() argument
1033 wol->supported = BCM54XX_WOL_SUPPORTED_MASK; in bcm_phy_get_wol()
1034 wol->wolopts = 0; in bcm_phy_get_wol()
1057 wol->wolopts |= WAKE_BCAST; in bcm_phy_get_wol()
1059 wol->wolopts |= WAKE_MCAST; in bcm_phy_get_wol()
1061 wol->wolopts |= WAKE_UCAST; in bcm_phy_get_wol()
1066 wol->wolopts |= WAKE_MAGIC; in bcm_phy_get_wol()
1069 wol->wolopts |= WAKE_MAGICSECURE; in bcm_phy_get_wol()
1070 memcpy(wol->sopass, da, sizeof(da)); in bcm_phy_get_wol()