| /linux-6.15/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() 74 &data->wol.supported, WOL_MODE_COUNT, in wol_fill_reply() 80 data->wol.sopass)) in wol_fill_reply() 113 dev->ethtool_ops->get_wol(dev, &wol); in ethnl_set_wol() 119 if (wol.wolopts & ~wol.supported) { in ethnl_set_wol() 125 if (!(wol.supported & WAKE_MAGICSECURE)) { in ethnl_set_wol() 131 ethnl_update_binary(wol.sopass, sizeof(wol.sopass), in ethnl_set_wol() [all …]
|
| /linux-6.15/drivers/net/wireless/marvell/mwifiex/ |
| H A D | ethtool.c | 11 struct ethtool_wolinfo *wol) in mwifiex_ethtool_get_wol() argument 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 40 if (wol->wolopts & WAKE_UCAST) in mwifiex_ethtool_set_wol() 42 if (wol->wolopts & WAKE_MCAST) in mwifiex_ethtool_set_wol() 44 if (wol->wolopts & WAKE_BCAST) in mwifiex_ethtool_set_wol() 46 if (wol->wolopts & WAKE_PHY) in mwifiex_ethtool_set_wol() [all …]
|
| /linux-6.15/drivers/net/ethernet/broadcom/genet/ |
| H A D | bcmgenet_wol.c | 47 phy_ethtool_get_wol(dev->phydev, wol); in bcmgenet_get_wol() 48 phy_wolopts = wol->wolopts; 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() 80 ret = phy_ethtool_set_wol(dev->phydev, wol); in bcmgenet_set_wol() 81 if (ret != -EOPNOTSUPP && wol->wolopts) in bcmgenet_set_wol() 91 if (wol->wolopts & WAKE_MAGICSECURE) in bcmgenet_set_wol() 95 if (wol->wolopts) { in bcmgenet_set_wol() [all …]
|
| /linux-6.15/drivers/net/wireless/marvell/libertas/ |
| H A D | ethtool.c | 62 struct ethtool_wolinfo *wol) in lbs_ethtool_get_wol() argument 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 90 if (wol->wolopts & WAKE_UCAST) in lbs_ethtool_set_wol() 92 if (wol->wolopts & WAKE_MCAST) in lbs_ethtool_set_wol() 94 if (wol->wolopts & WAKE_BCAST) in lbs_ethtool_set_wol() 96 if (wol->wolopts & WAKE_PHY) in lbs_ethtool_set_wol() [all …]
|
| /linux-6.15/drivers/net/phy/ |
| H A D | dp83tc811.c | 98 struct ethtool_wolinfo *wol) in dp83811_set_wol() argument 122 if (wol->wolopts & WAKE_MAGIC) 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() 158 struct ethtool_wolinfo *wol) in dp83811_get_wol() argument 164 wol->wolopts = 0; in dp83811_get_wol() 169 wol->wolopts |= WAKE_MAGIC; in dp83811_get_wol() 175 wol->sopass[1] = (sopass_val >> 8); in dp83811_get_wol() 187 wol->wolopts |= WAKE_MAGICSECURE; in dp83811_get_wol() [all …]
|
| H A D | dp83869.c | 259 struct ethtool_wolinfo *wol) in dp83869_set_wol() argument 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() 360 wol->wolopts = 0; in dp83869_get_wol() 369 wol->wolopts |= WAKE_UCAST; in dp83869_get_wol() 372 wol->wolopts |= WAKE_BCAST; in dp83869_get_wol() 375 wol->wolopts |= WAKE_MAGIC; in dp83869_get_wol() [all …]
|
| H A D | dp83822.c | 200 struct ethtool_wolinfo wol; member 232 if (wol->wolopts & WAKE_MAGIC) in dp83822_config_wol() 240 (wol->sopass[1] << 8) | wol->sopass[0]); in dp83822_config_wol() 243 (wol->sopass[3] << 8) | wol->sopass[2]); in dp83822_config_wol() 246 (wol->sopass[5] << 8) | wol->sopass[4]); in dp83822_config_wol() 270 struct ethtool_wolinfo *wol) in dp83822_set_wol() argument 277 memcpy(&dp83822->wol, wol, sizeof(*wol)); in dp83822_set_wol() 282 struct ethtool_wolinfo *wol) in dp83822_get_wol() argument 288 wol->wolopts = 0; in dp83822_get_wol() 293 wol->wolopts |= WAKE_MAGIC; in dp83822_get_wol() [all …]
|
| H A D | dp83867.c | 210 struct ethtool_wolinfo *wol) in dp83867_set_wol() argument 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() 282 wol->wolopts = 0; in dp83867_get_wol() 287 wol->wolopts |= WAKE_UCAST; in dp83867_get_wol() 290 wol->wolopts |= WAKE_BCAST; in dp83867_get_wol() 293 wol->wolopts |= WAKE_MAGIC; in dp83867_get_wol() [all …]
|
| H A D | smsc.c | 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() 430 if (wol->wolopts & WAKE_UCAST) in lan874x_set_wol() 435 if (wol->wolopts & WAKE_BCAST) in lan874x_set_wol() 440 if (wol->wolopts & WAKE_MAGIC) in lan874x_set_wol() 451 if (wol->wolopts & WAKE_ARP) { in lan874x_set_wol() [all …]
|
| H A D | bcm-phy-lib.c | 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() 952 ether_addr_copy(da, wol->sopass); in bcm_phy_set_wol() 987 if (wol->wolopts & WAKE_MAGIC) in bcm_phy_set_wol() 1033 wol->wolopts = 0; in bcm_phy_get_wol() 1056 wol->wolopts |= WAKE_BCAST; in bcm_phy_get_wol() 1058 wol->wolopts |= WAKE_MCAST; in bcm_phy_get_wol() 1060 wol->wolopts |= WAKE_UCAST; in bcm_phy_get_wol() 1065 wol->wolopts |= WAKE_MAGIC; in bcm_phy_get_wol() [all …]
|
| H A D | meson-gxl.c | 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.15/drivers/net/ethernet/atheros/atl1c/ |
| H A D | atl1c_ethtool.c | 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() 241 wol->wolopts |= WAKE_BCAST; in atl1c_get_wol() 243 wol->wolopts |= WAKE_MAGIC; in atl1c_get_wol() 245 wol->wolopts |= WAKE_PHY; in atl1c_get_wol() 256 adapter->wol = 0; in atl1c_set_wol() 259 adapter->wol |= AT_WUFC_MAG; in atl1c_set_wol() [all …]
|
| /linux-6.15/drivers/net/ethernet/atheros/atl1e/ |
| H A D | atl1e_ethtool.c | 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() 328 wol->wolopts |= WAKE_BCAST; in atl1e_get_wol() 330 wol->wolopts |= WAKE_MAGIC; in atl1e_get_wol() 332 wol->wolopts |= WAKE_PHY; in atl1e_get_wol() 343 adapter->wol = 0; in atl1e_set_wol() 346 adapter->wol |= AT_WUFC_MAG; in atl1e_set_wol() [all …]
|
| /linux-6.15/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-6.15/drivers/net/ethernet/freescale/ |
| H A D | ucc_geth_ethtool.c | 309 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() 340 wol->wolopts & ~WAKE_MAGIC) in uec_set_wol() 343 if (wol->wolopts & WAKE_MAGIC && in uec_set_wol() 348 ugeth->wol_en = wol->wolopts; in uec_set_wol()
|
| /linux-6.15/drivers/net/ethernet/microchip/ |
| H A D | lan743x_ethtool.c | 1093 wol->supported = 0; in lan743x_ethtool_get_wol() 1094 wol->wolopts = 0; in lan743x_ethtool_get_wol() 1110 memcpy(wol->sopass, adapter->sopass, sizeof(wol->sopass)); in lan743x_ethtool_get_wol() 1121 if ((wol->wolopts & WAKE_MAGICSECURE) && !(wol->wolopts & WAKE_MAGIC)) in lan743x_ethtool_set_wol() 1151 if (wol->wolopts & WAKE_UCAST) in lan743x_ethtool_set_wol() 1153 if (wol->wolopts & WAKE_MCAST) in lan743x_ethtool_set_wol() 1155 if (wol->wolopts & WAKE_BCAST) in lan743x_ethtool_set_wol() 1157 if (wol->wolopts & WAKE_MAGIC) in lan743x_ethtool_set_wol() 1159 if (wol->wolopts & WAKE_PHY) in lan743x_ethtool_set_wol() 1161 if (wol->wolopts & WAKE_ARP) in lan743x_ethtool_set_wol() [all …]
|
| /linux-6.15/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 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 244 if ((wol->wolopts & WAKE_UCAST)) in pch_gbe_set_wol() 246 if ((wol->wolopts & WAKE_MCAST)) in pch_gbe_set_wol() 248 if ((wol->wolopts & WAKE_BCAST)) in pch_gbe_set_wol() [all …]
|
| /linux-6.15/drivers/net/ethernet/broadcom/asp2/ |
| H A D | bcmasp_ethtool.c | 191 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.15/drivers/net/ethernet/intel/e1000/ |
| H A D | e1000_ethtool.c | 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() 1645 wol->wolopts = 0; in e1000_get_wol() 1669 wol->wolopts |= WAKE_UCAST; in e1000_get_wol() 1671 wol->wolopts |= WAKE_MCAST; in e1000_get_wol() 1673 wol->wolopts |= WAKE_BCAST; in e1000_get_wol() 1675 wol->wolopts |= WAKE_MAGIC; in e1000_get_wol() 1703 adapter->wol = 0; in e1000_set_wol() [all …]
|
| /linux-6.15/drivers/net/ethernet/intel/e1000e/ |
| H A D | ethtool.c | 1887 wol->supported = 0; in e1000_get_wol() 1888 wol->wolopts = 0; in e1000_get_wol() 1906 wol->wolopts |= WAKE_UCAST; in e1000_get_wol() 1908 wol->wolopts |= WAKE_MCAST; in e1000_get_wol() 1910 wol->wolopts |= WAKE_BCAST; in e1000_get_wol() 1912 wol->wolopts |= WAKE_MAGIC; in e1000_get_wol() 1914 wol->wolopts |= WAKE_PHY; in e1000_get_wol() 1928 adapter->wol = 0; in e1000_set_wol() 1930 if (wol->wolopts & WAKE_UCAST) in e1000_set_wol() 1932 if (wol->wolopts & WAKE_MCAST) in e1000_set_wol() [all …]
|
| /linux-6.15/drivers/net/ethernet/intel/igc/ |
| H A D | igc_ethtool.c | 354 wol->wolopts = 0; in igc_ethtool_get_wol() 370 wol->wolopts |= WAKE_UCAST; in igc_ethtool_get_wol() 372 wol->wolopts |= WAKE_MCAST; in igc_ethtool_get_wol() 374 wol->wolopts |= WAKE_BCAST; in igc_ethtool_get_wol() 376 wol->wolopts |= WAKE_MAGIC; in igc_ethtool_get_wol() 378 wol->wolopts |= WAKE_PHY; in igc_ethtool_get_wol() 393 adapter->wol = 0; in igc_ethtool_set_wol() 396 adapter->wol |= IGC_WUFC_EX; in igc_ethtool_set_wol() 398 adapter->wol |= IGC_WUFC_MC; in igc_ethtool_set_wol() 400 adapter->wol |= IGC_WUFC_BC; in igc_ethtool_set_wol() [all …]
|
| /linux-6.15/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-6.15/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-6.15/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() 429 struct ethtool_wolinfo *wol) in __ave_ethtool_set_wol() argument 1221 ave_ethtool_get_wol(ndev, &wol); in ave_init() 1225 wol.wolopts = 0; in ave_init() 1226 __ave_ethtool_set_wol(ndev, &wol); in ave_init() 1745 ave_ethtool_get_wol(ndev, &wol); in ave_suspend() 1746 priv->wolopts = wol.wolopts; in ave_suspend() 1764 ave_ethtool_get_wol(ndev, &wol); in ave_resume() [all …]
|
| /linux-6.15/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()
|