From: Jacob Keller <jacob.e.keller@intel.com>
To: netdev@vger.kernel.org, David Miller <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>
Cc: Jacob Keller <jacob.e.keller@intel.com>,
Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com>,
Paul Menzel <pmenzel@molgen.mpg.de>
Subject: [PATCH net-next 09/11] ice: cleanup ice_find_netlist_node
Date: Thu, 19 Oct 2023 10:32:25 -0700 [thread overview]
Message-ID: <20231019173227.3175575-10-jacob.e.keller@intel.com> (raw)
In-Reply-To: <20231019173227.3175575-1-jacob.e.keller@intel.com>
The ice_find_netlist_node function was introduced in commit 8a3a565ff210
("ice: add admin commands to access cgu configuration"). Variations of this
function were reviewed concurrently on both intel-wired-lan[1][2], and
netdev [3][4]
[1]: https://lore.kernel.org/intel-wired-lan/20230913204943.1051233-7-vadim.fedorenko@linux.dev/
[2]: https://lore.kernel.org/intel-wired-lan/20230817000058.2433236-5-jacob.e.keller@intel.com/
[3]: https://lore.kernel.org/netdev/20230918212814.435688-1-anthony.l.nguyen@intel.com/
[4]: https://lore.kernel.org/netdev/20230913204943.1051233-7-vadim.fedorenko@linux.dev/
The variant I posted had a few changes due to review feedback which were
never incorporated into the DPLL series:
* Replace the references to ancient and long removed ICE_SUCCESS and
ICE_ERR_DOES_NOT_EXIST status codes in the function comment.
* Return -ENOENT instead of -ENOTBLK, as a more common way to indicate that
an entry doesn't exist.
* Avoid the use of memset() and use simple static initialization for the
cmd variable.
* Use FIELD_PREP to assign the node_type_ctx.
* Remove an unnecessary local variable to keep track of rec_node_handle,
just pass the node_handle pointer directly into ice_aq_get_netlist_node.
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
---
drivers/net/ethernet/intel/ice/ice_common.c | 30 ++++++++++-----------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c
index 8cbe63401378..377fae41bbae 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -473,41 +473,41 @@ ice_aq_get_netlist_node(struct ice_hw *hw, struct ice_aqc_get_link_topo *cmd,
* @node_part_number: node part number to look for
* @node_handle: output parameter if node found - optional
*
- * Find and return the node handle for a given node type and part number in the
- * netlist. When found ICE_SUCCESS is returned, ICE_ERR_DOES_NOT_EXIST
- * otherwise. If node_handle provided, it would be set to found node handle.
+ * Scan the netlist for a node handle of the given node type and part number.
+ *
+ * If node_handle is non-NULL it will be modified on function exit. It is only
+ * valid if the function returns zero, and should be ignored on any non-zero
+ * return value.
+ *
+ * Returns: 0 if the node is found, -ENOENT if no handle was found, and
+ * a negative error code on failure to access the AQ.
*/
static int ice_find_netlist_node(struct ice_hw *hw, u8 node_type_ctx,
u8 node_part_number, u16 *node_handle)
{
- struct ice_aqc_get_link_topo cmd;
- u8 rec_node_part_number;
- u16 rec_node_handle;
u8 idx;
for (idx = 0; idx < ICE_MAX_NETLIST_SIZE; idx++) {
+ struct ice_aqc_get_link_topo cmd = {};
+ u8 rec_node_part_number;
int status;
- memset(&cmd, 0, sizeof(cmd));
-
cmd.addr.topo_params.node_type_ctx =
- (node_type_ctx << ICE_AQC_LINK_TOPO_NODE_TYPE_S);
+ FIELD_PREP(ICE_AQC_LINK_TOPO_NODE_TYPE_M,
+ node_type_ctx);
cmd.addr.topo_params.index = idx;
status = ice_aq_get_netlist_node(hw, &cmd,
&rec_node_part_number,
- &rec_node_handle);
+ node_handle);
if (status)
return status;
- if (rec_node_part_number == node_part_number) {
- if (node_handle)
- *node_handle = rec_node_handle;
+ if (rec_node_part_number == node_part_number)
return 0;
- }
}
- return -ENOTBLK;
+ return -ENOENT;
}
/**
--
2.41.0
next prev parent reply other threads:[~2023-10-19 17:32 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-19 17:32 [PATCH net-next 00/11] Intel Wired LAN Driver Updates 2023-10-19 (ice, igb, ixgbe) Jacob Keller
2023-10-19 17:32 ` [PATCH net-next 01/11] ice: remove unused ice_flow_entry fields Jacob Keller
2023-10-19 17:32 ` [PATCH net-next 02/11] ice: add drop rule matching on not active lport Jacob Keller
2023-10-19 17:32 ` [PATCH net-next 03/11] ice: store VF's pci_dev ptr in ice_vf Jacob Keller
2023-10-19 17:32 ` [PATCH net-next 04/11] ice: implement num_msix field per VF Jacob Keller
2023-10-19 17:32 ` [PATCH net-next 05/11] ice: add bitmap to track VF MSI-X usage Jacob Keller
2023-10-19 17:32 ` [PATCH net-next 06/11] ice: set MSI-X vector count on VF Jacob Keller
2023-10-19 17:32 ` [PATCH net-next 07/11] ice: manage VFs MSI-X using resource tracking Jacob Keller
2023-10-19 17:32 ` [PATCH net-next 08/11] ice: make ice_get_pf_c827_idx static Jacob Keller
2023-10-19 17:32 ` Jacob Keller [this message]
2023-10-19 20:37 ` [PATCH net-next 09/11] ice: cleanup ice_find_netlist_node Przemek Kitszel
2023-10-19 17:32 ` [PATCH net-next 10/11] igb: Fix an end of loop test Jacob Keller
2023-10-19 17:32 ` [PATCH net-next 11/11] ixgbe: fix end of loop test in ixgbe_set_vf_macvlan() Jacob Keller
2023-10-20 12:00 ` [PATCH net-next 00/11] Intel Wired LAN Driver Updates 2023-10-19 (ice, igb, ixgbe) patchwork-bot+netdevbpf
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=20231019173227.3175575-10-jacob.e.keller@intel.com \
--to=jacob.e.keller@intel.com \
--cc=davem@davemloft.net \
--cc=himasekharx.reddy.pucha@intel.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pmenzel@molgen.mpg.de \
/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).