From: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
To: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org, jacob.e.keller@intel.com,
michal.kubiak@intel.com, maciej.fijalkowski@intel.com,
sridhar.samudrala@intel.com, przemyslaw.kitszel@intel.com,
wojciech.drewek@intel.com, pio.raczynski@gmail.com,
jiri@nvidia.com, mateusz.polchlopek@intel.com, shayd@nvidia.com
Subject: [iwl-next v2 11/15] ice: check if SF is ready in ethtool ops
Date: Mon, 13 May 2024 10:37:31 +0200 [thread overview]
Message-ID: <20240513083735.54791-12-michal.swiatkowski@linux.intel.com> (raw)
In-Reply-To: <20240513083735.54791-1-michal.swiatkowski@linux.intel.com>
Now there is another type of port representor. Correct checking if
parent device is ready to reflect also new PR type.
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
---
drivers/net/ethernet/intel/ice/ice_ethtool.c | 7 +++----
drivers/net/ethernet/intel/ice/ice_repr.c | 12 ++++++++++++
drivers/net/ethernet/intel/ice/ice_repr.h | 1 +
3 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c
index d91f41f61bce..3f0bf07ea126 100644
--- a/drivers/net/ethernet/intel/ice/ice_ethtool.c
+++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c
@@ -4070,7 +4070,7 @@ ice_repr_get_drvinfo(struct net_device *netdev,
{
struct ice_repr *repr = ice_netdev_to_repr(netdev);
- if (ice_check_vf_ready_for_cfg(repr->vf))
+ if (repr->ops.ready(repr))
return;
__ice_get_drvinfo(netdev, drvinfo, repr->src_vsi);
@@ -4082,8 +4082,7 @@ ice_repr_get_strings(struct net_device *netdev, u32 stringset, u8 *data)
struct ice_repr *repr = ice_netdev_to_repr(netdev);
/* for port representors only ETH_SS_STATS is supported */
- if (ice_check_vf_ready_for_cfg(repr->vf) ||
- stringset != ETH_SS_STATS)
+ if (repr->ops.ready(repr) || stringset != ETH_SS_STATS)
return;
__ice_get_strings(netdev, stringset, data, repr->src_vsi);
@@ -4096,7 +4095,7 @@ ice_repr_get_ethtool_stats(struct net_device *netdev,
{
struct ice_repr *repr = ice_netdev_to_repr(netdev);
- if (ice_check_vf_ready_for_cfg(repr->vf))
+ if (repr->ops.ready(repr))
return;
__ice_get_ethtool_stats(netdev, stats, data, repr->src_vsi);
diff --git a/drivers/net/ethernet/intel/ice/ice_repr.c b/drivers/net/ethernet/intel/ice/ice_repr.c
index 5ea8b512c421..229831fe2cd2 100644
--- a/drivers/net/ethernet/intel/ice/ice_repr.c
+++ b/drivers/net/ethernet/intel/ice/ice_repr.c
@@ -283,6 +283,16 @@ ice_repr_reg_netdev(struct net_device *netdev)
return register_netdev(netdev);
}
+static int ice_repr_ready_vf(struct ice_repr *repr)
+{
+ return !ice_check_vf_ready_for_cfg(repr->vf);
+}
+
+static int ice_repr_ready_sf(struct ice_repr *repr)
+{
+ return !repr->sf->active;
+}
+
/**
* ice_repr_destroy - remove representor from VF
* @repr: pointer to representor structure
@@ -420,6 +430,7 @@ struct ice_repr *ice_repr_create_vf(struct ice_vf *vf)
repr->vf = vf;
repr->ops.add = ice_repr_add_vf;
repr->ops.rem = ice_repr_rem_vf;
+ repr->ops.ready = ice_repr_ready_vf;
ether_addr_copy(repr->parent_mac, vf->hw_lan_addr);
@@ -466,6 +477,7 @@ struct ice_repr *ice_repr_create_sf(struct ice_dynamic_port *sf)
repr->sf = sf;
repr->ops.add = ice_repr_add_sf;
repr->ops.rem = ice_repr_rem_sf;
+ repr->ops.ready = ice_repr_ready_sf;
ether_addr_copy(repr->parent_mac, sf->hw_addr);
diff --git a/drivers/net/ethernet/intel/ice/ice_repr.h b/drivers/net/ethernet/intel/ice/ice_repr.h
index dcba07899877..27def65614f3 100644
--- a/drivers/net/ethernet/intel/ice/ice_repr.h
+++ b/drivers/net/ethernet/intel/ice/ice_repr.h
@@ -36,6 +36,7 @@ struct ice_repr {
struct {
int (*add)(struct ice_repr *repr);
void (*rem)(struct ice_repr *repr);
+ int (*ready)(struct ice_repr *repr);
} ops;
};
--
2.42.0
next prev parent reply other threads:[~2024-05-13 8:33 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-13 8:37 [iwl-next v2 00/15] ice: support devlink subfunction Michal Swiatkowski
2024-05-13 8:37 ` [iwl-next v2 01/15] ice: add new VSI type for subfunctions Michal Swiatkowski
2024-05-13 8:37 ` [iwl-next v2 02/15] ice: export ice ndo_ops functions Michal Swiatkowski
2024-05-13 8:37 ` [iwl-next v2 03/15] ice: add basic devlink subfunctions support Michal Swiatkowski
2024-05-13 11:04 ` Jiri Pirko
2024-05-13 11:44 ` Michal Swiatkowski
2024-05-13 21:40 ` Keller, Jacob E
2024-05-14 8:09 ` Jiri Pirko
2024-05-13 16:05 ` Simon Horman
2024-05-14 6:27 ` Michal Swiatkowski
2024-05-13 8:37 ` [iwl-next v2 04/15] ice: treat subfunction VSI the same as PF VSI Michal Swiatkowski
2024-05-13 8:37 ` [iwl-next v2 05/15] ice: allocate devlink for subfunction Michal Swiatkowski
2024-05-13 9:25 ` Kalesh Anakkur Purayil
2024-05-13 10:22 ` [Intel-wired-lan] " Michal Swiatkowski
2024-05-13 12:01 ` Kalesh Anakkur Purayil
2024-05-13 21:37 ` Keller, Jacob E
2024-05-14 6:36 ` Przemek Kitszel
2024-05-13 8:37 ` [iwl-next v2 06/15] ice: base subfunction aux driver Michal Swiatkowski
2024-05-13 8:37 ` [iwl-next v2 07/15] ice: implement netdev for subfunction Michal Swiatkowski
2024-05-13 8:37 ` [iwl-next v2 08/15] ice: make reprresentor code generic Michal Swiatkowski
2024-05-13 16:09 ` Simon Horman
2024-05-14 6:27 ` Michal Swiatkowski
2024-05-13 8:37 ` [iwl-next v2 09/15] ice: create port representor for SF Michal Swiatkowski
2024-05-13 8:37 ` [iwl-next v2 10/15] ice: don't set target VSI for subfunction Michal Swiatkowski
2024-05-13 8:37 ` Michal Swiatkowski [this message]
2024-05-13 8:37 ` [iwl-next v2 12/15] ice: implement netdevice ops for SF representor Michal Swiatkowski
2024-05-13 8:37 ` [iwl-next v2 13/15] ice: support subfunction devlink Tx topology Michal Swiatkowski
2024-05-13 8:37 ` [iwl-next v2 14/15] ice: basic support for VLAN in subfunctions Michal Swiatkowski
2024-05-13 8:37 ` [iwl-next v2 15/15] ice: allow to activate and deactivate subfunction Michal Swiatkowski
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=20240513083735.54791-12-michal.swiatkowski@linux.intel.com \
--to=michal.swiatkowski@linux.intel.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=jacob.e.keller@intel.com \
--cc=jiri@nvidia.com \
--cc=maciej.fijalkowski@intel.com \
--cc=mateusz.polchlopek@intel.com \
--cc=michal.kubiak@intel.com \
--cc=netdev@vger.kernel.org \
--cc=pio.raczynski@gmail.com \
--cc=przemyslaw.kitszel@intel.com \
--cc=shayd@nvidia.com \
--cc=sridhar.samudrala@intel.com \
--cc=wojciech.drewek@intel.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).