From fb8251bcc5e243c7195263dc4a811546047ae1e8 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Thu, 12 Jun 2014 18:39:58 -0700 Subject: [PATCH] vmxnet3: remove useless adapter wrapper 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 Acked-by: Thomas Monjalon --- 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(-) diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c index 7800d35274..e6caa0a25c 100644 --- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c +++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c @@ -186,8 +186,7 @@ eth_vmxnet3_dev_init(__attribute__((unused)) struct eth_driver *eth_drv, 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_MAPPING, }, .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__((unused))struct rte_eth_dev *dev, struct rte_ 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 *hw, uint32_t feature, int set) { 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 rte_eth_dev *dev) 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 rte_eth_dev *dev) 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 rte_eth_dev *dev) 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); } diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h index 19aead5a7e..0941cfc6ad 100644 --- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h +++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h @@ -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)) diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c b/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c index eb3ad84285..2d9f5e02ee 100644 --- a/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c +++ b/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c @@ -627,15 +627,14 @@ vmxnet3_dev_tx_queue_setup(struct rte_eth_dev *dev, 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) { @@ -730,7 +729,7 @@ vmxnet3_dev_rx_queue_setup(struct rte_eth_dev *dev, { 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; @@ -740,7 +739,6 @@ vmxnet3_dev_rx_queue_setup(struct rte_eth_dev *dev, 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); @@ -848,12 +846,12 @@ vmxnet3_dev_rx_queue_setup(struct rte_eth_dev *dev, 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]; @@ -903,14 +901,14 @@ vmxnet3_rss_configure(struct rte_eth_dev *dev) ETH_RSS_IPV6 | \ ETH_RSS_IPV6_TCP) - 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; uint64_t rss_hf; 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; @@ -958,7 +956,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(); -- 2.20.1