From mboxrd@z Thu Jan 1 00:00:00 1970 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) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga101.jf.intel.com with ESMTP; 01 Feb 2017 09:40:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,320,1477983600"; d="scan'208";a="1120764953" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.237.220.38]) ([10.237.220.38]) by fmsmga002.fm.intel.com with ESMTP; 01 Feb 2017 09:40:11 -0800 To: "Ananyev, Konstantin" , "Lu, Wenzhuo" , "dev@dpdk.org" References: <1485311962-62335-1-git-send-email-wenzhuo.lu@intel.com> <2601191342CEEE43887BDE71AB9772583F10FFA1@irsmsx105.ger.corp.intel.com> From: Ferruh Yigit Message-ID: <410cf75d-0ceb-d372-778f-bfa19392443b@intel.com> Date: Wed, 1 Feb 2017 17:40:11 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: <2601191342CEEE43887BDE71AB9772583F10FFA1@irsmsx105.ger.corp.intel.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH] net/ixgbe: clean up rte_eth_dev_info_get X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2017 17:40:27 -0000 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 >