From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pd0-f182.google.com (mail-pd0-f182.google.com [209.85.192.182]) by dpdk.org (Postfix) with ESMTP id D74F258E8 for ; Fri, 13 Jun 2014 03:39:56 +0200 (CEST) Received: by mail-pd0-f182.google.com with SMTP id y13so1559123pdi.13 for ; Thu, 12 Jun 2014 18:40:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-type:content-transfer-encoding; bh=OzPwQ4fBQk7qWccYTW0Ui7VzrQXqw9V4UF8Y8StGKjA=; b=BH3jox18nY5tSNNc3GUNSfR+UJmvxcQKJ8Wwur6o9Lo2p2HW30qejjx7n14+Wez/D/ mEi/dvLZ22rPd5ErBUlcisF7Pio8dj+M50t+Fgxc5cZAcNZhXtcxvcEjwDfR6UYVM0tT 57ccg9X6GTAcRr9yOkwGorziBMjZo9uCNWMGeAkz1h54R+s/i7lqkP/a9/c/o56Aseqc D0s1adE//yJJx4aOTVg7PK87t3V3Of0jDAHTTZFSdlQtsR7Ssyfg+/Esum3v4Fm+AbL6 cmGwgaPIpCV4kKseeDZFEoGgp36NYNVraLAGWwgunaS2QfGBYlNQ0nBitKbzIiCh9H22 YDjQ== X-Gm-Message-State: ALoCoQnfYw79Yn/uvxCuTrOGPaBHNmyVvIYgOYAVOOwGCE9raRjW9M0ciludQgte2tqJo4aFCIB/ X-Received: by 10.68.163.197 with SMTP id yk5mr16886617pbb.57.1402623611761; Thu, 12 Jun 2014 18:40:11 -0700 (PDT) Received: from nehalam.linuxnetplumber.net (static-50-53-83-51.bvtn.or.frontiernet.net. [50.53.83.51]) by mx.google.com with ESMTPSA id iz2sm408030pbb.95.2014.06.12.18.40.10 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 12 Jun 2014 18:40:11 -0700 (PDT) Date: Thu, 12 Jun 2014 18:39:58 -0700 From: Stephen Hemminger To: Stephen Hemminger Message-ID: <20140612183958.478275e3@nehalam.linuxnetplumber.net> In-Reply-To: <20140612183656.08516008@nehalam.linuxnetplumber.net> References: <20140612183656.08516008@nehalam.linuxnetplumber.net> X-Mailer: Claws Mail 3.9.3 (GTK+ 2.24.23; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org Subject: [dpdk-dev] [PATCH 5/5] vmxnet3: remove useless adapter wrapper X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jun 2014 01:39:57 -0000 The adapter struct is just a wrapper around the vmxnet3_hw structure. Eliminate the wrapper and get rid of the macro used to access and needlessly cast the private data. Signed-off-by: Stephen Hemminger --- lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c | 30 +++++++++++++----------------- lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h | 10 ---------- lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c | 16 +++++++--------- 3 files changed, 20 insertions(+), 36 deletions(-) --- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c 2014-06-12 18:13:57.408375309 -0700 +++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c 2014-06-12 18:14:38.736593592 -0700 @@ -186,8 +186,7 @@ eth_vmxnet3_dev_init(__attribute__((unus struct rte_eth_dev *eth_dev) { struct rte_pci_device *pci_dev; - struct vmxnet3_hw *hw = - VMXNET3_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private); + struct vmxnet3_hw *hw = eth_dev->data->dev_private; uint32_t mac_hi, mac_lo, ver; PMD_INIT_FUNC_TRACE(); @@ -271,7 +270,7 @@ static struct eth_driver rte_vmxnet3_pmd .drv_flags = RTE_PCI_DRV_NEED_IGB_UIO, }, .eth_dev_init = eth_vmxnet3_dev_init, - .dev_private_size = sizeof(struct vmxnet3_adapter), + .dev_private_size = sizeof(struct vmxnet3_hw), }; /* @@ -292,8 +291,7 @@ static int vmxnet3_dev_configure(struct rte_eth_dev *dev) { const struct rte_memzone *mz; - struct vmxnet3_hw *hw = - VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); + struct vmxnet3_hw *hw = dev->data->dev_private; size_t size; PMD_INIT_FUNC_TRACE(); @@ -368,7 +366,7 @@ static int vmxnet3_setup_driver_shared(struct rte_eth_dev *dev) { struct rte_eth_conf port_conf = dev->data->dev_conf; - struct vmxnet3_hw *hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); + struct vmxnet3_hw *hw = dev->data->dev_private; Vmxnet3_DriverShared *shared = hw->shared; Vmxnet3_DSDevRead *devRead = &shared->devRead; uint32_t *mac_ptr; @@ -487,7 +485,7 @@ static int vmxnet3_dev_start(struct rte_eth_dev *dev) { int status, ret; - struct vmxnet3_hw *hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); + struct vmxnet3_hw *hw = dev->data->dev_private; PMD_INIT_FUNC_TRACE(); @@ -544,8 +542,7 @@ static void vmxnet3_dev_stop(struct rte_eth_dev *dev) { struct rte_eth_link link; - struct vmxnet3_hw *hw = - VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); + struct vmxnet3_hw *hw = dev->data->dev_private; PMD_INIT_FUNC_TRACE(); @@ -580,8 +577,7 @@ vmxnet3_dev_stop(struct rte_eth_dev *dev static void vmxnet3_dev_close(struct rte_eth_dev *dev) { - struct vmxnet3_hw *hw = - VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); + struct vmxnet3_hw *hw = dev->data->dev_private; PMD_INIT_FUNC_TRACE(); @@ -594,7 +590,7 @@ static void vmxnet3_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) { unsigned int i; - struct vmxnet3_hw *hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); + struct vmxnet3_hw *hw = dev->data->dev_private; VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_CMD, VMXNET3_CMD_GET_STATS); @@ -651,7 +647,7 @@ vmxnet3_dev_info_get(__attribute__((unus static int vmxnet3_dev_link_update(struct rte_eth_dev *dev, __attribute__((unused)) int wait_to_complete) { - struct vmxnet3_hw *hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); + struct vmxnet3_hw *hw = dev->data->dev_private; struct rte_eth_link link; uint32_t ret; @@ -694,7 +690,7 @@ vmxnet3_dev_set_rxmode(struct vmxnet3_hw static void vmxnet3_dev_promiscuous_enable(struct rte_eth_dev *dev) { - struct vmxnet3_hw *hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); + struct vmxnet3_hw *hw = dev->data->dev_private; vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_PROMISC, 1); } @@ -703,7 +699,7 @@ vmxnet3_dev_promiscuous_enable(struct rt static void vmxnet3_dev_promiscuous_disable(struct rte_eth_dev *dev) { - struct vmxnet3_hw *hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); + struct vmxnet3_hw *hw = dev->data->dev_private; vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_PROMISC, 0); } @@ -712,7 +708,7 @@ vmxnet3_dev_promiscuous_disable(struct r static void vmxnet3_dev_allmulticast_enable(struct rte_eth_dev *dev) { - struct vmxnet3_hw *hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); + struct vmxnet3_hw *hw = dev->data->dev_private; vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_ALL_MULTI, 1); } @@ -721,7 +717,7 @@ vmxnet3_dev_allmulticast_enable(struct r static void vmxnet3_dev_allmulticast_disable(struct rte_eth_dev *dev) { - struct vmxnet3_hw *hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); + struct vmxnet3_hw *hw = dev->data->dev_private; vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_ALL_MULTI, 0); } --- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h 2014-06-12 18:13:57.408375309 -0700 +++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h 2014-06-12 18:13:57.404375287 -0700 @@ -117,16 +117,6 @@ struct vmxnet3_hw { vmxnet3_mf_table_t *mf_table; }; -/* - * Structure to store private data for each driver instance (for each port). - */ -struct vmxnet3_adapter { - struct vmxnet3_hw hw; -}; - -#define VMXNET3_DEV_PRIVATE_TO_HW(adapter)\ - (&((struct vmxnet3_adapter *)adapter)->hw) - #define VMXNET3_GET_ADDR_LO(reg) ((uint32_t)(reg)) #define VMXNET3_GET_ADDR_HI(reg) ((uint32_t)(((uint64_t)(reg)) >> 32)) --- a/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c 2014-06-12 18:13:57.408375309 -0700 +++ b/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c 2014-06-12 18:13:57.404375287 -0700 @@ -628,15 +628,14 @@ vmxnet3_dev_tx_queue_setup(struct rte_et unsigned int socket_id, __attribute__((unused)) const struct rte_eth_txconf *tx_conf) { + struct vmxnet3_hw *hw = dev->data->dev_private; const struct rte_memzone *mz; struct vmxnet3_tx_queue *txq; - struct vmxnet3_hw *hw; struct vmxnet3_cmd_ring *ring; struct vmxnet3_comp_ring *comp_ring; int size; PMD_INIT_FUNC_TRACE(); - hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); if ((tx_conf->txq_flags & ETH_TXQ_FLAGS_NOMULTSEGS) != ETH_TXQ_FLAGS_NOMULTSEGS) { @@ -731,7 +730,7 @@ vmxnet3_dev_rx_queue_setup(struct rte_et { const struct rte_memzone *mz; struct vmxnet3_rx_queue *rxq; - struct vmxnet3_hw *hw; + struct vmxnet3_hw *hw = dev->data->dev_private; struct vmxnet3_cmd_ring *ring0, *ring1, *ring; struct vmxnet3_comp_ring *comp_ring; int size; @@ -741,7 +740,6 @@ vmxnet3_dev_rx_queue_setup(struct rte_et struct rte_pktmbuf_pool_private *mbp_priv; PMD_INIT_FUNC_TRACE(); - hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); mbp_priv = (struct rte_pktmbuf_pool_private *) rte_mempool_get_priv(mp); @@ -849,12 +847,12 @@ vmxnet3_dev_rx_queue_setup(struct rte_et int vmxnet3_dev_rxtx_init(struct rte_eth_dev *dev) { - struct vmxnet3_hw *hw; + struct vmxnet3_hw *hw = dev->data->dev_private; + int i, ret; uint8_t j; PMD_INIT_FUNC_TRACE(); - hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); for (i = 0; i < hw->num_rx_queues; i++) { vmxnet3_rx_queue_t *rxq = dev->data->rx_queues[i]; @@ -898,13 +896,13 @@ static uint8_t rss_intel_key[40] = { int vmxnet3_rss_configure(struct rte_eth_dev *dev) { - struct vmxnet3_hw *hw; + struct vmxnet3_hw *hw = dev->data->dev_private; struct VMXNET3_RSSConf *dev_rss_conf; struct rte_eth_rss_conf *port_rss_conf; uint8_t i, j; PMD_INIT_FUNC_TRACE(); - hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); + dev_rss_conf = hw->rss_conf; port_rss_conf = &dev->data->dev_conf.rx_adv_conf.rss_conf; @@ -951,7 +949,7 @@ int vmxnet3_vlan_configure(struct rte_eth_dev *dev) { uint8_t i; - struct vmxnet3_hw *hw = VMXNET3_DEV_PRIVATE_TO_HW(dev->data->dev_private); + struct vmxnet3_hw *hw = dev->data->dev_private; uint32_t *vf_table = hw->shared->devRead.rxFilterConf.vfTable; PMD_INIT_FUNC_TRACE();