From: Przemek Kitszel <przemyslaw.kitszel@intel.com>
To: Jacob Keller <jacob.e.keller@intel.com>
Cc: Jesse Brandeburg <jbrandeburg@cloudflare.com>,
Jakub Kicinski <kuba@kernel.org>,
Hariprasad Kelam <hkelam@marvell.com>,
Simon Horman <horms@kernel.org>,
Marcin Szycik <marcin.szycik@linux.intel.com>,
"Rahul Rameshbabu" <rrameshbabu@nvidia.com>,
<netdev@vger.kernel.org>, <intel-wired-lan@lists.osuosl.org>,
<linux-doc@vger.kernel.org>, <corbet@lwn.net>
Subject: Re: [Intel-wired-lan] [PATCH v3 5/5] ice: refactor to use helpers
Date: Fri, 12 Sep 2025 09:46:32 +0200 [thread overview]
Message-ID: <95c067ea-6c48-4a94-8f76-ae4cdbdfabeb@intel.com> (raw)
In-Reply-To: <20250911-resend-jbrandeb-ice-standard-stats-v3-5-1bcffd157aa5@intel.com>
On 9/12/25 01:40, Jacob Keller wrote:
> From: Jesse Brandeburg <jesse.brandeburg@intel.com>
>
> Use the ice_netdev_to_pf() helper in more places and remove a bunch of
> boilerplate code. Not every instance could be replaced due to use of the
> netdev_priv() output or the vsi variable within a bunch of functions.
>
> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
no controversies here :)
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
(assuming this is for iwl-next)
> ---
> drivers/net/ethernet/intel/ice/ice_ethtool.c | 48 ++++++++------------------
> drivers/net/ethernet/intel/ice/ice_flex_pipe.c | 8 ++---
> drivers/net/ethernet/intel/ice/ice_lag.c | 3 +-
> drivers/net/ethernet/intel/ice/ice_main.c | 10 ++----
> drivers/net/ethernet/intel/ice/ice_ptp.c | 6 ++--
> drivers/net/ethernet/intel/ice/ice_sriov.c | 3 +-
> 6 files changed, 24 insertions(+), 54 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c
> index f8bb2d55b28c..0b99a7b863d8 100644
> --- a/drivers/net/ethernet/intel/ice/ice_ethtool.c
> +++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c
> @@ -794,8 +794,7 @@ static int ice_get_extended_regs(struct net_device *netdev, void *p)
> static void
> ice_get_regs(struct net_device *netdev, struct ethtool_regs *regs, void *p)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_pf *pf = np->vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
> struct ice_hw *hw = &pf->hw;
> u32 *regs_buf = (u32 *)p;
> unsigned int i;
> @@ -810,8 +809,7 @@ ice_get_regs(struct net_device *netdev, struct ethtool_regs *regs, void *p)
>
> static u32 ice_get_msglevel(struct net_device *netdev)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_pf *pf = np->vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
>
> #ifndef CONFIG_DYNAMIC_DEBUG
> if (pf->hw.debug_mask)
> @@ -824,8 +822,7 @@ static u32 ice_get_msglevel(struct net_device *netdev)
>
> static void ice_set_msglevel(struct net_device *netdev, u32 data)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_pf *pf = np->vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
>
> #ifndef CONFIG_DYNAMIC_DEBUG
> if (ICE_DBG_USER & data)
> @@ -840,16 +837,14 @@ static void ice_set_msglevel(struct net_device *netdev, u32 data)
> static void ice_get_link_ext_stats(struct net_device *netdev,
> struct ethtool_link_ext_stats *stats)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_pf *pf = np->vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
>
> stats->link_down_events = pf->link_down_events;
> }
>
> static int ice_get_eeprom_len(struct net_device *netdev)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_pf *pf = np->vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
>
> return (int)pf->hw.flash.flash_size;
> }
> @@ -858,9 +853,7 @@ static int
> ice_get_eeprom(struct net_device *netdev, struct ethtool_eeprom *eeprom,
> u8 *bytes)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_vsi *vsi = np->vsi;
> - struct ice_pf *pf = vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
> struct ice_hw *hw = &pf->hw;
> struct device *dev;
> int ret;
> @@ -959,8 +952,7 @@ static u64 ice_link_test(struct net_device *netdev)
> */
> static u64 ice_eeprom_test(struct net_device *netdev)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_pf *pf = np->vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
>
> netdev_info(netdev, "EEPROM test\n");
> return !!(ice_nvm_validate_checksum(&pf->hw));
> @@ -1277,9 +1269,8 @@ static int ice_lbtest_receive_frames(struct ice_rx_ring *rx_ring)
> */
> static u64 ice_loopback_test(struct net_device *netdev)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_vsi *orig_vsi = np->vsi, *test_vsi;
> - struct ice_pf *pf = orig_vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
> + struct ice_vsi *test_vsi;
> u8 *tx_frame __free(kfree) = NULL;
> u8 broadcast[ETH_ALEN], ret = 0;
> int num_frames, valid_frames;
> @@ -1368,8 +1359,7 @@ static u64 ice_loopback_test(struct net_device *netdev)
> */
> static u64 ice_intr_test(struct net_device *netdev)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_pf *pf = np->vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
> u16 swic_old = pf->sw_int_count;
>
> netdev_info(netdev, "interrupt test\n");
> @@ -1397,9 +1387,8 @@ static void
> ice_self_test(struct net_device *netdev, struct ethtool_test *eth_test,
> u64 *data)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
> bool if_running = netif_running(netdev);
> - struct ice_pf *pf = np->vsi->back;
> struct device *dev;
>
> dev = ice_pf_to_dev(pf);
> @@ -1723,9 +1712,7 @@ static int ice_nway_reset(struct net_device *netdev)
> */
> static u32 ice_get_priv_flags(struct net_device *netdev)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_vsi *vsi = np->vsi;
> - struct ice_pf *pf = vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
> u32 i, ret_flags = 0;
>
> for (i = 0; i < ICE_PRIV_FLAG_ARRAY_SIZE; i++) {
> @@ -4413,9 +4400,7 @@ static int
> ice_get_module_info(struct net_device *netdev,
> struct ethtool_modinfo *modinfo)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_vsi *vsi = np->vsi;
> - struct ice_pf *pf = vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
> struct ice_hw *hw = &pf->hw;
> u8 sff8472_comp = 0;
> u8 sff8472_swap = 0;
> @@ -4487,12 +4472,10 @@ static int
> ice_get_module_eeprom(struct net_device *netdev,
> struct ethtool_eeprom *ee, u8 *data)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
> #define SFF_READ_BLOCK_SIZE 8
> u8 value[SFF_READ_BLOCK_SIZE] = { 0 };
> u8 addr = ICE_I2C_EEPROM_DEV_ADDR;
> - struct ice_vsi *vsi = np->vsi;
> - struct ice_pf *pf = vsi->back;
> struct ice_hw *hw = &pf->hw;
> bool is_sfp = false;
> unsigned int i, j;
> @@ -4768,8 +4751,7 @@ static void ice_get_ts_stats(struct net_device *netdev,
> */
> static int ice_ethtool_reset(struct net_device *dev, u32 *flags)
> {
> - struct ice_netdev_priv *np = netdev_priv(dev);
> - struct ice_pf *pf = np->vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(dev);
> enum ice_reset_req reset;
>
> switch (*flags) {
> diff --git a/drivers/net/ethernet/intel/ice/ice_flex_pipe.c b/drivers/net/ethernet/intel/ice/ice_flex_pipe.c
> index fc94e189e52e..c2caee083ca7 100644
> --- a/drivers/net/ethernet/intel/ice/ice_flex_pipe.c
> +++ b/drivers/net/ethernet/intel/ice/ice_flex_pipe.c
> @@ -574,9 +574,7 @@ ice_destroy_tunnel(struct ice_hw *hw, u16 index, enum ice_tunnel_type type,
> int ice_udp_tunnel_set_port(struct net_device *netdev, unsigned int table,
> unsigned int idx, struct udp_tunnel_info *ti)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_vsi *vsi = np->vsi;
> - struct ice_pf *pf = vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
> enum ice_tunnel_type tnl_type;
> int status;
> u16 index;
> @@ -598,9 +596,7 @@ int ice_udp_tunnel_set_port(struct net_device *netdev, unsigned int table,
> int ice_udp_tunnel_unset_port(struct net_device *netdev, unsigned int table,
> unsigned int idx, struct udp_tunnel_info *ti)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_vsi *vsi = np->vsi;
> - struct ice_pf *pf = vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
> enum ice_tunnel_type tnl_type;
> int status;
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_lag.c b/drivers/net/ethernet/intel/ice/ice_lag.c
> index aebf8e08a297..d2576d606e10 100644
> --- a/drivers/net/ethernet/intel/ice/ice_lag.c
> +++ b/drivers/net/ethernet/intel/ice/ice_lag.c
> @@ -2177,8 +2177,7 @@ static void ice_lag_chk_disabled_bond(struct ice_lag *lag, void *ptr)
> */
> static void ice_lag_disable_sriov_bond(struct ice_lag *lag)
> {
> - struct ice_netdev_priv *np = netdev_priv(lag->netdev);
> - struct ice_pf *pf = np->vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(lag->netdev);
>
> ice_clear_feature_support(pf, ICE_F_SRIOV_LAG);
> ice_clear_feature_support(pf, ICE_F_SRIOV_AA_LAG);
> diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
> index 249fd3c050eb..9994a9479082 100644
> --- a/drivers/net/ethernet/intel/ice/ice_main.c
> +++ b/drivers/net/ethernet/intel/ice/ice_main.c
> @@ -8043,9 +8043,7 @@ static int
> ice_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
> struct net_device *dev, u32 filter_mask, int nlflags)
> {
> - struct ice_netdev_priv *np = netdev_priv(dev);
> - struct ice_vsi *vsi = np->vsi;
> - struct ice_pf *pf = vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(dev);
> u16 bmode;
>
> bmode = pf->first_sw->bridge_mode;
> @@ -8115,8 +8113,7 @@ ice_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh,
> u16 __always_unused flags,
> struct netlink_ext_ack __always_unused *extack)
> {
> - struct ice_netdev_priv *np = netdev_priv(dev);
> - struct ice_pf *pf = np->vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(dev);
> struct nlattr *attr, *br_spec;
> struct ice_hw *hw = &pf->hw;
> struct ice_sw *pf_sw;
> @@ -9550,8 +9547,7 @@ ice_indr_setup_tc_cb(struct net_device *netdev, struct Qdisc *sch,
> */
> int ice_open(struct net_device *netdev)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_pf *pf = np->vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
>
> if (ice_is_reset_in_progress(pf->state)) {
> netdev_err(netdev, "can't open net device while reset is in progress");
> diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c
> index d2ca9d7bcfc1..9b9b408c0adb 100644
> --- a/drivers/net/ethernet/intel/ice/ice_ptp.c
> +++ b/drivers/net/ethernet/intel/ice/ice_ptp.c
> @@ -2244,8 +2244,7 @@ static int ice_ptp_getcrosststamp(struct ptp_clock_info *info,
> int ice_ptp_hwtstamp_get(struct net_device *netdev,
> struct kernel_hwtstamp_config *config)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_pf *pf = np->vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
>
> if (pf->ptp.state != ICE_PTP_READY)
> return -EIO;
> @@ -2316,8 +2315,7 @@ int ice_ptp_hwtstamp_set(struct net_device *netdev,
> struct kernel_hwtstamp_config *config,
> struct netlink_ext_ack *extack)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_pf *pf = np->vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
> int err;
>
> if (pf->ptp.state != ICE_PTP_READY)
> diff --git a/drivers/net/ethernet/intel/ice/ice_sriov.c b/drivers/net/ethernet/intel/ice/ice_sriov.c
> index 843e82fd3bf9..6b1126ddb561 100644
> --- a/drivers/net/ethernet/intel/ice/ice_sriov.c
> +++ b/drivers/net/ethernet/intel/ice/ice_sriov.c
> @@ -1190,8 +1190,7 @@ ice_vf_lan_overflow_event(struct ice_pf *pf, struct ice_rq_event_info *event)
> */
> int ice_set_vf_spoofchk(struct net_device *netdev, int vf_id, bool ena)
> {
> - struct ice_netdev_priv *np = netdev_priv(netdev);
> - struct ice_pf *pf = np->vsi->back;
> + struct ice_pf *pf = ice_netdev_to_pf(netdev);
> struct ice_vsi *vf_vsi;
> struct device *dev;
> struct ice_vf *vf;
>
next prev parent reply other threads:[~2025-09-12 7:46 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-11 23:40 [Intel-wired-lan] [PATCH v3 0/5] ice: add standard stats Jacob Keller
2025-09-11 23:40 ` Jacob Keller
2025-09-11 23:40 ` [Intel-wired-lan] [PATCH v3 1/5] net: docs: add missing features that can have stats Jacob Keller
2025-09-11 23:40 ` Jacob Keller
2025-09-11 23:40 ` [Intel-wired-lan] [PATCH v3 2/5] ice: implement ethtool standard stats Jacob Keller
2025-09-11 23:40 ` Jacob Keller
2025-10-09 8:56 ` [Intel-wired-lan] " Loktionov, Aleksandr
2025-10-09 8:56 ` Loktionov, Aleksandr
2025-09-11 23:40 ` [Intel-wired-lan] [PATCH v3 3/5] ice: add tracking of good transmit timestamps Jacob Keller
2025-09-11 23:40 ` Jacob Keller
2025-10-09 8:52 ` [Intel-wired-lan] " Loktionov, Aleksandr
2025-10-09 8:52 ` Loktionov, Aleksandr
2025-09-11 23:40 ` [Intel-wired-lan] [PATCH v3 4/5] ice: implement transmit hardware timestamp statistics Jacob Keller
2025-09-11 23:40 ` Jacob Keller
2025-09-11 23:40 ` [Intel-wired-lan] [PATCH v3 5/5] ice: refactor to use helpers Jacob Keller
2025-09-11 23:40 ` Jacob Keller
2025-09-12 7:46 ` Przemek Kitszel [this message]
2025-09-15 22:26 ` [Intel-wired-lan] " Jacob Keller
2025-09-13 9:07 ` Simon Horman
2025-09-13 9:07 ` Simon Horman
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=95c067ea-6c48-4a94-8f76-ae4cdbdfabeb@intel.com \
--to=przemyslaw.kitszel@intel.com \
--cc=corbet@lwn.net \
--cc=hkelam@marvell.com \
--cc=horms@kernel.org \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=jacob.e.keller@intel.com \
--cc=jbrandeburg@cloudflare.com \
--cc=kuba@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=marcin.szycik@linux.intel.com \
--cc=netdev@vger.kernel.org \
--cc=rrameshbabu@nvidia.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.