* [PATCH 0/2] net/ice: updates for link speed setting
@ 2026-09-10 15:08 Bruce Richardson
2026-09-10 15:08 ` [PATCH 1/2] net/ice: check for missing fixed " Bruce Richardson
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Bruce Richardson @ 2026-09-10 15:08 UTC (permalink / raw)
To: dev; +Cc: Bruce Richardson
A pair of patches to improve the setting of link speeds for ice
Bruce Richardson (2):
net/ice: check for missing fixed speed setting
net/ice: disable link negotiation for fixed speed selection
drivers/net/intel/ice/ice_ethdev.c | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
--
2.53.0
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH 1/2] net/ice: check for missing fixed speed setting 2026-09-10 15:08 [PATCH 0/2] net/ice: updates for link speed setting Bruce Richardson @ 2026-09-10 15:08 ` Bruce Richardson 2026-09-25 9:21 ` Burakov, Anatoly 2026-09-10 15:08 ` [PATCH 2/2] net/ice: disable link negotiation for fixed speed selection Bruce Richardson 2026-09-25 12:15 ` [PATCH 0/2] net/ice: updates for link speed setting Bruce Richardson 2 siblings, 1 reply; 6+ messages in thread From: Bruce Richardson @ 2026-09-10 15:08 UTC (permalink / raw) To: dev; +Cc: Bruce Richardson, stable, Anatoly Burakov, Kaiwen Deng, Qi Zhang When the user requests a fixed speed for a NIC link, the speeds bitmask passed must have a speed value actually set in it, as well as the "FIXED" flag. Catch this case and log an error message. Fixes: 36afbc269081 ("net/ice: support link speed change") Cc: stable@dpdk.org Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- drivers/net/intel/ice/ice_ethdev.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/intel/ice/ice_ethdev.c b/drivers/net/intel/ice/ice_ethdev.c index 76b8ff0a72..dc955d130b 100644 --- a/drivers/net/intel/ice/ice_ethdev.c +++ b/drivers/net/intel/ice/ice_ethdev.c @@ -4936,6 +4936,10 @@ ice_apply_link_speed(struct rte_eth_dev *dev) RTE_ETH_LINK_SPEED_100M; } speed = ice_parse_link_speeds(conf->link_speeds); + if (speed == ICE_AQ_LINK_SPEED_UNKNOWN) { + PMD_DRV_LOG(ERR, "No valid link speed setting specified"); + return -EINVAL; + } return ice_phy_conf_link(hw, speed, true); } -- 2.53.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] net/ice: check for missing fixed speed setting 2026-09-10 15:08 ` [PATCH 1/2] net/ice: check for missing fixed " Bruce Richardson @ 2026-09-25 9:21 ` Burakov, Anatoly 0 siblings, 0 replies; 6+ messages in thread From: Burakov, Anatoly @ 2026-09-25 9:21 UTC (permalink / raw) To: Bruce Richardson, dev; +Cc: stable, Kaiwen Deng, Qi Zhang On 9/10/2026 5:08 PM, Bruce Richardson wrote: > When the user requests a fixed speed for a NIC link, the speeds bitmask > passed must have a speed value actually set in it, as well as the > "FIXED" flag. Catch this case and log an error message. > > Fixes: 36afbc269081 ("net/ice: support link speed change") > Cc: stable@dpdk.org > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> > --- > drivers/net/intel/ice/ice_ethdev.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/net/intel/ice/ice_ethdev.c b/drivers/net/intel/ice/ice_ethdev.c > index 76b8ff0a72..dc955d130b 100644 > --- a/drivers/net/intel/ice/ice_ethdev.c > +++ b/drivers/net/intel/ice/ice_ethdev.c > @@ -4936,6 +4936,10 @@ ice_apply_link_speed(struct rte_eth_dev *dev) > RTE_ETH_LINK_SPEED_100M; > } > speed = ice_parse_link_speeds(conf->link_speeds); > + if (speed == ICE_AQ_LINK_SPEED_UNKNOWN) { > + PMD_DRV_LOG(ERR, "No valid link speed setting specified"); > + return -EINVAL; > + } > > return ice_phy_conf_link(hw, speed, true); > } Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> -- Thanks, Anatoly ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] net/ice: disable link negotiation for fixed speed selection 2026-09-10 15:08 [PATCH 0/2] net/ice: updates for link speed setting Bruce Richardson 2026-09-10 15:08 ` [PATCH 1/2] net/ice: check for missing fixed " Bruce Richardson @ 2026-09-10 15:08 ` Bruce Richardson 2026-09-25 9:22 ` Burakov, Anatoly 2026-09-25 12:15 ` [PATCH 0/2] net/ice: updates for link speed setting Bruce Richardson 2 siblings, 1 reply; 6+ messages in thread From: Bruce Richardson @ 2026-09-10 15:08 UTC (permalink / raw) To: dev; +Cc: Bruce Richardson, Anatoly Burakov When the user has requested fixed link parameters, e.g. speed, duplex, etc., disable the HW link negotiation, i.e. AN Clause 28, Clause 37 etc. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- drivers/net/intel/ice/ice_ethdev.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/net/intel/ice/ice_ethdev.c b/drivers/net/intel/ice/ice_ethdev.c index dc955d130b..592e7c4c21 100644 --- a/drivers/net/intel/ice/ice_ethdev.c +++ b/drivers/net/intel/ice/ice_ethdev.c @@ -124,7 +124,8 @@ static int ice_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info); static int ice_phy_conf_link(struct ice_hw *hw, u16 force_speed, - bool link_up); + bool link_up, + bool link_autoneg); static int ice_link_update(struct rte_eth_dev *dev, int wait_to_complete); static int ice_dev_set_link_up(struct rte_eth_dev *dev); @@ -4941,13 +4942,15 @@ ice_apply_link_speed(struct rte_eth_dev *dev) return -EINVAL; } - return ice_phy_conf_link(hw, speed, true); + bool link_autoneg = (conf->link_speeds & RTE_ETH_LINK_SPEED_FIXED) == 0; + return ice_phy_conf_link(hw, speed, true, link_autoneg); } static int ice_phy_conf_link(struct ice_hw *hw, u16 link_speeds_bitmap, - bool link_up) + bool link_up, + bool link_autoneg) { struct ice_aqc_set_phy_cfg_data cfg = { 0 }; struct ice_port_info *pi = hw->port_info; @@ -4991,6 +4994,10 @@ ice_phy_conf_link(struct ice_hw *hw, cfg.caps = phy_caps->caps | ICE_AQ_PHY_ENA_AUTO_LINK_UPDT; cfg.low_power_ctrl_an = phy_caps->low_power_ctrl_an; + if (!link_autoneg) + cfg.low_power_ctrl_an &= ~(ICE_AQC_PHY_AN_EN_CLAUSE28 | + ICE_AQC_PHY_AN_EN_CLAUSE73 | + ICE_AQC_PHY_AN_EN_CLAUSE37); cfg.eee_cap = phy_caps->eee_cap; cfg.eeer_value = phy_caps->eeer_value; cfg.link_fec_opt = phy_caps->link_fec_options; @@ -5018,7 +5025,7 @@ ice_dev_set_link_down(struct rte_eth_dev *dev) struct ice_hw *hw = ICE_DEV_PRIVATE_TO_HW(dev->data->dev_private); uint8_t speed = ICE_LINK_SPEED_UNKNOWN; - return ice_phy_conf_link(hw, speed, false); + return ice_phy_conf_link(hw, speed, false, true); } static int -- 2.53.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] net/ice: disable link negotiation for fixed speed selection 2026-09-10 15:08 ` [PATCH 2/2] net/ice: disable link negotiation for fixed speed selection Bruce Richardson @ 2026-09-25 9:22 ` Burakov, Anatoly 0 siblings, 0 replies; 6+ messages in thread From: Burakov, Anatoly @ 2026-09-25 9:22 UTC (permalink / raw) To: Bruce Richardson, dev On 9/10/2026 5:08 PM, Bruce Richardson wrote: > When the user has requested fixed link parameters, e.g. speed, duplex, > etc., disable the HW link negotiation, i.e. AN Clause 28, Clause 37 etc. > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> > --- Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> -- Thanks, Anatoly ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] net/ice: updates for link speed setting 2026-09-10 15:08 [PATCH 0/2] net/ice: updates for link speed setting Bruce Richardson 2026-09-10 15:08 ` [PATCH 1/2] net/ice: check for missing fixed " Bruce Richardson 2026-09-10 15:08 ` [PATCH 2/2] net/ice: disable link negotiation for fixed speed selection Bruce Richardson @ 2026-09-25 12:15 ` Bruce Richardson 2 siblings, 0 replies; 6+ messages in thread From: Bruce Richardson @ 2026-09-25 12:15 UTC (permalink / raw) To: dev On Thu, Sep 10, 2026 at 04:08:15PM +0100, Bruce Richardson wrote: > A pair of patches to improve the setting of link speeds for ice > > Bruce Richardson (2): > net/ice: check for missing fixed speed setting > net/ice: disable link negotiation for fixed speed selection > > drivers/net/intel/ice/ice_ethdev.c | 19 +++++++++++++++---- > 1 file changed, 15 insertions(+), 4 deletions(-) > Applied to dpdk-next-net-intel. /Bruce ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-09-25 12:15 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-09-10 15:08 [PATCH 0/2] net/ice: updates for link speed setting Bruce Richardson 2026-09-10 15:08 ` [PATCH 1/2] net/ice: check for missing fixed " Bruce Richardson 2026-09-25 9:21 ` Burakov, Anatoly 2026-09-10 15:08 ` [PATCH 2/2] net/ice: disable link negotiation for fixed speed selection Bruce Richardson 2026-09-25 9:22 ` Burakov, Anatoly 2026-09-25 12:15 ` [PATCH 0/2] net/ice: updates for link speed setting Bruce Richardson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox