From: Oleksij Rempel <o.rempel@pengutronix.de>
To: Woojung Huh <woojung.huh@microchip.com>,
UNGLinuxDriver@microchip.com, Andrew Lunn <andrew@lunn.ch>,
Vivien Didelot <vivien.didelot@gmail.com>,
Florian Fainelli <f.fainelli@gmail.com>,
Vladimir Oltean <olteanv@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Wei Fang <wei.fang@nxp.com>,
Heiner Kallweit <hkallweit1@gmail.com>
Cc: Oleksij Rempel <o.rempel@pengutronix.de>,
kernel@pengutronix.de, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org, Arun.Ramadoss@microchip.com,
intel-wired-lan@lists.osuosl.org
Subject: [PATCH net-next v4 17/23] e1000e: replace EEE ethtool helpers to linkmode variants
Date: Wed, 1 Feb 2023 15:58:39 +0100 [thread overview]
Message-ID: <20230201145845.2312060-18-o.rempel@pengutronix.de> (raw)
In-Reply-To: <20230201145845.2312060-1-o.rempel@pengutronix.de>
Replace EEE ethtool helpers with linkmode variants. This will
reduce similar code snippets and prepare ethtool EEE interface to linkmode
migration.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
drivers/net/ethernet/intel/e1000e/ethtool.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/e1000e/ethtool.c b/drivers/net/ethernet/intel/e1000e/ethtool.c
index 721f86fd5802..7285e93b34ce 100644
--- a/drivers/net/ethernet/intel/e1000e/ethtool.c
+++ b/drivers/net/ethernet/intel/e1000e/ethtool.c
@@ -2188,6 +2188,9 @@ static int e1000_get_rxnfc(struct net_device *netdev,
static int e1000e_get_eee(struct net_device *netdev, struct ethtool_eee *edata)
{
struct e1000_adapter *adapter = netdev_priv(netdev);
+ __ETHTOOL_DECLARE_LINK_MODE_MASK(lm_able) = {};
+ __ETHTOOL_DECLARE_LINK_MODE_MASK(lm_adv) = {};
+ __ETHTOOL_DECLARE_LINK_MODE_MASK(lm_lp) = {};
struct e1000_hw *hw = &adapter->hw;
u16 cap_addr, lpa_addr, pcs_stat_addr, phy_data;
u32 ret_val;
@@ -2222,16 +2225,19 @@ static int e1000e_get_eee(struct net_device *netdev, struct ethtool_eee *edata)
ret_val = e1000_read_emi_reg_locked(hw, cap_addr, &phy_data);
if (ret_val)
goto release;
- edata->supported = mmd_eee_cap_to_ethtool_sup_t(phy_data);
+ mii_eee_100_10000_adv_mod_linkmode_t(lm_able, phy_data);
+ ethtool_convert_link_mode_to_legacy_u32(&edata->supported, lm_able);
/* EEE Advertised */
- edata->advertised = mmd_eee_adv_to_ethtool_adv_t(adapter->eee_advert);
+ mii_eee_100_10000_adv_mod_linkmode_t(lm_adv, adapter->eee_advert);
+ ethtool_convert_link_mode_to_legacy_u32(&edata->advertised, lm_adv);
/* EEE Link Partner Advertised */
ret_val = e1000_read_emi_reg_locked(hw, lpa_addr, &phy_data);
if (ret_val)
goto release;
- edata->lp_advertised = mmd_eee_adv_to_ethtool_adv_t(phy_data);
+ mii_eee_100_10000_adv_mod_linkmode_t(lm_lp, phy_data);
+ ethtool_convert_link_mode_to_legacy_u32(&edata->lp_advertised, lm_lp);
/* EEE PCS Status */
ret_val = e1000_read_emi_reg_locked(hw, pcs_stat_addr, &phy_data);
@@ -2264,6 +2270,7 @@ static int e1000e_get_eee(struct net_device *netdev, struct ethtool_eee *edata)
static int e1000e_set_eee(struct net_device *netdev, struct ethtool_eee *edata)
{
struct e1000_adapter *adapter = netdev_priv(netdev);
+ __ETHTOOL_DECLARE_LINK_MODE_MASK(adv) = {};
struct e1000_hw *hw = &adapter->hw;
struct ethtool_eee eee_curr;
s32 ret_val;
@@ -2287,7 +2294,8 @@ static int e1000e_set_eee(struct net_device *netdev, struct ethtool_eee *edata)
return -EINVAL;
}
- adapter->eee_advert = ethtool_adv_to_mmd_eee_adv_t(edata->advertised);
+ adv[0] = edata->advertised;
+ adapter->eee_advert = linkmode_adv_to_mii_eee_100_10000_adv_t(adv);
hw->dev_spec.ich8lan.eee_disable = !edata->eee_enabled;
--
2.30.2
next prev parent reply other threads:[~2023-02-01 14:59 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-01 14:58 [PATCH net-next v4 00/23] net: add EEE support for KSZ9477 and AR8035 with i.MX6 Oleksij Rempel
2023-02-01 14:58 ` [PATCH net-next v4 01/23] net: dsa: microchip: enable EEE support Oleksij Rempel
2023-02-04 0:14 ` Vladimir Oltean
2023-02-01 14:58 ` [PATCH net-next v4 02/23] net: phy: add genphy_c45_read_eee_abilities() function Oleksij Rempel
2023-02-01 17:12 ` Andrew Lunn
2023-02-04 0:54 ` Vladimir Oltean
2023-02-06 10:49 ` Oleksij Rempel
2023-02-06 11:22 ` Vladimir Oltean
2023-02-06 15:42 ` Andrew Lunn
2023-02-01 14:58 ` [PATCH net-next v4 03/23] net: phy: micrel: add ksz9477_get_features() Oleksij Rempel
2023-02-01 14:58 ` [PATCH net-next v4 04/23] net: phy: export phy_check_valid() function Oleksij Rempel
2023-02-01 17:15 ` Andrew Lunn
2023-02-01 14:58 ` [PATCH net-next v4 05/23] net: phy: add genphy_c45_ethtool_get/set_eee() support Oleksij Rempel
2023-02-01 17:20 ` Andrew Lunn
2023-02-01 20:18 ` Jakub Kicinski
2023-02-04 1:11 ` Vladimir Oltean
2023-02-01 14:58 ` [PATCH net-next v4 06/23] net: phy: c22: migrate to genphy_c45_write_eee_adv() Oleksij Rempel
2023-02-01 17:28 ` Andrew Lunn
2023-02-01 14:58 ` [PATCH net-next v4 07/23] net: phy: c45: " Oleksij Rempel
2023-02-01 14:58 ` [PATCH net-next v4 08/23] net: phy: migrate phy_init_eee() to genphy_c45_eee_is_active() Oleksij Rempel
2023-02-01 16:41 ` Andrew Lunn
2023-02-01 14:58 ` [PATCH net-next v4 09/23] net: phy: start using genphy_c45_ethtool_get/set_eee() Oleksij Rempel
2023-02-01 14:58 ` [PATCH net-next v4 10/23] net: phy: add driver specific get/set_eee support Oleksij Rempel
2023-02-01 14:58 ` [PATCH net-next v4 11/23] net: phy: at803x: implement ethtool access to SmartEEE functionality Oleksij Rempel
2023-02-01 14:58 ` [PATCH net-next v4 12/23] net: phy: at803x: ar8035: fix EEE support for half duplex links Oleksij Rempel
2023-02-01 14:58 ` [PATCH net-next v4 13/23] net: phy: add PHY specifica flag to signal SmartEEE support Oleksij Rempel
2023-02-01 14:58 ` [PATCH net-next v4 14/23] net: phy: at803x: add PHY_SMART_EEE flag to AR8035 Oleksij Rempel
2023-02-01 14:58 ` [PATCH net-next v4 15/23] net: phy: add phy_has_smarteee() helper Oleksij Rempel
2023-02-01 14:58 ` [PATCH net-next v4 16/23] net: fec: add support for PHYs with SmartEEE support Oleksij Rempel
2023-02-01 14:58 ` Oleksij Rempel [this message]
2023-02-01 14:58 ` [PATCH net-next v4 18/23] igb: replace EEE ethtool helpers to linkmode variants Oleksij Rempel
2023-02-01 14:58 ` [PATCH net-next v4 19/23] igc: " Oleksij Rempel
2023-02-01 14:58 ` [PATCH net-next v4 20/23] tg3: " Oleksij Rempel
2023-02-01 14:58 ` [PATCH net-next v4 21/23] r8152: " Oleksij Rempel
2023-02-01 14:58 ` [PATCH net-next v4 22/23] net: usb: ax88179_178a: " Oleksij Rempel
2023-02-01 14:58 ` [PATCH net-next v4 23/23] net: mdio: drop EEE ethtool helpers in favor " Oleksij Rempel
2023-02-04 0:13 ` [PATCH net-next v4 00/23] net: add EEE support for KSZ9477 and AR8035 with i.MX6 Vladimir Oltean
2023-02-06 5:47 ` Oleksij Rempel
2023-02-06 14:10 ` Vladimir Oltean
2023-02-06 15:39 ` Andrew Lunn
2023-02-06 18:37 ` Oleksij Rempel
2023-02-06 20:21 ` Andrew Lunn
2023-02-06 18:25 ` Oleksij Rempel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230201145845.2312060-18-o.rempel@pengutronix.de \
--to=o.rempel@pengutronix.de \
--cc=Arun.Ramadoss@microchip.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=kernel@pengutronix.de \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=vivien.didelot@gmail.com \
--cc=wei.fang@nxp.com \
--cc=woojung.huh@microchip.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).