Home
last modified time | relevance | path

Searched full:wol (Results 1 – 25 of 256) sorted by relevance

1234567891011

/linux-6.14.4/net/ethtool/
Dwol.c13 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/
Dethtool.c11 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/
Dbcmgenet_wol.c37 /* 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/
Ddp83tc811.c57 /* 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 …]
Ddp83869.c259 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 …]
Ddp83822.c90 /* 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 …]
Dsmsc.c276 * 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 …]
Ddp83867.c210 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 …]
Dbcm-phy-lib.c874 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 …]
Dmeson-gxl.c32 /* 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/
Dethtool.c62 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/
Datl1c_ethtool.c229 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/
Datl1e_ethtool.c316 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/
Dngbe_ethtool.c16 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/
Dlan743x_ethtool.c1089 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/
Dpch_gbe_ethtool.c206 * @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/
Ducc_geth_ethtool.c309 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/
De1000_ethtool.c1584 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/
Dbcmasp_ethtool.c191 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/
Dqcom-phy-lib.c60 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/
De100.rst141 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/
Dlinkstation-poweroff.c68 /* 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/
Digc_ethtool.c350 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/
Dethtool.c1883 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/
Dmediatek-dwmac.yaml128 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.

1234567891011