From: Ivan Malov <ivan.malov@arknetworks.am>
To: dev@dpdk.org
Cc: Andy Moreton <andy.moreton@amd.com>,
Viacheslav Galaktionov <viacheslav.galaktionov@arknetworks.am>,
Roman Zhukov <Roman.Zhukov@arknetworks.am>,
Pieter Jansen van Vuuren <pieter.jansen-van-vuuren@amd.com>,
Stephen Hemminger <stephen@networkplumber.org>,
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Subject: [PATCH v2 2/6] common/sfc_efx/base: indicate dummy netport properties on VF
Date: Wed, 12 Aug 2026 21:10:59 +0400 [thread overview]
Message-ID: <20260812171103.8553-3-ivan.malov@arknetworks.am> (raw)
In-Reply-To: <20260812171103.8553-1-ivan.malov@arknetworks.am>
Starting with MCFW version 1.4.0.8, Medford4 adapters support the use
of the netport MCDI for port configuration by a VF; however, the MCDI
which retrieves fixed port properties is not permitted for use by VFs.
Fill in dummy values sufficient for the DPDK driver to start on a VF.
Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am>
Reviewed-by: Andy Moreton <andy.moreton@amd.com>
---
drivers/common/sfc_efx/base/efx_np.c | 26 ++++++++++++++++++++++----
1 file changed, 22 insertions(+), 4 deletions(-)
diff --git a/drivers/common/sfc_efx/base/efx_np.c b/drivers/common/sfc_efx/base/efx_np.c
index 0e1cd35591..7a30567fe0 100644
--- a/drivers/common/sfc_efx/base/efx_np.c
+++ b/drivers/common/sfc_efx/base/efx_np.c
@@ -240,6 +240,7 @@ efx_np_get_fixed_port_props(
__out_opt uint32_t *sup_cap_maskp,
__out_opt efx_qword_t *loopback_cap_maskp)
{
+ const efx_nic_cfg_t *encp = &enp->en_nic_cfg;
EFX_MCDI_DECLARE_BUF(payload,
MC_CMD_GET_FIXED_PORT_PROPERTIES_IN_LEN,
MC_CMD_GET_FIXED_PORT_PROPERTIES_OUT_V2_LEN);
@@ -247,6 +248,10 @@ efx_np_get_fixed_port_props(
efx_mcdi_req_t req;
efx_rc_t rc;
+ /* VFs do not allow access to the fixed port data. */
+ if (EFX_PCI_FUNCTION_IS_VF(encp))
+ return (0);
+
req.emr_out_length = MC_CMD_GET_FIXED_PORT_PROPERTIES_OUT_V2_LEN;
req.emr_in_length = MC_CMD_GET_FIXED_PORT_PROPERTIES_IN_LEN;
req.emr_cmd = MC_CMD_GET_FIXED_PORT_PROPERTIES;
@@ -1050,10 +1055,6 @@ efx_np_attach(
if (rc != 0)
goto fail1;
- /*
- * FIXME: This may need revisiting for VFs, which
- * don't necessarily have access to these details.
- */
rc = efx_np_get_fixed_port_props(enp, epp->ep_np_handle,
epp->ep_np_cap_data_raw, &epp->ep_phy_cap_mask,
&epp->ep_np_loopback_cap_mask);
@@ -1071,6 +1072,23 @@ efx_np_attach(
epp->ep_phy_cap_mask |= 1U << EFX_PHY_CAP_AN;
}
+ /*
+ * On VFs, 'efx_np_get_fixed_port_props' does not report any link
+ * speeds; however, 'efx_np_link_state' should provide clues as
+ * to which link speed is de facto active on the VF. Use this
+ * clue to provide accurate information to the application.
+ *
+ * Also, indicate three basic capabilities that the VF cannot
+ * manage, but that can be safely assumed to be available.
+ */
+ if (EFX_PCI_FUNCTION_IS_VF(encp)) {
+ epp->ep_phy_cap_mask = epp->ep_adv_cap_mask;
+
+ epp->ep_phy_cap_mask |= 1U << EFX_PHY_CAP_PAUSE;
+ epp->ep_phy_cap_mask |= 1U << EFX_PHY_CAP_ASYM;
+ epp->ep_phy_cap_mask |= 1U << EFX_PHY_CAP_AN;
+ }
+
#if EFSYS_OPT_LOOPBACK
efx_np_assign_loopback_props(enp);
#endif /* EFSYS_OPT_LOOPBACK */
--
2.47.3
next prev parent reply other threads:[~2026-08-12 17:11 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-11 17:50 [PATCH 0/6] common/sfc_efx/base: add Medford4 VF support Ivan Malov
2026-08-11 17:50 ` [PATCH 1/6] common/sfc_efx/base: let Medford4 PF manage VFs Ivan Malov
2026-08-11 17:50 ` [PATCH 2/6] common/sfc_efx/base: indicate dummy netport properties on VF Ivan Malov
2026-08-11 17:50 ` [PATCH 3/6] common/sfc_efx/base: skip netport event subscriptions on VFs Ivan Malov
2026-08-11 17:50 ` [PATCH 4/6] common/sfc_efx/base: deny tuning FCS and flow control to VFs Ivan Malov
2026-08-11 17:50 ` [PATCH 5/6] common/sfc_efx/base: deny periodic MAC stats delivery " Ivan Malov
2026-08-11 17:50 ` [PATCH 6/6] doc: announce VF support of AMD Solarflare X45xx family NICs Ivan Malov
2026-08-11 21:05 ` [PATCH 0/6] common/sfc_efx/base: add Medford4 VF support Stephen Hemminger
2026-08-12 17:10 ` [PATCH v2 " Ivan Malov
2026-08-12 17:10 ` [PATCH v2 1/6] common/sfc_efx/base: let Medford4 PF manage VFs Ivan Malov
2026-08-12 17:10 ` Ivan Malov [this message]
2026-08-12 17:11 ` [PATCH v2 3/6] common/sfc_efx/base: skip netport event subscriptions on VFs Ivan Malov
2026-08-12 17:11 ` [PATCH v2 4/6] common/sfc_efx/base: deny tuning FCS and flow control to VFs Ivan Malov
2026-08-12 17:11 ` [PATCH v2 5/6] common/sfc_efx/base: deny periodic MAC stats delivery " Ivan Malov
2026-08-12 17:11 ` [PATCH v2 6/6] doc: announce VF support of AMD Solarflare X45xx family NICs Ivan Malov
2026-08-16 3:27 ` [PATCH v2 0/6] common/sfc_efx/base: add Medford4 VF support Stephen Hemminger
2026-08-16 6:20 ` [PATCH v4 " Ivan Malov
2026-08-16 6:20 ` [PATCH v4 1/6] common/sfc_efx/base: let Medford4 PF manage VFs Ivan Malov
2026-08-16 6:20 ` [PATCH v4 2/6] common/sfc_efx/base: indicate dummy netport properties on VF Ivan Malov
2026-08-16 6:20 ` [PATCH v4 3/6] common/sfc_efx/base: skip netport event subscriptions on VFs Ivan Malov
2026-08-16 6:20 ` [PATCH v4 4/6] common/sfc_efx/base: deny tuning FCS and flow control to VFs Ivan Malov
2026-08-16 6:20 ` [PATCH v4 5/6] common/sfc_efx/base: deny periodic MAC stats delivery " Ivan Malov
2026-08-16 6:20 ` [PATCH v4 6/6] doc: announce VF support of AMD Solarflare X45xx family NICs Ivan Malov
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=20260812171103.8553-3-ivan.malov@arknetworks.am \
--to=ivan.malov@arknetworks.am \
--cc=Roman.Zhukov@arknetworks.am \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=andy.moreton@amd.com \
--cc=dev@dpdk.org \
--cc=pieter.jansen-van-vuuren@amd.com \
--cc=stephen@networkplumber.org \
--cc=viacheslav.galaktionov@arknetworks.am \
/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.