Lines Matching full:wol
874 int bcm_phy_set_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol) in bcm_phy_set_wol() argument
885 if (wol->wolopts & ~BCM54XX_WOL_SUPPORTED_MASK) in bcm_phy_set_wol()
891 BUILD_BUG_ON(sizeof(wol->sopass) != ETH_ALEN); in bcm_phy_set_wol()
904 if (!wol->wolopts) { in bcm_phy_set_wol()
941 if (wol->wolopts & WAKE_MCAST) { in bcm_phy_set_wol()
947 if (wol->wolopts & WAKE_UCAST) { in bcm_phy_set_wol()
949 } else if (wol->wolopts & WAKE_BCAST) { in bcm_phy_set_wol()
951 } else if (wol->wolopts & WAKE_MAGICSECURE) { in bcm_phy_set_wol()
952 ether_addr_copy(da, wol->sopass); in bcm_phy_set_wol()
953 } else if (wol->wolopts & WAKE_MAGIC) { in bcm_phy_set_wol()
960 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE)) { in bcm_phy_set_wol()
980 if (wol->wolopts & WAKE_MAGICSECURE) { in bcm_phy_set_wol()
987 if (wol->wolopts & WAKE_MAGIC) in bcm_phy_set_wol()
1002 /* Enable WOL interrupt on LED4 */ in bcm_phy_set_wol()
1024 void bcm_phy_get_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol) in bcm_phy_get_wol() argument
1032 wol->supported = BCM54XX_WOL_SUPPORTED_MASK; in bcm_phy_get_wol()
1033 wol->wolopts = 0; in bcm_phy_get_wol()
1056 wol->wolopts |= WAKE_BCAST; in bcm_phy_get_wol()
1058 wol->wolopts |= WAKE_MCAST; in bcm_phy_get_wol()
1060 wol->wolopts |= WAKE_UCAST; in bcm_phy_get_wol()
1065 wol->wolopts |= WAKE_MAGIC; in bcm_phy_get_wol()
1068 wol->wolopts |= WAKE_MAGICSECURE; in bcm_phy_get_wol()
1069 memcpy(wol->sopass, da, sizeof(da)); in bcm_phy_get_wol()