| /linux/net/ethtool/ |
| H A 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/drivers/net/ethernet/broadcom/genet/ |
| H A 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/drivers/net/wireless/marvell/mwifiex/ |
| H A 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/drivers/net/ethernet/atheros/atl1c/ |
| H A 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/drivers/net/wireless/marvell/libertas/ |
| H A 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/drivers/net/ethernet/atheros/atl1e/ |
| H A 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/drivers/net/ethernet/wangxun/ngbe/ |
| H A 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/drivers/net/phy/ |
| H A 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 …]
|
| H A D | smsc.c | 323 * be cleared to de-assert PME signal after a WoL event happens, but in lan874x_phy_config_init() 342 struct ethtool_wolinfo *wol) in lan874x_get_wol() argument 347 wol->supported = (WAKE_UCAST | WAKE_BCAST | WAKE_MAGIC | in lan874x_get_wol() 349 wol->wolopts = 0; in lan874x_get_wol() 356 wol->wolopts |= WAKE_UCAST; in lan874x_get_wol() 359 wol->wolopts |= WAKE_BCAST; in lan874x_get_wol() 362 wol->wolopts |= WAKE_MAGIC; in lan874x_get_wol() 366 wol->wolopts |= WAKE_ARP; in lan874x_get_wol() 368 wol->wolopts |= WAKE_MCAST; in lan874x_get_wol() 454 struct ethtool_wolinfo *wol) in lan874x_set_wol() argument [all …]
|
| H A D | mxl-86110.c | 336 * @wol: a pointer to a &struct ethtool_wolinfo 339 struct ethtool_wolinfo *wol) in mxl86110_get_wol() argument 343 wol->supported = WAKE_MAGIC; in mxl86110_get_wol() 344 wol->wolopts = 0; in mxl86110_get_wol() 347 wol->wolopts |= WAKE_MAGIC; in mxl86110_get_wol() 353 * @wol: a pointer to a &struct ethtool_wolinfo 355 * Configures the WOL Magic Packet MAC 360 struct ethtool_wolinfo *wol) in mxl86110_set_wol() argument 368 if (wol->wolopts & WAKE_MAGIC) { in mxl86110_set_wol() 375 /* Configure the MAC address of the WOL magic packet */ in mxl86110_set_wol()
|
| H A D | motorcomm.c | 235 /* WOL MAC ADDR: MACADDR2(highest), MACADDR1(middle), MACADDR0(lowest) */ 252 /* 1b0 Interrupt and WOL events is level triggered and active LOW *default* 253 * 1b1 Interrupt and WOL events is pulse triggered and active LOW 519 * @wol: a pointer to a &struct ethtool_wolinfo 524 struct ethtool_wolinfo *wol) in ytphy_get_wol() argument 528 wol->supported = WAKE_MAGIC; in ytphy_get_wol() 529 wol->wolopts = 0; in ytphy_get_wol() 536 wol->wolopts |= WAKE_MAGIC; in ytphy_get_wol() 542 * @wol: a pointer to a &struct ethtool_wolinfo 550 static int ytphy_set_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol) in ytphy_set_wol() argument [all …]
|
| /linux/drivers/net/ethernet/oki-semi/pch_gbe/ |
| H A 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/drivers/net/phy/qcom/ |
| H A 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 at8031_set_wol() argument 123 /* First setup MAC address and enable WOL interrupt */ in at8031_set_wol() 124 ret = at803x_set_wol(phydev, wol); in at8031_set_wol() 128 if (wol->wolopts & WAKE_MAGIC) in at8031_set_wol() [all …]
|
| /linux/drivers/net/ethernet/intel/e1000/ |
| H A D | e1000_ethtool.c | 1580 struct ethtool_wolinfo *wol) in e1000_wol_exclusion() argument 1595 /* these don't support WoL at all */ in e1000_wol_exclusion() 1596 wol->supported = 0; in e1000_wol_exclusion() 1602 wol->supported = 0; in e1000_wol_exclusion() 1609 /* quad port adapters only support WoL on port A */ in e1000_wol_exclusion() 1611 wol->supported = 0; in e1000_wol_exclusion() 1618 /* dual port cards only support WoL on port A from now on in e1000_wol_exclusion() 1620 * so exclude FUNC_1 ports from having WoL enabled in e1000_wol_exclusion() 1624 wol->supported = 0; in e1000_wol_exclusion() 1635 struct ethtool_wolinfo *wol) in e1000_get_wol() argument [all …]
|
| /linux/Documentation/networking/device_drivers/ethernet/intel/ |
| H A 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/drivers/net/ethernet/intel/e1000e/ |
| H A 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/drivers/net/ethernet/intel/igc/ |
| H A D | igc_ethtool.c | 353 struct ethtool_wolinfo *wol) in igc_ethtool_get_wol() argument 357 wol->wolopts = 0; in igc_ethtool_get_wol() 362 wol->supported = WAKE_UCAST | WAKE_MCAST | in igc_ethtool_get_wol() 372 if (adapter->wol & IGC_WUFC_EX) in igc_ethtool_get_wol() 373 wol->wolopts |= WAKE_UCAST; in igc_ethtool_get_wol() 374 if (adapter->wol & IGC_WUFC_MC) in igc_ethtool_get_wol() 375 wol->wolopts |= WAKE_MCAST; in igc_ethtool_get_wol() 376 if (adapter->wol & IGC_WUFC_BC) in igc_ethtool_get_wol() 377 wol->wolopts |= WAKE_BCAST; in igc_ethtool_get_wol() 378 if (adapter->wol & IGC_WUFC_MAG) in igc_ethtool_get_wol() [all …]
|
| /linux/drivers/power/reset/ |
| H A 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/drivers/net/ethernet/socionext/ |
| H A D | sni_ave.c | 419 struct ethtool_wolinfo *wol) in ave_ethtool_get_wol() argument 421 wol->supported = 0; in ave_ethtool_get_wol() 422 wol->wolopts = 0; in ave_ethtool_get_wol() 425 phy_ethtool_get_wol(ndev->phydev, wol); in ave_ethtool_get_wol() 429 struct ethtool_wolinfo *wol) in __ave_ethtool_set_wol() argument 432 (wol->wolopts & (WAKE_ARP | WAKE_MAGICSECURE))) in __ave_ethtool_set_wol() 435 return phy_ethtool_set_wol(ndev->phydev, wol); in __ave_ethtool_set_wol() 439 struct ethtool_wolinfo *wol) in ave_ethtool_set_wol() argument 443 ret = __ave_ethtool_set_wol(ndev, wol); in ave_ethtool_set_wol() 445 device_set_wakeup_enable(&ndev->dev, !!wol->wolopts); in ave_ethtool_set_wol() [all …]
|
| /linux/drivers/net/ethernet/intel/ixgbe/ |
| H A D | ixgbe_ethtool.c | 2354 struct ethtool_wolinfo *wol) in ixgbe_wol_exclusion() argument 2359 /* WOL not supported for all devices */ in ixgbe_wol_exclusion() 2363 wol->supported = 0; in ixgbe_wol_exclusion() 2370 struct ethtool_wolinfo *wol) in ixgbe_get_wol() argument 2374 wol->supported = WAKE_UCAST | WAKE_MCAST | in ixgbe_get_wol() 2376 wol->wolopts = 0; in ixgbe_get_wol() 2378 if (ixgbe_wol_exclusion(adapter, wol) || in ixgbe_get_wol() 2382 if (adapter->wol & IXGBE_WUFC_EX) in ixgbe_get_wol() 2383 wol->wolopts |= WAKE_UCAST; in ixgbe_get_wol() 2384 if (adapter->wol & IXGBE_WUFC_MC) in ixgbe_get_wol() [all …]
|
| /linux/Documentation/devicetree/bindings/net/ |
| H A D | mediatek-dwmac.yaml | 134 mediatek,mac-wol: 137 If present, indicates that MAC supports WOL(Wake-On-LAN), and MAC WOL will be enabled. 138 Otherwise, PHY WOL is preferred.
|
| /linux/drivers/net/ethernet/aquantia/atlantic/hw_atl2/ |
| H A D | hw_atl2_utils_fw.c | 465 static int aq_a2_fw_set_wol_params(struct aq_hw_s *self, const u8 *mac, u32 wol) in aq_a2_fw_set_wol_params() argument 476 if (wol & WAKE_MAGIC) in aq_a2_fw_set_wol_params() 479 if (wol & (WAKE_PHY | AQ_FW_WAKE_ON_LINK_RTPM)) in aq_a2_fw_set_wol_params() 494 u32 wol = self->aq_nic_cfg->wol; in aq_a2_fw_set_power() local 497 if (wol) in aq_a2_fw_set_power() 498 err = aq_a2_fw_set_wol_params(self, mac, wol); in aq_a2_fw_set_power()
|
| /linux/drivers/net/ethernet/realtek/ |
| H A 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 …]
|
| /linux/drivers/net/usb/ |
| H A D | pegasus.c | 926 pegasus_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in pegasus_get_wol() argument 930 wol->supported = WAKE_MAGIC | WAKE_PHY; in pegasus_get_wol() 931 wol->wolopts = pegasus->wolopts; in pegasus_get_wol() 935 pegasus_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in pegasus_set_wol() argument 941 if (wol->wolopts & ~WOL_SUPPORTED) in pegasus_set_wol() 944 if (wol->wolopts & WAKE_MAGIC) in pegasus_set_wol() 946 if (wol->wolopts & WAKE_PHY) in pegasus_set_wol() 949 if (wol->wolopts) in pegasus_set_wol() 953 pegasus->wolopts = wol->wolopts; in pegasus_set_wol() 958 wol->wolopts); in pegasus_set_wol() [all …]
|
| /linux/drivers/net/ethernet/atheros/atlx/ |
| H A D | atl2.c | 80 adapter->wol = 0; in atl2_sw_init() 1496 u32 wufc = adapter->wol; in atl2_suspend() 1533 /* turn on magic packet wol */ in atl2_suspend() 1570 /* link is down, so only LINK CHG WOL event enable */ in atl2_suspend() 1591 /* WOL disabled */ in atl2_suspend() 1637 ATL2_READ_REG(&adapter->hw, REG_WOL_CTRL); /* clear WOL status */ in atl2_resume() 1991 struct ethtool_wolinfo *wol) in atl2_get_wol() argument 1995 wol->supported = WAKE_MAGIC; in atl2_get_wol() 1996 wol->wolopts = 0; in atl2_get_wol() 1998 if (adapter->wol & ATLX_WUFC_EX) in atl2_get_wol() [all …]
|