Lines Matching refs:wol
832 int bcm_phy_set_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol) in bcm_phy_set_wol() argument
843 if (wol->wolopts & ~BCM54XX_WOL_SUPPORTED_MASK) in bcm_phy_set_wol()
849 BUILD_BUG_ON(sizeof(wol->sopass) != ETH_ALEN); in bcm_phy_set_wol()
862 if (!wol->wolopts) { in bcm_phy_set_wol()
899 if (wol->wolopts & WAKE_MCAST) { in bcm_phy_set_wol()
905 if (wol->wolopts & WAKE_UCAST) { in bcm_phy_set_wol()
907 } else if (wol->wolopts & WAKE_BCAST) { in bcm_phy_set_wol()
909 } else if (wol->wolopts & WAKE_MAGICSECURE) { in bcm_phy_set_wol()
910 ether_addr_copy(da, wol->sopass); in bcm_phy_set_wol()
911 } else if (wol->wolopts & WAKE_MAGIC) { in bcm_phy_set_wol()
918 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE)) { in bcm_phy_set_wol()
938 if (wol->wolopts & WAKE_MAGICSECURE) { in bcm_phy_set_wol()
945 if (wol->wolopts & WAKE_MAGIC) in bcm_phy_set_wol()
982 void bcm_phy_get_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol) in bcm_phy_get_wol() argument
990 wol->supported = BCM54XX_WOL_SUPPORTED_MASK; in bcm_phy_get_wol()
991 wol->wolopts = 0; in bcm_phy_get_wol()
1014 wol->wolopts |= WAKE_BCAST; in bcm_phy_get_wol()
1016 wol->wolopts |= WAKE_MCAST; in bcm_phy_get_wol()
1018 wol->wolopts |= WAKE_UCAST; in bcm_phy_get_wol()
1023 wol->wolopts |= WAKE_MAGIC; in bcm_phy_get_wol()
1026 wol->wolopts |= WAKE_MAGICSECURE; in bcm_phy_get_wol()
1027 memcpy(wol->sopass, da, sizeof(da)); in bcm_phy_get_wol()