DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jia Yu <jyu@vmware.com>
To: "Zhang, Helin" <helin.zhang@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH 1/2] rte_ethdev: update link status (speed, duplex, link_up) after rte_eth_dev_start
Date: Tue, 3 Feb 2015 08:00:28 +0000
Message-ID: <D0F5BD49.32466%jyu@vmware.com> (raw)
In-Reply-To: <3121142.D7ktn8xfBZ@xps13>

My answer to Helin¹s comments:

This patch is needed for bond slave devices or other devices, when LSC
interrupt is enabled.
 1. slave_configure()  -> slave_eth_dev->Š.lsc = 1

 2. rte_eth_link_get() reads dev_link from eth_dev, when lsc interrupt is
enabled. However, the dev_link on eth_dev has not be initialized and
showed link down state. This patch initializes the device¹s dev_link at
rte_eth_dev_start time.

Please let me know if you have further questions/comments.

Thanks,
Jia

On 1/30/15, 2:28 AM, "Thomas Monjalon" <thomas.monjalon@6wind.com> wrote:

>Jia, any news on this patchset?
>
>2014-11-12 03:57, Zhang, Helin:
>> Hi Jia
>> 
>> > -----Original Message-----
>> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jia Yu
>> > Sent: Saturday, November 8, 2014 1:32 AM
>> > To: dev@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@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
>

  reply	other threads:[~2015-02-03  8:00 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-07 17:31 [dpdk-dev] [PATCH 0/2] rte_ethdev fix/improvement Jia Yu
2014-11-07 17:31 ` [dpdk-dev] [PATCH 1/2] rte_ethdev: update link status (speed, duplex, link_up) after rte_eth_dev_start Jia Yu
2014-11-12  3:57   ` Zhang, Helin
2015-01-30 10:28     ` Thomas Monjalon
2015-02-03  8:00       ` Jia Yu [this message]
2015-02-03  8:35         ` Zhang, Helin
2015-02-03 18:53           ` Jia Yu
2015-02-04  0:37             ` Zhang, Helin
2014-11-07 17:31 ` [dpdk-dev] [PATCH 2/2] rte_ethdev: add return status for rte_eth_stats_get Jia Yu
2014-11-10  9:40 ` [dpdk-dev] [PATCH 0/2] rte_ethdev fix/improvement Thomas Monjalon
2014-11-11 23:48   ` Jia Yu
2014-11-12  9:35     ` Thomas Monjalon
2015-02-11  3:20 ` Zhang, Helin
2015-02-18 16:51   ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D0F5BD49.32466%jyu@vmware.com \
    --to=jyu@vmware.com \
    --cc=dev@dpdk.org \
    --cc=helin.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git