Marc, I?ve verified v13 + the modification, and it works.
Best Regards Beilei Xing From: marc.sune at gmail.com [mailto:marc.s...@gmail.com] On Behalf Of Marc Sent: Wednesday, March 30, 2016 4:00 PM To: Xing, Beilei <beilei.xing at intel.com> Cc: Thomas Monjalon <thomas.monjalon at 6wind.com>; Xu, Qian Q <qian.q.xu at intel.com>; dev at dpdk.org; Ananyev, Konstantin <konstantin.ananyev at intel.com>; Lu, Wenzhuo <wenzhuo.lu at intel.com>; Richardson, Bruce <bruce.richardson at intel.com>; Glynn, Michael J <michael.j.glynn at intel.com> Subject: Re: [PATCH v13 6/8] ethdev: redesign link speed config On 29 March 2016 at 08:18, Xing, Beilei <beilei.xing at intel.com<mailto:beilei.xing at intel.com>> wrote: > -----Original Message----- > From: Marc Sune [mailto:marcdevel at gmail.com<mailto:marcdevel at gmail.com>] > Sent: Saturday, March 26, 2016 9:27 AM > To: Thomas Monjalon <thomas.monjalon at 6wind.com<mailto:thomas.monjalon at > 6wind.com>>; Xu, Qian Q > <qian.q.xu at intel.com<mailto:qian.q.xu at intel.com>>; Xing, Beilei > <beilei.xing at intel.com<mailto:beilei.xing at intel.com>>; dev at > dpdk.org<mailto:dev at dpdk.org>; > Ananyev, Konstantin <konstantin.ananyev at > intel.com<mailto:konstantin.ananyev at intel.com>>; Lu, Wenzhuo > <wenzhuo.lu at intel.com<mailto:wenzhuo.lu at intel.com>>; Richardson, Bruce > <bruce.richardson at intel.com<mailto:bruce.richardson at intel.com>>; > Glynn, Michael J <michael.j.glynn at intel.com<mailto:michael.j.glynn at > intel.com>> > Cc: Marc Sune <marcdevel at gmail.com<mailto:marcdevel at gmail.com>> > Subject: [PATCH v13 6/8] ethdev: redesign link speed config > > 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