/Linux-v6.1/net/ethtool/ |
D | wol.c | 13 struct ethtool_wolinfo wol; member 39 dev->ethtool_ops->get_wol(dev, &data->wol); in wol_prepare_data() 42 data->show_sopass = info && (data->wol.supported & WAKE_MAGICSECURE); in wol_prepare_data() 54 len = ethnl_bitset32_size(&data->wol.wolopts, &data->wol.supported, in wol_reply_size() 59 len += nla_total_size(sizeof(data->wol.sopass)); in wol_reply_size() 72 ret = ethnl_put_bitset32(skb, ETHTOOL_A_WOL_MODES, &data->wol.wolopts, in wol_fill_reply() 73 &data->wol.supported, WOL_MODE_COUNT, in wol_fill_reply() 78 nla_put(skb, ETHTOOL_A_WOL_SOPASS, sizeof(data->wol.sopass), in wol_fill_reply() 79 data->wol.sopass)) in wol_fill_reply() 109 struct ethtool_wolinfo wol = { .cmd = ETHTOOL_GWOL }; in ethnl_set_wol() local [all …]
|
/Linux-v6.1/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-v6.1/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 46 wol->supported = 0; in bcmgenet_get_wol() 47 wol->wolopts = 0; in bcmgenet_get_wol() 51 wol->supported = WAKE_MAGIC | WAKE_MAGICSECURE | WAKE_FILTER; in bcmgenet_get_wol() 52 wol->wolopts = priv->wolopts; in bcmgenet_get_wol() 53 memset(wol->sopass, 0, sizeof(wol->sopass)); in bcmgenet_get_wol() 55 if (wol->wolopts & WAKE_MAGICSECURE) in bcmgenet_get_wol() 56 memcpy(wol->sopass, priv->sopass, sizeof(priv->sopass)); in bcmgenet_get_wol() 59 /* ethtool function - set WOL (Wake on LAN) settings. [all …]
|
/Linux-v6.1/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 | dp83822.c | 83 /* WoL Registers */ 90 /* WoL bits */ 124 struct ethtool_wolinfo *wol) in dp83822_set_wol() argument 130 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE)) { in dp83822_set_wol() 148 if (wol->wolopts & WAKE_MAGIC) in dp83822_set_wol() 153 if (wol->wolopts & WAKE_MAGICSECURE) { in dp83822_set_wol() 156 (wol->sopass[1] << 8) | wol->sopass[0]); in dp83822_set_wol() 159 (wol->sopass[3] << 8) | wol->sopass[2]); in dp83822_set_wol() 162 (wol->sopass[5] << 8) | wol->sopass[4]); in dp83822_set_wol() 168 /* Clear any pending WoL interrupt */ in dp83822_set_wol() [all …]
|
D | dp83869.c | 246 struct ethtool_wolinfo *wol) in dp83869_set_wol() argument 261 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE | WAKE_UCAST | in dp83869_set_wol() 266 if (wol->wolopts & WAKE_MAGIC || in dp83869_set_wol() 267 wol->wolopts & WAKE_MAGICSECURE) { in dp83869_set_wol() 296 if (wol->wolopts & WAKE_MAGICSECURE) { in dp83869_set_wol() 299 (wol->sopass[1] << 8) | wol->sopass[0]); in dp83869_set_wol() 305 (wol->sopass[3] << 8) | wol->sopass[2]); in dp83869_set_wol() 310 (wol->sopass[5] << 8) | wol->sopass[4]); in dp83869_set_wol() 319 if (wol->wolopts & WAKE_UCAST) in dp83869_set_wol() 324 if (wol->wolopts & WAKE_BCAST) in dp83869_set_wol() [all …]
|
D | dp83867.c | 183 struct ethtool_wolinfo *wol) in dp83867_set_wol() argument 192 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE | WAKE_UCAST | in dp83867_set_wol() 197 if (wol->wolopts & WAKE_MAGIC) { in dp83867_set_wol() 215 if (wol->wolopts & WAKE_MAGICSECURE) { in dp83867_set_wol() 217 (wol->sopass[1] << 8) | wol->sopass[0]); in dp83867_set_wol() 219 (wol->sopass[3] << 8) | wol->sopass[2]); in dp83867_set_wol() 221 (wol->sopass[5] << 8) | wol->sopass[4]); in dp83867_set_wol() 228 if (wol->wolopts & WAKE_UCAST) in dp83867_set_wol() 233 if (wol->wolopts & WAKE_BCAST) in dp83867_set_wol() 249 struct ethtool_wolinfo *wol) in dp83867_get_wol() argument [all …]
|
D | meson-gxl.c | 43 /* WOL Registers */ 154 * can detect this using a magic bit in the WOL bank (reg 12 - bit 12). 164 int ret, wol, lpa, exp; in meson_gxl_read_status() local 174 wol = meson_gxl_read_reg(phydev, BANK_WOL, LPI_STATUS); in meson_gxl_read_status() 175 if (wol < 0) in meson_gxl_read_status() 176 return wol; in meson_gxl_read_status() 186 if (!(wol & LPI_STATUS_RSV12) || in meson_gxl_read_status()
|
D | mxl-gpy.c | 82 /* WoL */ 586 struct ethtool_wolinfo *wol) in gpy_set_wol() argument 591 if (wol->wolopts & WAKE_MAGIC) { in gpy_set_wol() 618 /* Enable the WOL interrupt */ in gpy_set_wol() 631 * Only WoL is enabled so clear all. in gpy_set_wol() 645 if (wol->wolopts & WAKE_PHY) { in gpy_set_wol() 667 struct ethtool_wolinfo *wol) in gpy_get_wol() argument 671 wol->supported = WAKE_MAGIC | WAKE_PHY; in gpy_get_wol() 672 wol->wolopts = 0; in gpy_get_wol() 676 wol->wolopts |= WAKE_MAGIC; in gpy_get_wol() [all …]
|
/Linux-v6.1/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-v6.1/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-v6.1/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-v6.1/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-v6.1/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-v6.1/drivers/net/ethernet/microchip/ |
D | lan743x_ethtool.c | 1139 struct ethtool_wolinfo *wol) in lan743x_ethtool_get_wol() argument 1143 wol->supported = 0; in lan743x_ethtool_get_wol() 1144 wol->wolopts = 0; in lan743x_ethtool_get_wol() 1147 phy_ethtool_get_wol(netdev->phydev, wol); in lan743x_ethtool_get_wol() 1149 wol->supported |= WAKE_BCAST | WAKE_UCAST | WAKE_MCAST | in lan743x_ethtool_get_wol() 1153 wol->supported |= WAKE_MAGICSECURE; in lan743x_ethtool_get_wol() 1155 wol->wolopts |= adapter->wolopts; in lan743x_ethtool_get_wol() 1157 memcpy(wol->sopass, adapter->sopass, sizeof(wol->sopass)); in lan743x_ethtool_get_wol() 1161 struct ethtool_wolinfo *wol) in lan743x_ethtool_set_wol() argument 1166 if (wol->wolopts & WAKE_UCAST) in lan743x_ethtool_set_wol() [all …]
|
/Linux-v6.1/drivers/net/ethernet/freescale/ |
D | ucc_geth_ethtool.c | 346 static void uec_get_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) in uec_get_wol() argument 352 wol->supported |= WAKE_PHY; in uec_get_wol() 354 wol->supported |= WAKE_MAGIC; in uec_get_wol() 356 wol->wolopts = ugeth->wol_en; in uec_get_wol() 359 static int uec_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) in uec_set_wol() argument 364 if (wol->wolopts & ~(WAKE_PHY | WAKE_MAGIC)) in uec_set_wol() 366 else if (wol->wolopts & WAKE_PHY && (!phydev || !phydev->irq)) in uec_set_wol() 368 else if (wol->wolopts & WAKE_MAGIC && !qe_alive_during_sleep()) in uec_set_wol() 371 ugeth->wol_en = wol->wolopts; in uec_set_wol()
|
/Linux-v6.1/drivers/staging/qlge/ |
D | qlge_ethtool.c | 430 static void qlge_get_wol(struct net_device *ndev, struct ethtool_wolinfo *wol) in qlge_get_wol() argument 435 /* WOL is only supported for mezz card. */ in qlge_get_wol() 438 wol->supported = WAKE_MAGIC; in qlge_get_wol() 439 wol->wolopts = qdev->wol; in qlge_get_wol() 443 static int qlge_set_wol(struct net_device *ndev, struct ethtool_wolinfo *wol) in qlge_set_wol() argument 448 /* WOL is only supported for mezz card. */ in qlge_set_wol() 452 "WOL is only supported for mezz card\n"); in qlge_set_wol() 455 if (wol->wolopts & ~WAKE_MAGIC) in qlge_set_wol() 457 qdev->wol = wol->wolopts; in qlge_set_wol() 459 netif_info(qdev, drv, qdev->ndev, "Set wol option 0x%x\n", qdev->wol); in qlge_set_wol()
|
/Linux-v6.1/drivers/net/ethernet/intel/igc/ |
D | igc_ethtool.c | 349 struct ethtool_wolinfo *wol) in igc_ethtool_get_wol() argument 353 wol->wolopts = 0; in igc_ethtool_get_wol() 358 wol->supported = WAKE_UCAST | WAKE_MCAST | in igc_ethtool_get_wol() 368 if (adapter->wol & IGC_WUFC_EX) in igc_ethtool_get_wol() 369 wol->wolopts |= WAKE_UCAST; in igc_ethtool_get_wol() 370 if (adapter->wol & IGC_WUFC_MC) in igc_ethtool_get_wol() 371 wol->wolopts |= WAKE_MCAST; in igc_ethtool_get_wol() 372 if (adapter->wol & IGC_WUFC_BC) in igc_ethtool_get_wol() 373 wol->wolopts |= WAKE_BCAST; in igc_ethtool_get_wol() 374 if (adapter->wol & IGC_WUFC_MAG) in igc_ethtool_get_wol() [all …]
|
/Linux-v6.1/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-v6.1/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-v6.1/drivers/net/ethernet/intel/e1000e/ |
D | ethtool.c | 1900 struct ethtool_wolinfo *wol) in e1000_get_wol() argument 1904 wol->supported = 0; in e1000_get_wol() 1905 wol->wolopts = 0; in e1000_get_wol() 1911 wol->supported = WAKE_UCAST | WAKE_MCAST | in e1000_get_wol() 1916 wol->supported &= ~WAKE_UCAST; in e1000_get_wol() 1918 if (adapter->wol & E1000_WUFC_EX) in e1000_get_wol() 1922 if (adapter->wol & E1000_WUFC_EX) in e1000_get_wol() 1923 wol->wolopts |= WAKE_UCAST; in e1000_get_wol() 1924 if (adapter->wol & E1000_WUFC_MC) in e1000_get_wol() 1925 wol->wolopts |= WAKE_MCAST; in e1000_get_wol() [all …]
|
/Linux-v6.1/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 perferred.
|
/Linux-v6.1/drivers/net/ethernet/socionext/ |
D | sni_ave.c | 418 struct ethtool_wolinfo *wol) in ave_ethtool_get_wol() argument 420 wol->supported = 0; in ave_ethtool_get_wol() 421 wol->wolopts = 0; in ave_ethtool_get_wol() 424 phy_ethtool_get_wol(ndev->phydev, wol); in ave_ethtool_get_wol() 428 struct ethtool_wolinfo *wol) in __ave_ethtool_set_wol() argument 431 (wol->wolopts & (WAKE_ARP | WAKE_MAGICSECURE))) in __ave_ethtool_set_wol() 434 return phy_ethtool_set_wol(ndev->phydev, wol); in __ave_ethtool_set_wol() 438 struct ethtool_wolinfo *wol) in ave_ethtool_set_wol() argument 442 ret = __ave_ethtool_set_wol(ndev, wol); in ave_ethtool_set_wol() 444 device_set_wakeup_enable(&ndev->dev, !!wol->wolopts); in ave_ethtool_set_wol() [all …]
|
/Linux-v6.1/drivers/net/ethernet/stmicro/stmmac/ |
D | stmmac_ethtool.c | 718 /* Currently only support WOL through Magic packet. */ 719 static void stmmac_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in stmmac_get_wol() argument 724 return phylink_ethtool_get_wol(priv->phylink, wol); in stmmac_get_wol() 728 wol->supported = WAKE_MAGIC | WAKE_UCAST; in stmmac_get_wol() 730 wol->supported &= ~WAKE_MAGIC; in stmmac_get_wol() 731 wol->wolopts = priv->wolopts; in stmmac_get_wol() 736 static int stmmac_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in stmmac_set_wol() argument 745 int ret = phylink_ethtool_set_wol(priv->phylink, wol); in stmmac_set_wol() 748 device_set_wakeup_enable(priv->device, !!wol->wolopts); in stmmac_set_wol() 752 /* By default almost all GMAC devices support the WoL via in stmmac_set_wol() [all …]
|
/Linux-v6.1/drivers/net/ethernet/realtek/ |
D | 8139cp.c | 1327 const struct ethtool_wolinfo *wol) in netdev_set_wol() argument 1332 /* If WOL is being disabled, no need for complexity */ in netdev_set_wol() 1333 if (wol->wolopts) { in netdev_set_wol() 1334 if (wol->wolopts & WAKE_PHY) options |= LinkUp; in netdev_set_wol() 1335 if (wol->wolopts & WAKE_MAGIC) options |= MagicPacket; in netdev_set_wol() 1344 /* If WOL is being disabled, no need for complexity */ in netdev_set_wol() 1345 if (wol->wolopts) { in netdev_set_wol() 1346 if (wol->wolopts & WAKE_UCAST) options |= UWF; in netdev_set_wol() 1347 if (wol->wolopts & WAKE_BCAST) options |= BWF; in netdev_set_wol() 1348 if (wol->wolopts & WAKE_MCAST) options |= MWF; in netdev_set_wol() [all …]
|