[dpdk-dev] [PATCH 5/5] vmxnet3: remove useless adapter wrapper

Stephen Hemminger stephen at networkplumber.org
Fri Jun 13 03:39:58 CEST 2014


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 <stephen at networkplumber.org>

---
 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();


More information about the dev mailing list