Home
last modified time | relevance | path

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

123456789

/Linux-v5.15/net/ethtool/
Dwol.c13 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-v5.15/drivers/net/wireless/marvell/mwifiex/
Dethtool.c23 struct ethtool_wolinfo *wol) in mwifiex_ethtool_get_wol() argument
28 wol->supported = WAKE_UCAST|WAKE_MCAST|WAKE_BCAST|WAKE_PHY; in mwifiex_ethtool_get_wol()
34 wol->wolopts |= WAKE_UCAST; in mwifiex_ethtool_get_wol()
36 wol->wolopts |= WAKE_MCAST; in mwifiex_ethtool_get_wol()
38 wol->wolopts |= WAKE_BCAST; in mwifiex_ethtool_get_wol()
40 wol->wolopts |= WAKE_PHY; in mwifiex_ethtool_get_wol()
44 struct ethtool_wolinfo *wol) in mwifiex_ethtool_set_wol() argument
49 if (wol->wolopts & ~(WAKE_UCAST|WAKE_MCAST|WAKE_BCAST|WAKE_PHY)) in mwifiex_ethtool_set_wol()
52 if (wol->wolopts & WAKE_UCAST) in mwifiex_ethtool_set_wol()
54 if (wol->wolopts & WAKE_MCAST) in mwifiex_ethtool_set_wol()
[all …]
/Linux-v5.15/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
44 wol->supported = WAKE_MAGIC | WAKE_MAGICSECURE | WAKE_FILTER; in bcmgenet_get_wol()
45 wol->wolopts = priv->wolopts; in bcmgenet_get_wol()
46 memset(wol->sopass, 0, sizeof(wol->sopass)); in bcmgenet_get_wol()
48 if (wol->wolopts & WAKE_MAGICSECURE) in bcmgenet_get_wol()
49 memcpy(wol->sopass, priv->sopass, sizeof(priv->sopass)); in bcmgenet_get_wol()
52 /* ethtool function - set WOL (Wake on LAN) settings.
55 int bcmgenet_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in bcmgenet_set_wol() argument
63 if (wol->wolopts & ~(WAKE_MAGIC | WAKE_MAGICSECURE | WAKE_FILTER)) in bcmgenet_set_wol()
[all …]
/Linux-v5.15/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 …]
Ddp83822.c83 /* WoL Registers */
90 /* WoL bits */
123 struct ethtool_wolinfo *wol) in dp83822_set_wol() argument
129 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE)) { in dp83822_set_wol()
147 if (wol->wolopts & WAKE_MAGIC) in dp83822_set_wol()
152 if (wol->wolopts & WAKE_MAGICSECURE) { in dp83822_set_wol()
155 (wol->sopass[1] << 8) | wol->sopass[0]); in dp83822_set_wol()
158 (wol->sopass[3] << 8) | wol->sopass[2]); in dp83822_set_wol()
161 (wol->sopass[5] << 8) | wol->sopass[4]); in dp83822_set_wol()
167 /* Clear any pending WoL interrupt */ in dp83822_set_wol()
[all …]
Ddp83869.c245 struct ethtool_wolinfo *wol) in dp83869_set_wol() argument
260 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE | WAKE_UCAST | in dp83869_set_wol()
265 if (wol->wolopts & WAKE_MAGIC || in dp83869_set_wol()
266 wol->wolopts & WAKE_MAGICSECURE) { in dp83869_set_wol()
295 if (wol->wolopts & WAKE_MAGICSECURE) { in dp83869_set_wol()
298 (wol->sopass[1] << 8) | wol->sopass[0]); in dp83869_set_wol()
304 (wol->sopass[3] << 8) | wol->sopass[2]); in dp83869_set_wol()
309 (wol->sopass[5] << 8) | wol->sopass[4]); in dp83869_set_wol()
318 if (wol->wolopts & WAKE_UCAST) in dp83869_set_wol()
323 if (wol->wolopts & WAKE_BCAST) in dp83869_set_wol()
[all …]
Ddp83867.c181 struct ethtool_wolinfo *wol) in dp83867_set_wol() argument
190 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE | WAKE_UCAST | in dp83867_set_wol()
195 if (wol->wolopts & WAKE_MAGIC) { in dp83867_set_wol()
213 if (wol->wolopts & WAKE_MAGICSECURE) { in dp83867_set_wol()
215 (wol->sopass[1] << 8) | wol->sopass[0]); in dp83867_set_wol()
217 (wol->sopass[3] << 8) | wol->sopass[2]); in dp83867_set_wol()
219 (wol->sopass[5] << 8) | wol->sopass[4]); in dp83867_set_wol()
226 if (wol->wolopts & WAKE_UCAST) in dp83867_set_wol()
231 if (wol->wolopts & WAKE_BCAST) in dp83867_set_wol()
247 struct ethtool_wolinfo *wol) in dp83867_get_wol() argument
[all …]
Dmeson-gxl.c39 /* WOL Registers */
150 * can detect this using a magic bit in the WOL bank (reg 12 - bit 12).
160 int ret, wol, lpa, exp; in meson_gxl_read_status() local
170 wol = meson_gxl_read_reg(phydev, BANK_WOL, LPI_STATUS); in meson_gxl_read_status()
171 if (wol < 0) in meson_gxl_read_status()
172 return wol; in meson_gxl_read_status()
182 if (!(wol & LPI_STATUS_RSV12) || in meson_gxl_read_status()
Dmxl-gpy.c67 /* WoL */
383 struct ethtool_wolinfo *wol) in gpy_set_wol() argument
388 if (wol->wolopts & WAKE_MAGIC) { in gpy_set_wol()
415 /* Enable the WOL interrupt */ in gpy_set_wol()
428 * Only WoL is enabled so clear all. in gpy_set_wol()
442 if (wol->wolopts & WAKE_PHY) { in gpy_set_wol()
464 struct ethtool_wolinfo *wol) in gpy_get_wol() argument
468 wol->supported = WAKE_MAGIC | WAKE_PHY; in gpy_get_wol()
469 wol->wolopts = 0; in gpy_get_wol()
473 wol->wolopts |= WAKE_MAGIC; in gpy_get_wol()
[all …]
/Linux-v5.15/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-v5.15/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-v5.15/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-v5.15/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-v5.15/drivers/net/ethernet/intel/e1000/
De1000_ethtool.c1580 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-v5.15/drivers/net/ethernet/microchip/
Dlan743x_ethtool.c777 struct ethtool_wolinfo *wol) in lan743x_ethtool_get_wol() argument
781 wol->supported = 0; in lan743x_ethtool_get_wol()
782 wol->wolopts = 0; in lan743x_ethtool_get_wol()
785 phy_ethtool_get_wol(netdev->phydev, wol); in lan743x_ethtool_get_wol()
787 wol->supported |= WAKE_BCAST | WAKE_UCAST | WAKE_MCAST | in lan743x_ethtool_get_wol()
790 wol->wolopts |= adapter->wolopts; in lan743x_ethtool_get_wol()
794 struct ethtool_wolinfo *wol) in lan743x_ethtool_set_wol() argument
799 if (wol->wolopts & WAKE_UCAST) in lan743x_ethtool_set_wol()
801 if (wol->wolopts & WAKE_MCAST) in lan743x_ethtool_set_wol()
803 if (wol->wolopts & WAKE_BCAST) in lan743x_ethtool_set_wol()
[all …]
/Linux-v5.15/drivers/net/ethernet/freescale/
Ducc_geth_ethtool.c342 static void uec_get_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) in uec_get_wol() argument
348 wol->supported |= WAKE_PHY; in uec_get_wol()
350 wol->supported |= WAKE_MAGIC; in uec_get_wol()
352 wol->wolopts = ugeth->wol_en; in uec_get_wol()
355 static int uec_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) in uec_set_wol() argument
360 if (wol->wolopts & ~(WAKE_PHY | WAKE_MAGIC)) in uec_set_wol()
362 else if (wol->wolopts & WAKE_PHY && (!phydev || !phydev->irq)) in uec_set_wol()
364 else if (wol->wolopts & WAKE_MAGIC && !qe_alive_during_sleep()) in uec_set_wol()
367 ugeth->wol_en = wol->wolopts; in uec_set_wol()
/Linux-v5.15/drivers/staging/qlge/
Dqlge_ethtool.c430 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-v5.15/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-v5.15/drivers/net/ethernet/intel/igc/
Digc_ethtool.c349 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-v5.15/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-v5.15/drivers/net/ethernet/intel/e1000e/
Dethtool.c1896 struct ethtool_wolinfo *wol) in e1000_get_wol() argument
1900 wol->supported = 0; in e1000_get_wol()
1901 wol->wolopts = 0; in e1000_get_wol()
1907 wol->supported = WAKE_UCAST | WAKE_MCAST | in e1000_get_wol()
1912 wol->supported &= ~WAKE_UCAST; in e1000_get_wol()
1914 if (adapter->wol & E1000_WUFC_EX) in e1000_get_wol()
1918 if (adapter->wol & E1000_WUFC_EX) in e1000_get_wol()
1919 wol->wolopts |= WAKE_UCAST; in e1000_get_wol()
1920 if (adapter->wol & E1000_WUFC_MC) in e1000_get_wol()
1921 wol->wolopts |= WAKE_MCAST; in e1000_get_wol()
[all …]
/Linux-v5.15/drivers/net/ethernet/socionext/
Dsni_ave.c418 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-v5.15/drivers/net/ethernet/stmicro/stmmac/
Dstmmac_ethtool.c700 /* Currently only support WOL through Magic packet. */
701 static void stmmac_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in stmmac_get_wol() argument
706 return phylink_ethtool_get_wol(priv->phylink, wol); in stmmac_get_wol()
710 wol->supported = WAKE_MAGIC | WAKE_UCAST; in stmmac_get_wol()
712 wol->supported &= ~WAKE_MAGIC; in stmmac_get_wol()
713 wol->wolopts = priv->wolopts; in stmmac_get_wol()
718 static int stmmac_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in stmmac_set_wol() argument
727 int ret = phylink_ethtool_set_wol(priv->phylink, wol); in stmmac_set_wol()
730 device_set_wakeup_enable(priv->device, !!wol->wolopts); in stmmac_set_wol()
734 /* By default almost all GMAC devices support the WoL via in stmmac_set_wol()
[all …]
/Linux-v5.15/drivers/net/ethernet/aquantia/atlantic/
Daq_ethtool.c611 struct ethtool_wolinfo *wol) in aq_ethtool_get_wol() argument
618 wol->supported = AQ_NIC_WOL_MODES; in aq_ethtool_get_wol()
619 wol->wolopts = cfg->wol; in aq_ethtool_get_wol()
623 struct ethtool_wolinfo *wol) in aq_ethtool_set_wol() argument
632 if (wol->wolopts & ~AQ_NIC_WOL_MODES) in aq_ethtool_set_wol()
635 cfg->wol = wol->wolopts; in aq_ethtool_set_wol()
637 err = device_set_wakeup_enable(&pdev->dev, !!cfg->wol); in aq_ethtool_set_wol()
/Linux-v5.15/drivers/net/ethernet/realtek/
D8139cp.c1327 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 …]

123456789