All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Pirko <jiri@resnulli.us>
To: alejandro.lucero-palau@amd.com
Cc: netdev@vger.kernel.org, linux-net-drivers@amd.com,
	davem@davemloft.net, kuba@kernel.org, pabeni@redhat.com,
	edumazet@google.com, habetsm.xilinx@gmail.com,
	ecree.xilinx@gmail.com, linux-doc@vger.kernel.org,
	corbet@lwn.net, jiri@nvidia.com
Subject: Re: [PATCH v5 net-next 8/8] sfc: add support for devlink port_function_hw_addr_set in ef100
Date: Thu, 2 Feb 2023 13:13:22 +0100	[thread overview]
Message-ID: <Y9uo4t2J3T87yLg4@nanopsycho> (raw)
In-Reply-To: <20230202111423.56831-9-alejandro.lucero-palau@amd.com>

Thu, Feb 02, 2023 at 12:14:23PM CET, alejandro.lucero-palau@amd.com wrote:
>From: Alejandro Lucero <alejandro.lucero-palau@amd.com>
>
>Using the builtin client handle id infrastructure, this patch adds
>support for setting the mac address linked to mports in ef100. This
>implies to execute an MCDI command for giving the address to the
>firmware for the specific devlink port.
>
>Signed-off-by: Alejandro Lucero <alejandro.lucero-palau@amd.com>

Please check my notes to the previuous patch, most of them applies on
this one as well. Couple more below.



