From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH] net/ixgbe: clean up rte_eth_dev_info_get Date: Wed, 1 Feb 2017 17:40:11 +0000 Message-ID: <410cf75d-0ceb-d372-778f-bfa19392443b@intel.com> References: <1485311962-62335-1-git-send-email-wenzhuo.lu@intel.com> <2601191342CEEE43887BDE71AB9772583F10FFA1@irsmsx105.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit To: "Ananyev, Konstantin" , "Lu, Wenzhuo" , "dev@dpdk.org" Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 91CCC1150 for ; Wed, 1 Feb 2017 18:40:26 +0100 (CET) In-Reply-To: <2601191342CEEE43887BDE71AB9772583F10FFA1@irsmsx105.ger.corp.intel.com> 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 2/1/2017 4:24 PM, Ananyev, Konstantin wrote: > Hi Wenzhuo, > >> -----Original Message----- >> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Wenzhuo Lu >> Sent: Wednesday, January 25, 2017 2:39 AM >> To: dev@dpdk.org >> Cc: Lu, Wenzhuo >> Subject: [dpdk-dev] [PATCH] net/ixgbe: clean up rte_eth_dev_info_get >> >> It'not appropriate to call rte_eth_dev_info_get in PMD, >> as rte_eth_dev_info_get need to get info from PMD. >> Remove rte_eth_dev_info_get from PMD code and get the >> info directly. >> >> Signed-off-by: Wenzhuo Lu >> --- >> drivers/net/ixgbe/ixgbe_ethdev.c | 144 ++++++++++++++++++--------------------- >> 1 file changed, 68 insertions(+), 76 deletions(-) >> >> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c >> index 64ce55a..f14a68b 100644 >> --- a/drivers/net/ixgbe/ixgbe_ethdev.c >> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c >> @@ -4401,17 +4401,17 @@ static int ixgbevf_dev_xstats_get_names(__rte_unused struct rte_eth_dev *dev, >> int rar_entry; >> uint8_t *new_mac = (uint8_t *)(mac_addr); >> struct rte_eth_dev *dev; >> - struct rte_eth_dev_info dev_info; >> + struct rte_pci_device *pci_dev; >> >> RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV); >> >> dev = &rte_eth_devices[port]; >> - rte_eth_dev_info_get(port, &dev_info); >> + pci_dev = IXGBE_DEV_TO_PCI(dev); >> >> - if (is_ixgbe_pmd(dev_info.driver_name) != 0) >> + if (is_ixgbe_pmd(dev->data->drv_name)) >> return -ENOTSUP; > > I wonder why do we need now that it is really an ixgbe device all over the place? This device specific API, so it is missing merits of abstraction layer, application can these APIs with any port_id, API should be protected for it. > Konstantin >