DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [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