Thread (167 messages) 167 messages, 19 authors, 2016-04-06

Re: [PATCH v13 6/8] ethdev: redesign link speed config

From: Xing, Beilei <hidden>
Date: 2016-03-29 06:18:36

-----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;
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 config
quoted hunk ↗ jump to hunk
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 Xing
Thanks
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help