/linux-6.6.21/net/ethtool/ |
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-6.6.21/drivers/net/wireless/marvell/mwifiex/ |
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-6.6.21/drivers/net/ethernet/wangxun/ngbe/ |
D | ngbe_ethtool.c | 13 struct ethtool_wolinfo *wol) in ngbe_get_wol() argument 19 wol->supported = WAKE_MAGIC; in ngbe_get_wol() 20 wol->wolopts = 0; in ngbe_get_wol() 21 if (wx->wol & WX_PSR_WKUP_CTL_MAG) in ngbe_get_wol() 22 wol->wolopts |= WAKE_MAGIC; in ngbe_get_wol() 26 struct ethtool_wolinfo *wol) in ngbe_set_wol() argument 34 wx->wol = 0; in ngbe_set_wol() 35 if (wol->wolopts & WAKE_MAGIC) in ngbe_set_wol() 36 wx->wol = WX_PSR_WKUP_CTL_MAG; in ngbe_set_wol() 37 netdev->wol_enabled = !!(wx->wol); in ngbe_set_wol() [all …]
|
/linux-6.6.21/drivers/net/ethernet/broadcom/genet/ |
D | bcmgenet_wol.c | 40 void bcmgenet_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) in bcmgenet_get_wol() argument 46 phy_ethtool_get_wol(dev->phydev, wol); in bcmgenet_get_wol() 47 if (wol->supported) in bcmgenet_get_wol() 52 wol->supported = 0; in bcmgenet_get_wol() 53 wol->wolopts = 0; in bcmgenet_get_wol() 57 wol->supported = WAKE_MAGIC | WAKE_MAGICSECURE | WAKE_FILTER; in bcmgenet_get_wol() 58 wol->wolopts = priv->wolopts; in bcmgenet_get_wol() 59 memset(wol->sopass, 0, sizeof(wol->sopass)); in bcmgenet_get_wol() 61 if (wol->wolopts & WAKE_MAGICSECURE) in bcmgenet_get_wol() 62 memcpy(wol->sopass, priv->sopass, sizeof(priv->sopass)); in bcmgenet_get_wol() [all …]
|
/linux-6.6.21/drivers/net/wireless/marvell/libertas/ |
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-6.6.21/drivers/net/phy/ |
D | dp83tc811.c | 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() 158 struct ethtool_wolinfo *wol) in dp83811_get_wol() argument 163 wol->supported = (WAKE_MAGIC | WAKE_MAGICSECURE); in dp83811_get_wol() 164 wol->wolopts = 0; in dp83811_get_wol() [all …]
|
D | dp83822.c | 124 struct ethtool_wolinfo *wol) in dp83822_set_wol() argument 130 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE)) { in dp83822_set_wol() 148 if (wol->wolopts & WAKE_MAGIC) in dp83822_set_wol() 153 if (wol->wolopts & WAKE_MAGICSECURE) { in dp83822_set_wol() 156 (wol->sopass[1] << 8) | wol->sopass[0]); in dp83822_set_wol() 159 (wol->sopass[3] << 8) | wol->sopass[2]); in dp83822_set_wol() 162 (wol->sopass[5] << 8) | wol->sopass[4]); in dp83822_set_wol() 183 struct ethtool_wolinfo *wol) in dp83822_get_wol() argument 188 wol->supported = (WAKE_MAGIC | WAKE_MAGICSECURE); in dp83822_get_wol() 189 wol->wolopts = 0; in dp83822_get_wol() [all …]
|
D | dp83869.c | 246 struct ethtool_wolinfo *wol) in dp83869_set_wol() argument 261 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE | WAKE_UCAST | in dp83869_set_wol() 266 if (wol->wolopts & WAKE_MAGIC || in dp83869_set_wol() 267 wol->wolopts & WAKE_MAGICSECURE) { in dp83869_set_wol() 296 if (wol->wolopts & WAKE_MAGICSECURE) { in dp83869_set_wol() 299 (wol->sopass[1] << 8) | wol->sopass[0]); in dp83869_set_wol() 305 (wol->sopass[3] << 8) | wol->sopass[2]); in dp83869_set_wol() 310 (wol->sopass[5] << 8) | wol->sopass[4]); in dp83869_set_wol() 319 if (wol->wolopts & WAKE_UCAST) in dp83869_set_wol() 324 if (wol->wolopts & WAKE_BCAST) in dp83869_set_wol() [all …]
|
D | dp83867.c | 192 struct ethtool_wolinfo *wol) in dp83867_set_wol() argument 201 if (wol->wolopts & (WAKE_MAGIC | WAKE_MAGICSECURE | WAKE_UCAST | in dp83867_set_wol() 206 if (wol->wolopts & WAKE_MAGIC) { in dp83867_set_wol() 224 if (wol->wolopts & WAKE_MAGICSECURE) { in dp83867_set_wol() 226 (wol->sopass[1] << 8) | wol->sopass[0]); in dp83867_set_wol() 228 (wol->sopass[3] << 8) | wol->sopass[2]); in dp83867_set_wol() 230 (wol->sopass[5] << 8) | wol->sopass[4]); in dp83867_set_wol() 237 if (wol->wolopts & WAKE_UCAST) in dp83867_set_wol() 242 if (wol->wolopts & WAKE_BCAST) in dp83867_set_wol() 258 struct ethtool_wolinfo *wol) in dp83867_get_wol() argument [all …]
|
D | smsc.c | 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 417 if ((wol->wolopts & (WAKE_ARP | WAKE_MCAST)) == in lan874x_set_wol() [all …]
|
D | bcm-phy-lib.c | 832 int bcm_phy_set_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol) in bcm_phy_set_wol() argument 843 if (wol->wolopts & ~BCM54XX_WOL_SUPPORTED_MASK) in bcm_phy_set_wol() 849 BUILD_BUG_ON(sizeof(wol->sopass) != ETH_ALEN); in bcm_phy_set_wol() 862 if (!wol->wolopts) { in bcm_phy_set_wol() 899 if (wol->wolopts & WAKE_MCAST) { in bcm_phy_set_wol() 905 if (wol->wolopts & WAKE_UCAST) { in bcm_phy_set_wol() 907 } else if (wol->wolopts & WAKE_BCAST) { in bcm_phy_set_wol() 909 } else if (wol->wolopts & WAKE_MAGICSECURE) { in bcm_phy_set_wol() 910 ether_addr_copy(da, wol->sopass); in bcm_phy_set_wol() 911 } else if (wol->wolopts & WAKE_MAGIC) { in bcm_phy_set_wol() [all …]
|
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.6.21/drivers/net/ethernet/atheros/atl1c/ |
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-6.6.21/drivers/net/ethernet/atheros/atl1e/ |
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-6.6.21/drivers/net/ethernet/oki-semi/pch_gbe/ |
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-6.6.21/drivers/net/ethernet/freescale/ |
D | ucc_geth_ethtool.c | 346 static void uec_get_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) in uec_get_wol() argument 352 wol->supported |= WAKE_PHY; in uec_get_wol() 354 wol->supported |= WAKE_MAGIC; in uec_get_wol() 356 wol->wolopts = ugeth->wol_en; in uec_get_wol() 359 static int uec_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) in uec_set_wol() argument 364 if (wol->wolopts & ~(WAKE_PHY | WAKE_MAGIC)) in uec_set_wol() 366 else if (wol->wolopts & WAKE_PHY && (!phydev || !phydev->irq)) in uec_set_wol() 368 else if (wol->wolopts & WAKE_MAGIC && !qe_alive_during_sleep()) in uec_set_wol() 371 ugeth->wol_en = wol->wolopts; in uec_set_wol()
|
/linux-6.6.21/drivers/net/ethernet/intel/e1000/ |
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-6.6.21/drivers/net/ethernet/broadcom/asp2/ |
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.6.21/drivers/net/ethernet/microchip/ |
D | lan743x_ethtool.c | 1139 struct ethtool_wolinfo *wol) in lan743x_ethtool_get_wol() argument 1143 wol->supported = 0; in lan743x_ethtool_get_wol() 1144 wol->wolopts = 0; in lan743x_ethtool_get_wol() 1147 phy_ethtool_get_wol(netdev->phydev, wol); in lan743x_ethtool_get_wol() 1149 wol->supported |= WAKE_BCAST | WAKE_UCAST | WAKE_MCAST | in lan743x_ethtool_get_wol() 1153 wol->supported |= WAKE_MAGICSECURE; in lan743x_ethtool_get_wol() 1155 wol->wolopts |= adapter->wolopts; in lan743x_ethtool_get_wol() 1157 memcpy(wol->sopass, adapter->sopass, sizeof(wol->sopass)); in lan743x_ethtool_get_wol() 1161 struct ethtool_wolinfo *wol) in lan743x_ethtool_set_wol() argument 1166 if (wol->wolopts & WAKE_UCAST) in lan743x_ethtool_set_wol() [all …]
|
/linux-6.6.21/drivers/net/ethernet/intel/e1000e/ |
D | ethtool.c | 1912 struct ethtool_wolinfo *wol) in e1000_get_wol() argument 1916 wol->supported = 0; in e1000_get_wol() 1917 wol->wolopts = 0; in e1000_get_wol() 1923 wol->supported = WAKE_UCAST | WAKE_MCAST | in e1000_get_wol() 1928 wol->supported &= ~WAKE_UCAST; in e1000_get_wol() 1930 if (adapter->wol & E1000_WUFC_EX) in e1000_get_wol() 1934 if (adapter->wol & E1000_WUFC_EX) in e1000_get_wol() 1935 wol->wolopts |= WAKE_UCAST; in e1000_get_wol() 1936 if (adapter->wol & E1000_WUFC_MC) in e1000_get_wol() 1937 wol->wolopts |= WAKE_MCAST; in e1000_get_wol() [all …]
|
/linux-6.6.21/drivers/net/ethernet/intel/igc/ |
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-6.6.21/drivers/net/ethernet/sfc/siena/ |
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.6.21/drivers/net/ethernet/sfc/ |
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.6.21/drivers/net/ethernet/socionext/ |
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-6.6.21/drivers/staging/qlge/ |
D | qlge_ethtool.c | 430 static void qlge_get_wol(struct net_device *ndev, struct ethtool_wolinfo *wol) in qlge_get_wol() argument 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 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()
|