* [dpdk-dev] [PATCH] igb: support setting link up or down
@ 2016-06-27 15:46 Aaron Campbell
2016-06-28 1:10 ` Lu, Wenzhuo
0 siblings, 1 reply; 3+ messages in thread
From: Aaron Campbell @ 2016-06-27 15:46 UTC (permalink / raw)
To: dev; +Cc: Aaron Campbell
Add driver functions to set link state up or down.
Signed-off-by: Aaron Campbell <aaron@arbor.net>
---
drivers/net/e1000/igb_ethdev.c | 37 ++++++++++++++++++++++++++++++++-----
1 file changed, 32 insertions(+), 5 deletions(-)
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index b822992..f8df691 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -89,6 +89,8 @@
static int eth_igb_configure(struct rte_eth_dev *dev);
static int eth_igb_start(struct rte_eth_dev *dev);
static void eth_igb_stop(struct rte_eth_dev *dev);
+static int eth_igb_dev_set_link_up(struct rte_eth_dev *dev);
+static int eth_igb_dev_set_link_down(struct rte_eth_dev *dev);
static void eth_igb_close(struct rte_eth_dev *dev);
static void eth_igb_promiscuous_enable(struct rte_eth_dev *dev);
static void eth_igb_promiscuous_disable(struct rte_eth_dev *dev);
@@ -322,6 +324,8 @@ static const struct eth_dev_ops eth_igb_ops = {
.dev_configure = eth_igb_configure,
.dev_start = eth_igb_start,
.dev_stop = eth_igb_stop,
+ .dev_set_link_up = eth_igb_dev_set_link_up,
+ .dev_set_link_down = eth_igb_dev_set_link_down,
.dev_close = eth_igb_close,
.promiscuous_enable = eth_igb_promiscuous_enable,
.promiscuous_disable = eth_igb_promiscuous_disable,
@@ -1151,7 +1155,7 @@ eth_igb_start(struct rte_eth_dev *dev)
rte_intr_disable(intr_handle);
/* Power up the phy. Needed to make the link go Up */
- e1000_power_up_phy(hw);
+ eth_igb_dev_set_link_up(dev);
/*
* Packet Buffer Allocation (PBA)
@@ -1357,10 +1361,7 @@ eth_igb_stop(struct rte_eth_dev *dev)
}
/* Power down the phy. Needed to make the link go Down */
- if (hw->phy.media_type == e1000_media_type_copper)
- e1000_power_down_phy(hw);
- else
- e1000_shutdown_fiber_serdes_link(hw);
+ eth_igb_dev_set_link_down(dev);
igb_dev_clear_queues(dev);
@@ -1407,6 +1408,32 @@ eth_igb_stop(struct rte_eth_dev *dev)
}
}
+static int
+eth_igb_dev_set_link_up(struct rte_eth_dev *dev)
+{
+ struct e1000_hw *hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+
+ if (hw->phy.media_type == e1000_media_type_copper)
+ e1000_power_up_phy(hw);
+ else
+ e1000_power_up_fiber_serdes_link(hw);
+
+ return 0;
+}
+
+static int
+eth_igb_dev_set_link_down(struct rte_eth_dev *dev)
+{
+ struct e1000_hw *hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+
+ if (hw->phy.media_type == e1000_media_type_copper)
+ e1000_power_down_phy(hw);
+ else
+ e1000_shutdown_fiber_serdes_link(hw);
+
+ return 0;
+}
+
static void
eth_igb_close(struct rte_eth_dev *dev)
{
--
2.7.4
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-dev] [PATCH] igb: support setting link up or down
2016-06-27 15:46 [dpdk-dev] [PATCH] igb: support setting link up or down Aaron Campbell
@ 2016-06-28 1:10 ` Lu, Wenzhuo
2016-06-29 10:31 ` Bruce Richardson
0 siblings, 1 reply; 3+ messages in thread
From: Lu, Wenzhuo @ 2016-06-28 1:10 UTC (permalink / raw)
To: Aaron Campbell, dev
Hi,
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Aaron Campbell
> Sent: Monday, June 27, 2016 11:46 PM
> To: dev@dpdk.org
> Cc: Aaron Campbell
> Subject: [dpdk-dev] [PATCH] igb: support setting link up or down
>
> Add driver functions to set link state up or down.
>
> Signed-off-by: Aaron Campbell <aaron@arbor.net>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-dev] [PATCH] igb: support setting link up or down
2016-06-28 1:10 ` Lu, Wenzhuo
@ 2016-06-29 10:31 ` Bruce Richardson
0 siblings, 0 replies; 3+ messages in thread
From: Bruce Richardson @ 2016-06-29 10:31 UTC (permalink / raw)
To: Lu, Wenzhuo; +Cc: Aaron Campbell, dev
On Tue, Jun 28, 2016 at 01:10:58AM +0000, Lu, Wenzhuo wrote:
> Hi,
>
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Aaron Campbell
> > Sent: Monday, June 27, 2016 11:46 PM
> > To: dev@dpdk.org
> > Cc: Aaron Campbell
> > Subject: [dpdk-dev] [PATCH] igb: support setting link up or down
> >
> > Add driver functions to set link state up or down.
> >
> > Signed-off-by: Aaron Campbell <aaron@arbor.net>
> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
>
Applied to dpdk-next-net/rel_16_07
/Bruce
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-06-29 10:31 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-27 15:46 [dpdk-dev] [PATCH] igb: support setting link up or down Aaron Campbell
2016-06-28 1:10 ` Lu, Wenzhuo
2016-06-29 10:31 ` Bruce Richardson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).