diff options
Diffstat (limited to 'common/dpdk/recipes-extended/dpdk/dpdk/dpdk-dev-v3-12-18-net-axgbe-add-link-status-update.patch')
-rw-r--r-- | common/dpdk/recipes-extended/dpdk/dpdk/dpdk-dev-v3-12-18-net-axgbe-add-link-status-update.patch | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/common/dpdk/recipes-extended/dpdk/dpdk/dpdk-dev-v3-12-18-net-axgbe-add-link-status-update.patch b/common/dpdk/recipes-extended/dpdk/dpdk/dpdk-dev-v3-12-18-net-axgbe-add-link-status-update.patch deleted file mode 100644 index 68cb5f36..00000000 --- a/common/dpdk/recipes-extended/dpdk/dpdk/dpdk-dev-v3-12-18-net-axgbe-add-link-status-update.patch +++ /dev/null @@ -1,90 +0,0 @@ -From patchwork Fri Mar 9 08:42:28 2018 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [dpdk-dev,v3,12/18] net/axgbe: add link status update -From: Ravi Kumar <ravi1.kumar@amd.com> -X-Patchwork-Id: 35831 -X-Patchwork-Delegate: ferruh.yigit@intel.com -Message-Id: <1520584954-130575-12-git-send-email-Ravi1.kumar@amd.com> -List-Id: dev.dpdk.org -To: dev@dpdk.org -Cc: ferruh.yigit@intel.com -Date: Fri, 9 Mar 2018 03:42:28 -0500 - -Signed-off-by: Ravi Kumar <Ravi1.kumar@amd.com> ---- - doc/guides/nics/features/axgbe.ini | 1 + - drivers/net/axgbe/axgbe_ethdev.c | 33 +++++++++++++++++++++++++++++++++ - 2 files changed, 34 insertions(+) - -diff --git a/doc/guides/nics/features/axgbe.ini b/doc/guides/nics/features/axgbe.ini -index f644128..2dbff18 100644 ---- a/doc/guides/nics/features/axgbe.ini -+++ b/doc/guides/nics/features/axgbe.ini -@@ -5,6 +5,7 @@ - ; - [Features] - Speed capabilities = Y -+Link status = Y - Jumbo frame = Y - RSS hash = Y - CRC offload = Y -diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c -index ae78e09..ebae6cc 100644 ---- a/drivers/net/axgbe/axgbe_ethdev.c -+++ b/drivers/net/axgbe/axgbe_ethdev.c -@@ -137,6 +137,8 @@ static int axgbe_dev_start(struct rte_eth_dev *dev); - static void axgbe_dev_stop(struct rte_eth_dev *dev); - static void axgbe_dev_interrupt_handler(void *param); - static void axgbe_dev_close(struct rte_eth_dev *dev); -+static int axgbe_dev_link_update(struct rte_eth_dev *dev, -+ int wait_to_complete); - static void axgbe_dev_info_get(struct rte_eth_dev *dev, - struct rte_eth_dev_info *dev_info); - -@@ -193,6 +195,7 @@ static const struct eth_dev_ops axgbe_eth_dev_ops = { - .dev_start = axgbe_dev_start, - .dev_stop = axgbe_dev_stop, - .dev_close = axgbe_dev_close, -+ .link_update = axgbe_dev_link_update, - .dev_infos_get = axgbe_dev_info_get, - .rx_queue_setup = axgbe_dev_rx_queue_setup, - .rx_queue_release = axgbe_dev_rx_queue_release, -@@ -338,6 +341,36 @@ axgbe_dev_close(struct rte_eth_dev *dev) - axgbe_dev_clear_queues(dev); - } - -+/* return 0 means link status changed, -1 means not changed */ -+static int -+axgbe_dev_link_update(struct rte_eth_dev *dev, -+ int wait_to_complete __rte_unused) -+{ -+ PMD_INIT_FUNC_TRACE(); -+ rte_delay_ms(800); -+ -+ struct axgbe_port *pdata = dev->data->dev_private; -+ int old_link_status = dev->data->dev_link.link_status; -+ -+ pdata->phy_if.phy_status(pdata); -+ -+ dev->data->dev_link.link_speed = pdata->phy_speed; -+ switch (pdata->phy.duplex) { -+ case DUPLEX_FULL: -+ dev->data->dev_link.link_duplex = ETH_LINK_FULL_DUPLEX; -+ break; -+ case DUPLEX_HALF: -+ dev->data->dev_link.link_duplex = ETH_LINK_HALF_DUPLEX; -+ break; -+ } -+ dev->data->dev_link.link_autoneg = !(dev->data->dev_conf.link_speeds & -+ ETH_LINK_SPEED_FIXED); -+ dev->data->dev_link.link_status = pdata->phy_link; -+ -+ return old_link_status == dev->data->dev_link.link_status ? -1 : 0; -+} -+ -+ - static void - axgbe_dev_info_get(struct rte_eth_dev *dev, - struct rte_eth_dev_info *dev_info) |