* [PATCH] net/ixgbe: fix VF link status for E610
@ 2026-09-27 17:52 Sandeep Penigalapati
2026-10-06 10:38 ` Burakov, Anatoly
0 siblings, 1 reply; 3+ messages in thread
From: Sandeep Penigalapati @ 2026-09-27 17:52 UTC (permalink / raw)
To: dev
Cc: Anatoly Burakov, Vladimir Medvedkin, Jedrzej Jagielski,
Andrzej Wilczynski, Bruce Richardson, stable,
Sandeep Penigalapati
E610 VFs report a wrong link speed (e.g. 10G while the PF is at 1G)
because the speed is decoded from the VFLINKS register, which E610 does
not use for VF link state.
Commit adbd71030575 ("net/ixgbe/base: fix link status for E610") added a
mailbox operation to fetch the link state from the PF and bumped the VF
mailbox API to 1.6, but the PMD never used it: ixgbevf_negotiate_api()
caps the API at 1.3 and ixgbevf_check_link() reads VFLINKS instead of the
base helper.
Negotiate the mailbox API up to 1.6 and query the PF for the link state
on E610 VFs. Other MAC types are unchanged.
Fixes: adbd71030575 ("net/ixgbe/base: fix link status for E610")
Cc: stable@dpdk.org
Signed-off-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
---
drivers/net/intel/ixgbe/ixgbe_ethdev.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/drivers/net/intel/ixgbe/ixgbe_ethdev.c b/drivers/net/intel/ixgbe/ixgbe_ethdev.c
index 284df77023..78e19f94c0 100644
--- a/drivers/net/intel/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/intel/ixgbe/ixgbe_ethdev.c
@@ -1470,6 +1470,9 @@ ixgbevf_negotiate_api(struct ixgbe_hw *hw)
/* start with highest supported, proceed down */
static const enum ixgbe_pfvf_api_rev sup_ver[] = {
+ ixgbe_mbox_api_16,
+ ixgbe_mbox_api_15,
+ ixgbe_mbox_api_14,
ixgbe_mbox_api_13,
ixgbe_mbox_api_12,
ixgbe_mbox_api_11,
@@ -4133,6 +4136,18 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
if (!mac->get_link_status)
goto out;
+ /* E610 VF reads link state from the PF over the mailbox */
+ if (hw->mac.type == ixgbe_mac_E610_vf) {
+ ret_val = ixgbevf_get_pf_link_state(hw, speed, link_up);
+ if (ret_val) {
+ *speed = IXGBE_LINK_SPEED_UNKNOWN;
+ mac->get_link_status = true;
+ } else {
+ mac->get_link_status = !(*link_up);
+ }
+ goto out;
+ }
+
/* if link status is down no point in checking to see if pf is up */
links_reg = IXGBE_READ_REG(hw, IXGBE_VFLINKS);
if (!(links_reg & IXGBE_LINKS_UP))
--
2.27.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] net/ixgbe: fix VF link status for E610
2026-09-27 17:52 [PATCH] net/ixgbe: fix VF link status for E610 Sandeep Penigalapati
@ 2026-10-06 10:38 ` Burakov, Anatoly
2026-10-06 11:00 ` Bruce Richardson
0 siblings, 1 reply; 3+ messages in thread
From: Burakov, Anatoly @ 2026-10-06 10:38 UTC (permalink / raw)
To: Sandeep Penigalapati, dev
Cc: Vladimir Medvedkin, Jedrzej Jagielski, Andrzej Wilczynski,
Bruce Richardson, stable
On 9/27/2026 7:52 PM, Sandeep Penigalapati wrote:
> E610 VFs report a wrong link speed (e.g. 10G while the PF is at 1G)
> because the speed is decoded from the VFLINKS register, which E610 does
> not use for VF link state.
>
> Commit adbd71030575 ("net/ixgbe/base: fix link status for E610") added a
> mailbox operation to fetch the link state from the PF and bumped the VF
> mailbox API to 1.6, but the PMD never used it: ixgbevf_negotiate_api()
> caps the API at 1.3 and ixgbevf_check_link() reads VFLINKS instead of the
> base helper.
>
> Negotiate the mailbox API up to 1.6 and query the PF for the link state
> on E610 VFs. Other MAC types are unchanged.
>
> Fixes: adbd71030575 ("net/ixgbe/base: fix link status for E610")
> Cc: stable@dpdk.org
> Signed-off-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
> ---
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
--
Thanks,
Anatoly
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] net/ixgbe: fix VF link status for E610
2026-10-06 10:38 ` Burakov, Anatoly
@ 2026-10-06 11:00 ` Bruce Richardson
0 siblings, 0 replies; 3+ messages in thread
From: Bruce Richardson @ 2026-10-06 11:00 UTC (permalink / raw)
To: Burakov, Anatoly
Cc: Sandeep Penigalapati, dev, Vladimir Medvedkin, Jedrzej Jagielski,
Andrzej Wilczynski, stable
On Tue, Oct 06, 2026 at 12:38:48PM +0200, Burakov, Anatoly wrote:
> On 9/27/2026 7:52 PM, Sandeep Penigalapati wrote:
> > E610 VFs report a wrong link speed (e.g. 10G while the PF is at 1G)
> > because the speed is decoded from the VFLINKS register, which E610 does
> > not use for VF link state.
> >
> > Commit adbd71030575 ("net/ixgbe/base: fix link status for E610") added a
> > mailbox operation to fetch the link state from the PF and bumped the VF
> > mailbox API to 1.6, but the PMD never used it: ixgbevf_negotiate_api()
> > caps the API at 1.3 and ixgbevf_check_link() reads VFLINKS instead of the
> > base helper.
> >
> > Negotiate the mailbox API up to 1.6 and query the PF for the link state
> > on E610 VFs. Other MAC types are unchanged.
> >
> > Fixes: adbd71030575 ("net/ixgbe/base: fix link status for E610")
> > Cc: stable@dpdk.org
> > Signed-off-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
> > ---
>
> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
>
Applied to dpdk-next-net-intel.
thanks,
/Bruce
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-10-06 11:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-27 17:52 [PATCH] net/ixgbe: fix VF link status for E610 Sandeep Penigalapati
2026-10-06 10:38 ` Burakov, Anatoly
2026-10-06 11:00 ` Bruce Richardson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox