/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/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/broadcom/genet/ |
H A D | bcmgenet_wol.c | 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() 72 int bcmgenet_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in bcmgenet_set_wol() argument 80 ret = phy_ethtool_set_wol(dev->phydev, wol); in bcmgenet_set_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/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/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 …]
|
H A D | ngbe_main.c | 424 u32 wufc = wx->wol; in ngbe_dev_shutdown() 454 wake = !!wx->wol; in ngbe_shutdown() 651 wx->wol = 0; in ngbe_probe() 653 wx->wol = NGBE_PSR_WKUP_CTL_MAG; in ngbe_probe() 655 netdev->ethtool->wol_enabled = !!(wx->wol); in ngbe_probe() 656 wr32(wx, NGBE_PSR_WKUP_CTL, wx->wol); in ngbe_probe() 657 device_set_wakeup_enable(&pdev->dev, wx->wol); in ngbe_probe()
|
/linux/drivers/net/ethernet/oki-semi/pch_gbe/ |
H A D | pch_gbe_ethtool.c | 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() 235 struct ethtool_wolinfo *wol) in pch_gbe_set_wol() argument 239 if ((wol->wolopts & (WAKE_PHY | WAKE_ARP | WAKE_MAGICSECURE))) in pch_gbe_set_wol() 244 if ((wol->wolopts & WAKE_UCAST)) in pch_gbe_set_wol() [all …]
|
/linux/drivers/net/ethernet/intel/e1000/ |
H A D | e1000_ethtool.c | 1584 struct ethtool_wolinfo *wol) in e1000_wol_exclusion() argument 1600 wol->supported = 0; in e1000_wol_exclusion() 1606 wol->supported = 0; in e1000_wol_exclusion() 1615 wol->supported = 0; in e1000_wol_exclusion() 1628 wol->supported = 0; in e1000_wol_exclusion() 1639 struct ethtool_wolinfo *wol) in e1000_get_wol() argument 1644 wol->supported = WAKE_UCAST | WAKE_MCAST | WAKE_BCAST | WAKE_MAGIC; in e1000_get_wol() 1645 wol->wolopts = 0; in e1000_get_wol() 1650 if (e1000_wol_exclusion(adapter, wol) || in e1000_get_wol() 1658 wol->supported &= ~WAKE_UCAST; in e1000_get_wol() [all …]
|
/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 | 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/drivers/net/ethernet/sfc/siena/ |
H A D | ethtool.c | 205 struct ethtool_wolinfo *wol) in efx_ethtool_get_wol() argument 208 return efx->type->get_wol(efx, wol); in efx_ethtool_get_wol() 213 struct ethtool_wolinfo *wol) in efx_ethtool_set_wol() argument 216 return efx->type->set_wol(efx, wol->wolopts); in efx_ethtool_set_wol()
|
/linux/drivers/net/ethernet/sfc/ |
H A D | ethtool.c | 205 struct ethtool_wolinfo *wol) in efx_ethtool_get_wol() argument 208 return efx->type->get_wol(efx, wol); in efx_ethtool_get_wol() 213 struct ethtool_wolinfo *wol) in efx_ethtool_set_wol() argument 216 return efx->type->set_wol(efx, wol->wolopts); in efx_ethtool_set_wol()
|
/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() 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/Documentation/netlink/specs/ |
H A D | ethtool.yaml | 1678 attributes: &wol 1691 attributes: *wol
|
/linux/drivers/net/ethernet/realtek/ |
H A D | 8139cp.c | 1327 const struct ethtool_wolinfo *wol) in netdev_set_wol() argument 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() 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() 1353 cp->wol_enabled = (wol->wolopts) ? 1 : 0; in netdev_set_wol() 1360 struct ethtool_wolinfo *wol) in netdev_get_wol() argument [all …]
|
H A D | 8139too.c | 2308 static void rtl8139_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in rtl8139_get_wol() argument 2318 wol->supported = WAKE_PHY | WAKE_MAGIC in rtl8139_get_wol() 2321 wol->wolopts = 0; in rtl8139_get_wol() 2323 wol->wolopts |= WAKE_PHY; in rtl8139_get_wol() 2325 wol->wolopts |= WAKE_MAGIC; in rtl8139_get_wol() 2329 wol->wolopts |= WAKE_UCAST; in rtl8139_get_wol() 2331 wol->wolopts |= WAKE_MCAST; in rtl8139_get_wol() 2333 wol->wolopts |= WAKE_BCAST; in rtl8139_get_wol() 2342 static int rtl8139_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in rtl8139_set_wol() argument 2353 if (wol->wolopts & ~support) in rtl8139_set_wol() [all …]
|
/linux/drivers/net/usb/ |
H A D | pegasus.c | 905 pegasus_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in pegasus_get_wol() argument 909 wol->supported = WAKE_MAGIC | WAKE_PHY; in pegasus_get_wol() 910 wol->wolopts = pegasus->wolopts; in pegasus_get_wol() 914 pegasus_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in pegasus_set_wol() argument 920 if (wol->wolopts & ~WOL_SUPPORTED) in pegasus_set_wol() 923 if (wol->wolopts & WAKE_MAGIC) in pegasus_set_wol() 925 if (wol->wolopts & WAKE_PHY) in pegasus_set_wol() 928 if (wol->wolopts) in pegasus_set_wol() 932 pegasus->wolopts = wol->wolopts; in pegasus_set_wol() 937 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() 1495 u32 wufc = adapter->wol; in atl2_suspend() 1990 struct ethtool_wolinfo *wol) in atl2_get_wol() argument 1994 wol->supported = WAKE_MAGIC; in atl2_get_wol() 1995 wol->wolopts = 0; in atl2_get_wol() 1997 if (adapter->wol & ATLX_WUFC_EX) in atl2_get_wol() 1998 wol->wolopts |= WAKE_UCAST; in atl2_get_wol() 1999 if (adapter->wol & ATLX_WUFC_MC) in atl2_get_wol() 2000 wol->wolopts |= WAKE_MCAST; in atl2_get_wol() 2001 if (adapter->wol & ATLX_WUFC_BC) in atl2_get_wol() [all …]
|
/linux/drivers/net/ethernet/aquantia/atlantic/ |
H A D | aq_ethtool.c | 617 struct ethtool_wolinfo *wol) in aq_ethtool_get_wol() argument 624 wol->supported = AQ_NIC_WOL_MODES; in aq_ethtool_get_wol() 625 wol->wolopts = cfg->wol; in aq_ethtool_get_wol() 629 struct ethtool_wolinfo *wol) in aq_ethtool_set_wol() argument 638 if (wol->wolopts & ~AQ_NIC_WOL_MODES) in aq_ethtool_set_wol() 641 cfg->wol = wol->wolopts; in aq_ethtool_set_wol() 643 err = device_set_wakeup_enable(&pdev->dev, !!cfg->wol); in aq_ethtool_set_wol()
|
/linux/drivers/net/ethernet/intel/igb/ |
H A D | igb_ethtool.c | 2101 static void igb_get_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) in igb_get_wol() argument 2105 wol->wolopts = 0; in igb_get_wol() 2110 wol->supported = WAKE_UCAST | WAKE_MCAST | in igb_get_wol() 2120 if (adapter->wol & E1000_WUFC_EX) in igb_get_wol() 2121 wol->wolopts |= WAKE_UCAST; in igb_get_wol() 2122 if (adapter->wol & E1000_WUFC_MC) in igb_get_wol() 2123 wol->wolopts |= WAKE_MCAST; in igb_get_wol() 2124 if (adapter->wol & E1000_WUFC_BC) in igb_get_wol() 2125 wol->wolopts |= WAKE_BCAST; in igb_get_wol() 2126 if (adapter->wol & E1000_WUFC_MAG) in igb_get_wol() [all …]
|
/linux/drivers/net/ethernet/freescale/ |
H A D | gianfar_ethtool.c | 555 static void gfar_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in gfar_get_wol() argument 559 wol->supported = 0; in gfar_get_wol() 560 wol->wolopts = 0; in gfar_get_wol() 563 wol->supported |= WAKE_MAGIC; in gfar_get_wol() 566 wol->supported |= WAKE_UCAST; in gfar_get_wol() 569 wol->wolopts |= WAKE_MAGIC; in gfar_get_wol() 572 wol->wolopts |= WAKE_UCAST; in gfar_get_wol() 575 static int gfar_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in gfar_set_wol() argument 581 if (!priv->wol_supported && wol->wolopts) in gfar_set_wol() 584 if (wol->wolopts & ~(WAKE_MAGIC | WAKE_UCAST)) in gfar_set_wol() [all …]
|
/linux/drivers/net/ethernet/intel/igbvf/ |
H A D | ethtool.c | 308 struct ethtool_wolinfo *wol) in igbvf_get_wol() argument 310 wol->supported = 0; in igbvf_get_wol() 311 wol->wolopts = 0; in igbvf_get_wol() 315 struct ethtool_wolinfo *wol) in igbvf_set_wol() argument
|
/linux/drivers/net/phy/ |
H A D | bcm-phy-lib.h | 117 int bcm_phy_set_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol); 118 void bcm_phy_get_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol);
|