[dpdk-dev] [PATCH 1/2] rte_ethdev: update link status (speed, duplex, link_up) after rte_eth_dev_start
Thomas Monjalon
thomas.monjalon at 6wind.com
Fri Jan 30 11:28:35 CET 2015
Jia, any news on this patchset?
2014-11-12 03:57, Zhang, Helin:
> Hi Jia
>
> > -----Original Message-----
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jia Yu
> > Sent: Saturday, November 8, 2014 1:32 AM
> > To: dev at dpdk.org
> > Subject: [dpdk-dev] [PATCH 1/2] rte_ethdev: update link status (speed, duplex,
> > link_up) after rte_eth_dev_start
> >
> > Since LSR interrupt is disabled by pmd drivers, link status in rte_eth_device is
> > always down.
> If LSC interrupt is disabled by default, it will poll the link status during the initialization
> or in dev_start, and then the link status should he correct. If I am not wrong.
>
> > Bond slave_configure() enables LSR interrupt on devices to get notification if link
> > status changes. However, the LSC interrupt at device start time is still lost.
> Before enabling interrupt for LSC, the link status should be polled. So after the port
> startup, the link status should be there.
>
> >
> > In this fix, call link_update to read link status from hardware register at device
> > start time.
> Could you help to explain this code changes a bit more? Why we need it?
>
> >
> > Issue:
> > Change-Id: Ib57a1c9114f922485c7b0f4338bfe7b3d3f87d65
> > Signed-off-by: Jia Yu <jyu at vmware.com>
> > ---
> > lib/librte_ether/rte_ethdev.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index
> > ff1c769..6c01b02 100644
> > --- a/lib/librte_ether/rte_ethdev.c
> > +++ b/lib/librte_ether/rte_ethdev.c
> > @@ -869,6 +869,10 @@ rte_eth_dev_start(uint8_t port_id)
> >
> > rte_eth_dev_config_restore(port_id);
> >
> > + if (dev->data->dev_conf.intr_conf.lsc != 0) {
> > + FUNC_PTR_OR_ERR_RET(*dev->dev_ops->link_update, -ENOTSUP);
> > + (*dev->dev_ops->link_update)(dev, 0);
> > + }
> > return 0;
> > }
> >
> > --
> > 1.9.1
>
> Regards,
> Helin
More information about the dev
mailing list