Re: [PATCH v13 6/8] ethdev: redesign link speed config
From: Marc <hidden>
Date: 2016-03-30 07:59:50
On 29 March 2016 at 08:18, Xing, Beilei [off-list ref] wrote:
quoted
-----Original Message----- From: Marc Sune [mailto:marcdevel@gmail.com] Sent: Saturday, March 26, 2016 9:27 AM To: Thomas Monjalon <redacted>; Xu, Qian Q [off-list ref]; Xing, Beilei [off-list ref];dev@dpdk.org;quoted
Ananyev, Konstantin [off-list ref]; Lu, Wenzhuo [off-list ref]; Richardson, Bruce [off-list ref]; Glynn, Michael J [off-list ref] Cc: Marc Sune <redacted> Subject: [PATCH v13 6/8] ethdev: redesign link speed configquoted
a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index a98e8eb..6cc2da0 100644--- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c@@ -2193,32 +2195,21 @@ ixgbe_dev_start(struct rte_eth_dev *dev) if (err) goto error; + speed = 0x0; + if (*link_speeds & ETH_LINK_SPEED_10G) + speed |= IXGBE_LINK_SPEED_10GB_FULL; + if (*link_speeds & ETH_LINK_SPEED_1G) + speed |= IXGBE_LINK_SPEED_1GB_FULL; + if (*link_speeds & ETH_LINK_SPEED_100M) + speed |= IXGBE_LINK_SPEED_100_FULL; + err = ixgbe_setup_link(hw, speed, link_up); if (err) goto error;Hi Marc, According to ixgbe HW, link speed shouldn't be 0 when setting up, Otherwise device will start fail. So we need to set speed if link_speed is ETH_LINK_SPEED_AUTONEG. Following code is for reference. speed = 0x0; if ((*link_speeds & 0x1) == ETH_LINK_SPEED_AUTONEG) speed = (hw->mac.type != ixgbe_mac_82598EB) ? IXGBE_LINK_SPEED_82599_AUTONEG : IXGBE_LINK_SPEED_82598_AUTONEG; else { if (*link_speeds & ETH_LINK_SPEED_10G) speed |= IXGBE_LINK_SPEED_10GB_FULL; if (*link_speeds & ETH_LINK_SPEED_1G) speed |= IXGBE_LINK_SPEED_1GB_FULL; if (*link_speeds & ETH_LINK_SPEED_100M) speed |= IXGBE_LINK_SPEED_100_FULL; }
Beilei, OK, thanks. Can you/someone please try v13 + this modification, so that we make sure this is the final version for ixgbe? Regards Marc
Beilei Xing Thanks