From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH v3 12/18] net/axgbe: add link status update Date: Fri, 16 Mar 2018 17:46:43 +0000 Message-ID: <983a012d-85a4-82b1-10cf-6da1129a780c@intel.com> References: <1515145938-97474-1-git-send-email-Ravi1.kumar@amd.com> <1520584954-130575-1-git-send-email-Ravi1.kumar@amd.com> <1520584954-130575-12-git-send-email-Ravi1.kumar@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit To: Ravi Kumar , dev@dpdk.org Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 0FA585F0F for ; Fri, 16 Mar 2018 18:46:45 +0100 (CET) In-Reply-To: <1520584954-130575-12-git-send-email-Ravi1.kumar@amd.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 3/9/2018 8:42 AM, Ravi Kumar wrote: > Signed-off-by: Ravi Kumar <...> > +/* 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; There are a very recently merged patches to get/set link status atomically (rte_eth_linkstatus_get / rte_eth_linkstatus_set) only in next-net (not merged to main repo yet), you may benefit from them. <...>