/linux-6.14.4/net/ethtool/ |
D | wol.c | 13 struct ethtool_wolinfo wol; member 39 dev->ethtool_ops->get_wol(dev, &data->wol); in wol_prepare_data() 43 (data->wol.supported & WAKE_MAGICSECURE); in wol_prepare_data() 55 len = ethnl_bitset32_size(&data->wol.wolopts, &data->wol.supported, in wol_reply_size() 60 len += nla_total_size(sizeof(data->wol.sopass)); in wol_reply_size() 73 ret = ethnl_put_bitset32(skb, ETHTOOL_A_WOL_MODES, &data->wol.wolopts, in wol_fill_reply() 74 &data->wol.supported, WOL_MODE_COUNT, in wol_fill_reply() 79 nla_put(skb, ETHTOOL_A_WOL_SOPASS, sizeof(data->wol.sopass), in wol_fill_reply() 80 data->wol.sopass)) in wol_fill_reply() 107 struct ethtool_wolinfo wol = { .cmd = ETHTOOL_GWOL }; in ethnl_set_wol() local [all …]
|
/linux-6.14.4/drivers/net/wireless/marvell/mwifiex/ |
D | ethtool.c | 11 struct ethtool_wolinfo *wol) in mwifiex_ethtool_get_wol() argument 16 wol->supported = WAKE_UCAST|WAKE_MCAST|WAKE_BCAST|WAKE_PHY; in mwifiex_ethtool_get_wol() 22 wol->wolopts |= WAKE_UCAST; in mwifiex_ethtool_get_wol() 24 wol->wolopts |= WAKE_MCAST; in mwifiex_ethtool_get_wol() 26 wol->wolopts |= WAKE_BCAST; in mwifiex_ethtool_get_wol() 28 wol->wolopts |= WAKE_PHY; in mwifiex_ethtool_get_wol() 32 struct ethtool_wolinfo *wol) in mwifiex_ethtool_set_wol() argument 37 if (wol->wolopts & ~(WAKE_UCAST|WAKE_MCAST|WAKE_BCAST|WAKE_PHY)) in mwifiex_ethtool_set_wol() 40 if (wol->wolopts & WAKE_UCAST) in mwifiex_ethtool_set_wol() 42 if (wol->wolopts & WAKE_MCAST) in mwifiex_ethtool_set_wol() [all …]
|
/linux-6.14.4/drivers/net/ethernet/broadcom/genet/ |
D | bcmgenet_wol.c | 37 /* ethtool function - get WOL (Wake on LAN) settings, Only Magic Packet 40 void bcmgenet_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in bcmgenet_get_wol() argument 47 phy_ethtool_get_wol(dev->phydev, wol); in bcmgenet_get_wol() 48 phy_wolopts = wol->wolopts; in bcmgenet_get_wol() 56 wol->supported |= WAKE_MAGIC | WAKE_MAGICSECURE | WAKE_FILTER; in bcmgenet_get_wol() 57 wol->wolopts |= priv->wolopts; in bcmgenet_get_wol() 64 memset(wol->sopass, 0, sizeof(wol->sopass)); in bcmgenet_get_wol() 65 if (wol->wolopts & WAKE_MAGICSECURE) in bcmgenet_get_wol() 66 memcpy(wol->sopass, priv->sopass, sizeof(priv->sopass)); in bcmgenet_get_wol() 69 /* ethtool function - set WOL (Wake on LAN) settings. [all …]
|
/linux-6.14.4/drivers/net/phy/ |
D | dp83tc811.c | 57 /* WoL Registers */ 64 /* WoL bits */ 98 struct ethtool_wolinfo *wol) in dp83811_set_wol() argument 104 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE)) { in dp83811_set_wol() 122 if (wol->wolopts & WAKE_MAGIC) in dp83811_set_wol() 127 if (wol->wolopts & WAKE_MAGICSECURE) { in dp83811_set_wol() 130 (wol->sopass[1] << 8) | wol->sopass[0]); in dp83811_set_wol() 133 (wol->sopass[3] << 8) | wol->sopass[2]); in dp83811_set_wol() 136 (wol->sopass[5] << 8) | wol->sopass[4]); in dp83811_set_wol() 142 /* Clear any pending WoL interrupt */ in dp83811_set_wol() [all …]
|
D | dp83869.c | 259 struct ethtool_wolinfo *wol) in dp83869_set_wol() argument 274 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE | WAKE_UCAST | in dp83869_set_wol() 279 if (wol->wolopts & WAKE_MAGIC || in dp83869_set_wol() 280 wol->wolopts & WAKE_MAGICSECURE) { in dp83869_set_wol() 309 if (wol->wolopts & WAKE_MAGICSECURE) { in dp83869_set_wol() 312 (wol->sopass[1] << 8) | wol->sopass[0]); in dp83869_set_wol() 318 (wol->sopass[3] << 8) | wol->sopass[2]); in dp83869_set_wol() 323 (wol->sopass[5] << 8) | wol->sopass[4]); in dp83869_set_wol() 332 if (wol->wolopts & WAKE_UCAST) in dp83869_set_wol() 337 if (wol->wolopts & WAKE_BCAST) in dp83869_set_wol() [all …]
|
D | dp83822.c | 90 /* WoL Registers */ 97 /* WoL bits */ 196 struct ethtool_wolinfo wol; member 203 struct ethtool_wolinfo *wol) in dp83822_config_wol() argument 209 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE)) { in dp83822_config_wol() 227 if (wol->wolopts & WAKE_MAGIC) in dp83822_config_wol() 232 if (wol->wolopts & WAKE_MAGICSECURE) { in dp83822_config_wol() 235 (wol->sopass[1] << 8) | wol->sopass[0]); in dp83822_config_wol() 238 (wol->sopass[3] << 8) | wol->sopass[2]); in dp83822_config_wol() 241 (wol->sopass[5] << 8) | wol->sopass[4]); in dp83822_config_wol() [all …]
|
D | smsc.c | 276 * be cleared to de-assert PME signal after a WoL event happens, but in lan874x_phy_config_init() 295 struct ethtool_wolinfo *wol) in lan874x_get_wol() argument 300 wol->supported = (WAKE_UCAST | WAKE_BCAST | WAKE_MAGIC | in lan874x_get_wol() 302 wol->wolopts = 0; in lan874x_get_wol() 309 wol->wolopts |= WAKE_UCAST; in lan874x_get_wol() 312 wol->wolopts |= WAKE_BCAST; in lan874x_get_wol() 315 wol->wolopts |= WAKE_MAGIC; in lan874x_get_wol() 319 wol->wolopts |= WAKE_ARP; in lan874x_get_wol() 321 wol->wolopts |= WAKE_MCAST; in lan874x_get_wol() 407 struct ethtool_wolinfo *wol) in lan874x_set_wol() argument [all …]
|
D | dp83867.c | 210 struct ethtool_wolinfo *wol) in dp83867_set_wol() argument 219 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE | WAKE_UCAST | in dp83867_set_wol() 224 if (wol->wolopts & WAKE_MAGIC) { in dp83867_set_wol() 242 if (wol->wolopts & WAKE_MAGICSECURE) { in dp83867_set_wol() 244 (wol->sopass[1] << 8) | wol->sopass[0]); in dp83867_set_wol() 246 (wol->sopass[3] << 8) | wol->sopass[2]); in dp83867_set_wol() 248 (wol->sopass[5] << 8) | wol->sopass[4]); in dp83867_set_wol() 255 if (wol->wolopts & WAKE_UCAST) in dp83867_set_wol() 260 if (wol->wolopts & WAKE_BCAST) in dp83867_set_wol() 276 struct ethtool_wolinfo *wol) in dp83867_get_wol() argument [all …]
|
D | bcm-phy-lib.c | 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() [all …]
|
D | meson-gxl.c | 32 /* WOL Registers */ 143 * can detect this using a magic bit in the WOL bank (reg 12 - bit 12). 153 int ret, wol, lpa, exp; in meson_gxl_read_status() local 163 wol = meson_gxl_read_reg(phydev, BANK_WOL, LPI_STATUS); in meson_gxl_read_status() 164 if (wol < 0) in meson_gxl_read_status() 165 return wol; in meson_gxl_read_status() 175 if (!(wol & LPI_STATUS_RSV12) || in meson_gxl_read_status()
|
/linux-6.14.4/drivers/net/wireless/marvell/libertas/ |
D | ethtool.c | 62 struct ethtool_wolinfo *wol) in lbs_ethtool_get_wol() argument 66 wol->supported = WAKE_UCAST|WAKE_MCAST|WAKE_BCAST|WAKE_PHY; in lbs_ethtool_get_wol() 72 wol->wolopts |= WAKE_UCAST; in lbs_ethtool_get_wol() 74 wol->wolopts |= WAKE_MCAST; in lbs_ethtool_get_wol() 76 wol->wolopts |= WAKE_BCAST; in lbs_ethtool_get_wol() 78 wol->wolopts |= WAKE_PHY; in lbs_ethtool_get_wol() 82 struct ethtool_wolinfo *wol) in lbs_ethtool_set_wol() argument 86 if (wol->wolopts & ~(WAKE_UCAST|WAKE_MCAST|WAKE_BCAST|WAKE_PHY)) in lbs_ethtool_set_wol() 90 if (wol->wolopts & WAKE_UCAST) in lbs_ethtool_set_wol() 92 if (wol->wolopts & WAKE_MCAST) in lbs_ethtool_set_wol() [all …]
|
/linux-6.14.4/drivers/net/ethernet/atheros/atl1c/ |
D | atl1c_ethtool.c | 229 struct ethtool_wolinfo *wol) in atl1c_get_wol() argument 233 wol->supported = WAKE_MAGIC | WAKE_PHY; in atl1c_get_wol() 234 wol->wolopts = 0; in atl1c_get_wol() 236 if (adapter->wol & AT_WUFC_EX) in atl1c_get_wol() 237 wol->wolopts |= WAKE_UCAST; in atl1c_get_wol() 238 if (adapter->wol & AT_WUFC_MC) in atl1c_get_wol() 239 wol->wolopts |= WAKE_MCAST; in atl1c_get_wol() 240 if (adapter->wol & AT_WUFC_BC) in atl1c_get_wol() 241 wol->wolopts |= WAKE_BCAST; in atl1c_get_wol() 242 if (adapter->wol & AT_WUFC_MAG) in atl1c_get_wol() [all …]
|
/linux-6.14.4/drivers/net/ethernet/atheros/atl1e/ |
D | atl1e_ethtool.c | 316 struct ethtool_wolinfo *wol) in atl1e_get_wol() argument 320 wol->supported = WAKE_MAGIC | WAKE_PHY; in atl1e_get_wol() 321 wol->wolopts = 0; in atl1e_get_wol() 323 if (adapter->wol & AT_WUFC_EX) in atl1e_get_wol() 324 wol->wolopts |= WAKE_UCAST; in atl1e_get_wol() 325 if (adapter->wol & AT_WUFC_MC) in atl1e_get_wol() 326 wol->wolopts |= WAKE_MCAST; in atl1e_get_wol() 327 if (adapter->wol & AT_WUFC_BC) in atl1e_get_wol() 328 wol->wolopts |= WAKE_BCAST; in atl1e_get_wol() 329 if (adapter->wol & AT_WUFC_MAG) in atl1e_get_wol() [all …]
|
/linux-6.14.4/drivers/net/ethernet/wangxun/ngbe/ |
D | ngbe_ethtool.c | 16 struct ethtool_wolinfo *wol) in ngbe_get_wol() argument 22 wol->supported = WAKE_MAGIC; in ngbe_get_wol() 23 wol->wolopts = 0; in ngbe_get_wol() 24 if (wx->wol & WX_PSR_WKUP_CTL_MAG) in ngbe_get_wol() 25 wol->wolopts |= WAKE_MAGIC; in ngbe_get_wol() 29 struct ethtool_wolinfo *wol) in ngbe_set_wol() argument 37 wx->wol = 0; in ngbe_set_wol() 38 if (wol->wolopts & WAKE_MAGIC) in ngbe_set_wol() 39 wx->wol = WX_PSR_WKUP_CTL_MAG; in ngbe_set_wol() 40 netdev->ethtool->wol_enabled = !!(wx->wol); in ngbe_set_wol() [all …]
|
/linux-6.14.4/drivers/net/ethernet/microchip/ |
D | lan743x_ethtool.c | 1089 struct ethtool_wolinfo *wol) in lan743x_ethtool_get_wol() argument 1093 wol->supported = 0; in lan743x_ethtool_get_wol() 1094 wol->wolopts = 0; in lan743x_ethtool_get_wol() 1096 phylink_ethtool_get_wol(adapter->phylink, wol); in lan743x_ethtool_get_wol() 1098 if (wol->supported != adapter->phy_wol_supported) in lan743x_ethtool_get_wol() 1100 "PHY changed its supported WOL! old=%x, new=%x\n", in lan743x_ethtool_get_wol() 1101 adapter->phy_wol_supported, wol->supported); in lan743x_ethtool_get_wol() 1103 wol->supported |= MAC_SUPPORTED_WAKES; in lan743x_ethtool_get_wol() 1106 wol->supported |= WAKE_MAGICSECURE; in lan743x_ethtool_get_wol() 1108 wol->wolopts |= adapter->wolopts; in lan743x_ethtool_get_wol() [all …]
|
/linux-6.14.4/drivers/net/ethernet/oki-semi/pch_gbe/ |
D | pch_gbe_ethtool.c | 206 * @wol: Wake-on-Lan information 209 struct ethtool_wolinfo *wol) in pch_gbe_get_wol() argument 213 wol->supported = WAKE_UCAST | WAKE_MCAST | WAKE_BCAST | WAKE_MAGIC; in pch_gbe_get_wol() 214 wol->wolopts = 0; in pch_gbe_get_wol() 217 wol->wolopts |= WAKE_UCAST; in pch_gbe_get_wol() 219 wol->wolopts |= WAKE_MCAST; in pch_gbe_get_wol() 221 wol->wolopts |= WAKE_BCAST; in pch_gbe_get_wol() 223 wol->wolopts |= WAKE_MAGIC; in pch_gbe_get_wol() 229 * @wol: Pointer of wake-on-Lan information straucture 235 struct ethtool_wolinfo *wol) in pch_gbe_set_wol() argument [all …]
|
/linux-6.14.4/drivers/net/ethernet/freescale/ |
D | ucc_geth_ethtool.c | 309 static void uec_get_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) in uec_get_wol() argument 313 phylink_ethtool_get_wol(ugeth->phylink, wol); in uec_get_wol() 316 wol->supported |= WAKE_MAGIC; in uec_get_wol() 318 wol->wolopts |= ugeth->wol_en; in uec_get_wol() 321 static int uec_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) in uec_set_wol() argument 326 ret = phylink_ethtool_set_wol(ugeth->phylink, wol); in uec_set_wol() 332 ugeth->phy_wol_en = wol->wolopts; in uec_set_wol() 336 /* If the PHY isn't handling the WoL and the MAC is asked to more than in uec_set_wol() 340 wol->wolopts & ~WAKE_MAGIC) in uec_set_wol() 343 if (wol->wolopts & WAKE_MAGIC && in uec_set_wol() [all …]
|
/linux-6.14.4/drivers/net/ethernet/intel/e1000/ |
D | e1000_ethtool.c | 1584 struct ethtool_wolinfo *wol) in e1000_wol_exclusion() argument 1599 /* these don't support WoL at all */ in e1000_wol_exclusion() 1600 wol->supported = 0; in e1000_wol_exclusion() 1606 wol->supported = 0; in e1000_wol_exclusion() 1613 /* quad port adapters only support WoL on port A */ in e1000_wol_exclusion() 1615 wol->supported = 0; in e1000_wol_exclusion() 1622 /* dual port cards only support WoL on port A from now on in e1000_wol_exclusion() 1624 * so exclude FUNC_1 ports from having WoL enabled in e1000_wol_exclusion() 1628 wol->supported = 0; in e1000_wol_exclusion() 1639 struct ethtool_wolinfo *wol) in e1000_get_wol() argument [all …]
|
/linux-6.14.4/drivers/net/ethernet/broadcom/asp2/ |
D | bcmasp_ethtool.c | 191 static void bcmasp_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in bcmasp_get_wol() argument 195 wol->supported = BCMASP_SUPPORTED_WAKE; in bcmasp_get_wol() 196 wol->wolopts = intf->wolopts; in bcmasp_get_wol() 197 memset(wol->sopass, 0, sizeof(wol->sopass)); in bcmasp_get_wol() 199 if (wol->wolopts & WAKE_MAGICSECURE) in bcmasp_get_wol() 200 memcpy(wol->sopass, intf->sopass, sizeof(intf->sopass)); in bcmasp_get_wol() 203 static int bcmasp_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in bcmasp_set_wol() argument 213 intf->wolopts = wol->wolopts; in bcmasp_set_wol() 215 memcpy(intf->sopass, wol->sopass, sizeof(wol->sopass)); in bcmasp_set_wol()
|
/linux-6.14.4/drivers/net/phy/qcom/ |
D | qcom-phy-lib.c | 60 struct ethtool_wolinfo *wol) in at803x_set_wol() argument 64 if (wol->wolopts & WAKE_MAGIC) { in at803x_set_wol() 86 /* Enable WOL interrupt */ in at803x_set_wol() 91 /* Disable WOL interrupt */ in at803x_set_wol() 97 /* Clear WOL status */ in at803x_set_wol() 102 /* Check if there are other interrupts except for WOL triggered when PHY is in at803x_set_wol() 119 struct ethtool_wolinfo *wol) in at803x_get_wol() argument 123 wol->supported = WAKE_MAGIC; in at803x_get_wol() 124 wol->wolopts = 0; in at803x_get_wol() 131 wol->wolopts |= WAKE_MAGIC; in at803x_get_wol()
|
/linux-6.14.4/Documentation/networking/device_drivers/ethernet/intel/ |
D | e100.rst | 141 Enabling Wake on LAN (WoL) 143 WoL is provided through the ethtool utility. For instructions on 144 enabling WoL with ethtool, refer to the ethtool man page. WoL will be 146 driver version, in order to enable WoL, the e100 driver must be loaded
|
/linux-6.14.4/drivers/power/reset/ |
D | linkstation-poweroff.c | 68 /* If WOL was enabled and a magic packet was received before powering in linkstation_mvphy_reg_intn() 70 * Clear WOL status. in linkstation_mvphy_reg_intn() 99 /* If WOL was enabled and a magic packet was received before powering in readynas_mvphy_set_reg() 101 * Clear WOL status. in readynas_mvphy_set_reg()
|
/linux-6.14.4/drivers/net/ethernet/intel/igc/ |
D | igc_ethtool.c | 350 struct ethtool_wolinfo *wol) in igc_ethtool_get_wol() argument 354 wol->wolopts = 0; in igc_ethtool_get_wol() 359 wol->supported = WAKE_UCAST | WAKE_MCAST | in igc_ethtool_get_wol() 369 if (adapter->wol & IGC_WUFC_EX) in igc_ethtool_get_wol() 370 wol->wolopts |= WAKE_UCAST; in igc_ethtool_get_wol() 371 if (adapter->wol & IGC_WUFC_MC) in igc_ethtool_get_wol() 372 wol->wolopts |= WAKE_MCAST; in igc_ethtool_get_wol() 373 if (adapter->wol & IGC_WUFC_BC) in igc_ethtool_get_wol() 374 wol->wolopts |= WAKE_BCAST; in igc_ethtool_get_wol() 375 if (adapter->wol & IGC_WUFC_MAG) in igc_ethtool_get_wol() [all …]
|
/linux-6.14.4/drivers/net/ethernet/intel/e1000e/ |
D | ethtool.c | 1883 struct ethtool_wolinfo *wol) in e1000_get_wol() argument 1887 wol->supported = 0; in e1000_get_wol() 1888 wol->wolopts = 0; in e1000_get_wol() 1894 wol->supported = WAKE_UCAST | WAKE_MCAST | in e1000_get_wol() 1899 wol->supported &= ~WAKE_UCAST; in e1000_get_wol() 1901 if (adapter->wol & E1000_WUFC_EX) in e1000_get_wol() 1905 if (adapter->wol & E1000_WUFC_EX) in e1000_get_wol() 1906 wol->wolopts |= WAKE_UCAST; in e1000_get_wol() 1907 if (adapter->wol & E1000_WUFC_MC) in e1000_get_wol() 1908 wol->wolopts |= WAKE_MCAST; in e1000_get_wol() [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/net/ |
D | mediatek-dwmac.yaml | 128 mediatek,mac-wol: 131 If present, indicates that MAC supports WOL(Wake-On-LAN), and MAC WOL will be enabled. 132 Otherwise, PHY WOL is preferred.
|