[dpdk-dev] [PATCH v13 6/8] ethdev: redesign link speed config

Xing, Beilei beilei.xing at intel.com
Thu Mar 31 02:57:30 CEST 2016


Marc,

I’ve verified v13 + the modification, and it works.

Best Regards
Beilei Xing

From: marc.sune at gmail.com [mailto:marc.sune at 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



More information about the dev mailing list