>---
> drivers/net/ethernet/sfc/efx_devlink.c | 50 ++++++++++++++++++++++++++
> 1 file changed, 50 insertions(+)
>
>diff --git a/drivers/net/ethernet/sfc/efx_devlink.c b/drivers/net/ethernet/sfc/efx_devlink.c
>index c44547b9894e..bcb8543b43ba 100644
>--- a/drivers/net/ethernet/sfc/efx_devlink.c
>+++ b/drivers/net/ethernet/sfc/efx_devlink.c
>@@ -110,6 +110,55 @@ static int efx_devlink_port_addr_get(struct devlink_port *port, u8 *hw_addr,
> 	return rc;
> }
> 
>+static int efx_devlink_port_addr_set(struct devlink_port *port,
>+				     const u8 *hw_addr, int hw_addr_len,
>+				     struct netlink_ext_ack *extack)
>+{
>+	MCDI_DECLARE_BUF(inbuf, MC_CMD_SET_CLIENT_MAC_ADDRESSES_IN_LEN(1));
>+	struct efx_devlink *devlink = devlink_priv(port->devlink);
>+	struct mae_mport_desc *mport_desc;
>+	efx_qword_t pciefn;
>+	u32 client_id;
>+	int rc;
>+
>+	mport_desc = container_of(port, struct mae_mport_desc, dl_port);
>+
>+	if (!ef100_mport_is_vf(mport_desc)) {
>+		NL_SET_ERR_MSG_FMT(extack,
>+				   "port mac change not allowed (mport: %u)",

"Port" with "P"? Be consistent with extack messages.
Also "MAC", as you used that in the previous patch.



>+				   mport_desc->mport_id);
>+		return -EPERM;
>+	}
>+
>+	EFX_POPULATE_QWORD_3(pciefn,
>+			     PCIE_FUNCTION_PF, PCIE_FUNCTION_PF_NULL,
>+			     PCIE_FUNCTION_VF, mport_desc->vf_idx,
>+			     PCIE_FUNCTION_INTF, PCIE_INTERFACE_CALLER);
>+
>+	rc = efx_ef100_lookup_client_id(devlink->efx, pciefn, &client_id);
>+	if (rc) {
>+		NL_SET_ERR_MSG_FMT(extack,
>+				   "No internal client_ID for port (mport: %u)",
>+				   mport_desc->mport_id);
>+		return rc;
>+	}
>+
>+	MCDI_SET_DWORD(inbuf, SET_CLIENT_MAC_ADDRESSES_IN_CLIENT_HANDLE,
>+		       client_id);
>+
>+	ether_addr_copy(MCDI_PTR(inbuf, SET_CLIENT_MAC_ADDRESSES_IN_MAC_ADDRS),
>+			hw_addr);
>+
>+	rc = efx_mcdi_rpc(devlink->efx, MC_CMD_SET_CLIENT_MAC_ADDRESSES, inbuf,
>+			  sizeof(inbuf), NULL, 0, NULL);
>+	if (rc)
>+		NL_SET_ERR_MSG_FMT(extack,
>+				   "sfc MC_CMD_SET_CLIENT_MAC_ADDRESSES mcdi error (mport: %u)",

I have no clue why to put name of the driver in the extack. Don't do it.
Also, what does "MC_CMD_SET_CLIENT_MAC_ADDRESSES" tell to the user?


>+				   mport_desc->mport_id);
>+
>+	return rc;
>+}
>+
> #endif
> 
> static int efx_devlink_info_nvram_partition(struct efx_nic *efx,
>@@ -574,6 +623,7 @@ static const struct devlink_ops sfc_devlink_ops = {
> 	.info_get			= efx_devlink_info_get,
> #ifdef CONFIG_SFC_SRIOV
> 	.port_function_hw_addr_get	= efx_devlink_port_addr_get,
>+	.port_function_hw_addr_set	= efx_devlink_port_addr_set,
> #endif
> };
> 
>-- 
>2.17.1
>

  reply	other threads:[~2023-02-02 12:13 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-02 11:14 [PATCH v5 net-next 0/8] sfc: devlink support for ef100 alejandro.lucero-palau
2023-02-02 11:14 ` [PATCH v5 net-next 1/8] sfc: add " alejandro.lucero-palau
2023-02-02 11:50   ` Jiri Pirko
2023-02-06 12:00   ` Edward Cree
2023-02-07 14:21     ` Lucero Palau, Alejandro
2023-02-02 11:14 ` [PATCH v5 net-next 2/8] sfc: add devlink info " alejandro.lucero-palau
2023-02-02 11:58   ` Jiri Pirko
2023-02-07 14:42     ` Lucero Palau, Alejandro
2023-02-07 14:58       ` Jiri Pirko
2023-02-07 15:10         ` Lucero Palau, Alejandro
2023-02-07 17:24           ` Lucero Palau, Alejandro
2023-02-08  7:35             ` Jiri Pirko
2023-02-08  8:53               ` Lucero Palau, Alejandro
2023-02-03  2:37   ` kernel test robot
2023-02-03 11:38   ` kernel test robot
2023-02-02 11:14 ` [PATCH v5 net-next 3/8] sfc: enumerate mports in ef100 alejandro.lucero-palau
2023-02-06 12:38   ` Edward Cree
2023-02-07 15:14     ` Lucero Palau, Alejandro
2023-02-02 11:14 ` [PATCH v5 net-next 4/8] sfc: add mport lookup based on driver's mport data alejandro.lucero-palau
2023-02-02 11:14 ` [PATCH v5 net-next 5/8] sfc: add devlink port support for ef100 alejandro.lucero-palau
2023-02-02 12:01   ` Jiri Pirko
2023-02-06 14:02   ` Edward Cree
2023-02-07 15:20     ` Lucero Palau, Alejandro
2023-02-02 11:14 ` [PATCH v5 net-next 6/8] sfc: obtain device mac address based on firmware handle " alejandro.lucero-palau
2023-02-02 11:14 ` [PATCH v5 net-next 7/8] sfc: add support for devlink port_function_hw_addr_get in ef100 alejandro.lucero-palau
2023-02-02 12:09   ` Jiri Pirko
2023-02-07 15:01     ` Lucero Palau, Alejandro
2023-02-08  8:50       ` Lucero Palau, Alejandro
2023-02-02 11:14 ` [PATCH v5 net-next 8/8] sfc: add support for devlink port_function_hw_addr_set " alejandro.lucero-palau
2023-02-02 12:13   ` Jiri Pirko [this message]
2023-02-07 15:06     ` Lucero Palau, Alejandro

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=Y9uo4t2J3T87yLg4@nanopsycho \
    --to=jiri@resnulli.us \
    --cc=alejandro.lucero-palau@amd.com \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=ecree.xilinx@gmail.com \
    --cc=edumazet@google.com \
    --cc=habetsm.xilinx@gmail.com \
    --cc=jiri@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-net-drivers@amd.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.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.