DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/avf: remove unused variables and label
@ 2018-09-13 14:44 Bruce Richardson
  2018-09-13 16:26 ` Luca Boccassi
                   ` (3 more replies)
  0 siblings, 4 replies; 19+ messages in thread
From: Bruce Richardson @ 2018-09-13 14:44 UTC (permalink / raw)
  To: Jingjing Wu, Wenzhuo Lu; +Cc: dev, Bruce Richardson

Compiling with all warnings turned on causes errors about unused variables
and an unused label. Remove these to allow building without having to
disable those warnings.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/avf/avf_ethdev.c | 15 +--------------
 drivers/net/avf/avf_rxtx.c   | 17 +++++------------
 drivers/net/avf/avf_vchnl.c  |  2 --
 3 files changed, 6 insertions(+), 28 deletions(-)

diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/avf/avf_ethdev.c
index 3a2baaf28..be9f163be 100644
--- a/drivers/net/avf/avf_ethdev.c
+++ b/drivers/net/avf/avf_ethdev.c
@@ -154,7 +154,6 @@ static int
 avf_init_rss(struct avf_adapter *adapter)
 {
 	struct avf_info *vf =  AVF_DEV_PRIVATE_TO_VF(adapter);
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(adapter);
 	struct rte_eth_rss_conf *rss_conf;
 	uint8_t i, j, nb_q;
 	int ret;
@@ -259,11 +258,8 @@ avf_init_rxq(struct rte_eth_dev *dev, struct avf_rx_queue *rxq)
 static int
 avf_init_queues(struct rte_eth_dev *dev)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 	struct avf_rx_queue **rxq =
 		(struct avf_rx_queue **)dev->data->rx_queues;
-	struct avf_tx_queue **txq =
-		(struct avf_tx_queue **)dev->data->tx_queues;
 	int i, ret = AVF_SUCCESS;
 
 	for (i = 0; i < dev->data->nb_rx_queues; i++) {
@@ -415,7 +411,6 @@ avf_dev_start(struct rte_eth_dev *dev)
 		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 	struct rte_intr_handle *intr_handle = dev->intr_handle;
 
 	PMD_INIT_FUNC_TRACE();
@@ -476,9 +471,7 @@ avf_dev_stop(struct rte_eth_dev *dev)
 	struct avf_adapter *adapter =
 		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 	struct rte_intr_handle *intr_handle = dev->intr_handle;
-	int ret, i;
 
 	PMD_INIT_FUNC_TRACE();
 
@@ -503,8 +496,6 @@ avf_dev_stop(struct rte_eth_dev *dev)
 static void
 avf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 
 	memset(dev_info, 0, sizeof(*dev_info));
@@ -915,7 +906,6 @@ avf_dev_rss_hash_conf_get(struct rte_eth_dev *dev,
 static int
 avf_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 	uint32_t frame_size = mtu + AVF_ETH_OVERHEAD;
 	int ret = 0;
 
@@ -1045,8 +1035,6 @@ avf_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
 static int
 avf_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 	uint16_t msix_intr;
@@ -1089,7 +1077,7 @@ avf_check_vf_reset_done(struct avf_hw *hw)
 static int
 avf_init_vf(struct rte_eth_dev *dev)
 {
-	int i, err, bufsz;
+	int err, bufsz;
 	struct avf_adapter *adapter =
 		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
@@ -1198,7 +1186,6 @@ avf_dev_interrupt_handler(void *param)
 
 	avf_handle_virtchnl_msg(dev);
 
-done:
 	avf_enable_irq0(hw);
 }
 
diff --git a/drivers/net/avf/avf_rxtx.c b/drivers/net/avf/avf_rxtx.c
index e03a136fc..edff48d27 100644
--- a/drivers/net/avf/avf_rxtx.c
+++ b/drivers/net/avf/avf_rxtx.c
@@ -247,7 +247,6 @@ alloc_rxq_mbufs(struct avf_rx_queue *rxq)
 static inline void
 release_rxq_mbufs(struct avf_rx_queue *rxq)
 {
-	struct rte_mbuf *mbuf;
 	uint16_t i;
 
 	if (!rxq->sw_ring)
@@ -310,9 +309,8 @@ avf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
 	struct avf_rx_queue *rxq;
 	const struct rte_memzone *mz;
 	uint32_t ring_size;
-	uint16_t len, i;
+	uint16_t len;
 	uint16_t rx_free_thresh;
-	uint16_t base, bsf, tc_mapping;
 
 	PMD_INIT_FUNC_TRACE();
 
@@ -428,13 +426,10 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 		       const struct rte_eth_txconf *tx_conf)
 {
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct avf_adapter *ad =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_tx_queue *txq;
 	const struct rte_memzone *mz;
 	uint32_t ring_size;
 	uint16_t tx_rs_thresh, tx_free_thresh;
-	uint16_t i, base, bsf, tc_mapping;
 	uint64_t offloads;
 
 	PMD_INIT_FUNC_TRACE();
@@ -515,8 +510,11 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	txq->ops = &def_txq_ops;
 
 #ifdef RTE_LIBRTE_AVF_INC_VECTOR
-	if (check_tx_vec_allow(txq) == FALSE)
+	if (check_tx_vec_allow(txq) == FALSE) {
+		struct avf_adapter *ad =
+			AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 		ad->tx_vec_allowed = false;
+	}
 #endif
 
 	return 0;
@@ -1268,7 +1266,6 @@ static inline uint16_t
 rx_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 {
 	struct avf_rx_queue *rxq = (struct avf_rx_queue *)rx_queue;
-	struct rte_eth_dev *dev;
 	uint16_t nb_rx = 0;
 
 	if (!nb_pkts)
@@ -1584,10 +1581,6 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 
 		if (nb_ctx) {
 			/* Setup TX context descriptor if required */
-			volatile struct avf_tx_context_desc *ctx_txd =
-				(volatile struct avf_tx_context_desc *)
-					&txr[tx_id];
-			uint16_t cd_l2tag2 = 0;
 			uint64_t cd_type_cmd_tso_mss =
 				AVF_TX_DESC_DTYPE_CONTEXT;
 
diff --git a/drivers/net/avf/avf_vchnl.c b/drivers/net/avf/avf_vchnl.c
index fa71014e1..fd90cc2c3 100644
--- a/drivers/net/avf/avf_vchnl.c
+++ b/drivers/net/avf/avf_vchnl.c
@@ -69,7 +69,6 @@ avf_execute_vf_cmd(struct avf_adapter *adapter, struct avf_cmd_info *args)
 {
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(adapter);
 	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
-	struct avf_arq_event_info event_info;
 	enum avf_status_code ret;
 	int err = 0;
 	int i = 0;
@@ -600,7 +599,6 @@ avf_config_irq_map(struct avf_adapter *adapter)
 	struct virtchnl_irq_map_info *map_info;
 	struct virtchnl_vector_map *vecmap;
 	struct avf_cmd_info args;
-	uint32_t vector_id;
 	int len, i, err;
 
 	len = sizeof(struct virtchnl_irq_map_info) +
-- 
2.17.1

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [dpdk-dev] [PATCH] net/avf: remove unused variables and label
  2018-09-13 14:44 [dpdk-dev] [PATCH] net/avf: remove unused variables and label Bruce Richardson
@ 2018-09-13 16:26 ` Luca Boccassi
  2018-09-17  7:23   ` Zhang, Qi Z
  2018-09-17 14:53 ` Ferruh Yigit
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 19+ messages in thread
From: Luca Boccassi @ 2018-09-13 16:26 UTC (permalink / raw)
  To: Bruce Richardson, Jingjing Wu, Wenzhuo Lu; +Cc: dev

On Thu, 2018-09-13 at 15:44 +0100, Bruce Richardson wrote:
> Compiling with all warnings turned on causes errors about unused
> variables
> and an unused label. Remove these to allow building without having to
> disable those warnings.
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>  drivers/net/avf/avf_ethdev.c | 15 +--------------
>  drivers/net/avf/avf_rxtx.c   | 17 +++++------------
>  drivers/net/avf/avf_vchnl.c  |  2 --
>  3 files changed, 6 insertions(+), 28 deletions(-)

Acked-by: Luca Boccassi <bluca@debian.org>

-- 
Kind regards,
Luca Boccassi

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [dpdk-dev] [PATCH] net/avf: remove unused variables and label
  2018-09-13 16:26 ` Luca Boccassi
@ 2018-09-17  7:23   ` Zhang, Qi Z
  0 siblings, 0 replies; 19+ messages in thread
From: Zhang, Qi Z @ 2018-09-17  7:23 UTC (permalink / raw)
  To: Luca Boccassi, Richardson, Bruce, Wu, Jingjing, Lu, Wenzhuo; +Cc: dev



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Luca Boccassi
> Sent: Friday, September 14, 2018 12:26 AM
> To: Richardson, Bruce <bruce.richardson@intel.com>; Wu, Jingjing
> <jingjing.wu@intel.com>; Lu, Wenzhuo <wenzhuo.lu@intel.com>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] net/avf: remove unused variables and label
> 
> On Thu, 2018-09-13 at 15:44 +0100, Bruce Richardson wrote:
> > Compiling with all warnings turned on causes errors about unused
> > variables and an unused label. Remove these to allow building without
> > having to disable those warnings.
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> >  drivers/net/avf/avf_ethdev.c | 15 +--------------
> >  drivers/net/avf/avf_rxtx.c   | 17 +++++------------
> >  drivers/net/avf/avf_vchnl.c  |  2 --
> >  3 files changed, 6 insertions(+), 28 deletions(-)
> 
> Acked-by: Luca Boccassi <bluca@debian.org>
> 
> --
> Kind regards,
> Luca Boccassi

Applied to dpdk-next-net-intel.

Thanks
Qi

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [dpdk-dev] [PATCH] net/avf: remove unused variables and label
  2018-09-13 14:44 [dpdk-dev] [PATCH] net/avf: remove unused variables and label Bruce Richardson
  2018-09-13 16:26 ` Luca Boccassi
@ 2018-09-17 14:53 ` Ferruh Yigit
  2018-09-17 15:20   ` Bruce Richardson
  2018-09-18 13:17 ` [dpdk-dev] [PATCH v2 1/2] net/avf: fix " Bruce Richardson
  2018-09-19 10:04 ` [dpdk-dev] [PATCH v4 0/3] AVF build improvements Bruce Richardson
  3 siblings, 1 reply; 19+ messages in thread
From: Ferruh Yigit @ 2018-09-17 14:53 UTC (permalink / raw)
  To: Bruce Richardson, Jingjing Wu, Wenzhuo Lu; +Cc: dev

On 9/13/2018 3:44 PM, Bruce Richardson wrote:
> Compiling with all warnings turned on causes errors about unused variables
> and an unused label. Remove these to allow building without having to
> disable those warnings.

If this is fixing some build errors should it be backported?

And why we didn't get those warnings until now, aren't we already compiling with
all warnings turned on?

> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

<...>

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [dpdk-dev] [PATCH] net/avf: remove unused variables and label
  2018-09-17 14:53 ` Ferruh Yigit
@ 2018-09-17 15:20   ` Bruce Richardson
  2018-09-17 16:12     ` Ferruh Yigit
  0 siblings, 1 reply; 19+ messages in thread
From: Bruce Richardson @ 2018-09-17 15:20 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Jingjing Wu, Wenzhuo Lu, dev

On Mon, Sep 17, 2018 at 03:53:40PM +0100, Ferruh Yigit wrote:
> On 9/13/2018 3:44 PM, Bruce Richardson wrote:
> > Compiling with all warnings turned on causes errors about unused variables
> > and an unused label. Remove these to allow building without having to
> > disable those warnings.
> 
> If this is fixing some build errors should it be backported?
> 
> And why we didn't get those warnings until now, aren't we already compiling with
> all warnings turned on?
> 
> > 
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> 
It does not appear so. When we add support for building this driver with
meson, the compiler warnings then appeared [See
http://patches.dpdk.org/patch/44698/]. 

While you can backport I'm not sure it's worthwhile, unless you plan on
backporting the new meson support too.  The warnings don't come from
external header files that apps would be using directly with unknown
compiler flags, but are internal to DPDK and don't seem to cause any issues
with "make" builds.

Regards,
/Bruce

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [dpdk-dev] [PATCH] net/avf: remove unused variables and label
  2018-09-17 15:20   ` Bruce Richardson
@ 2018-09-17 16:12     ` Ferruh Yigit
  2018-09-17 16:24       ` Bruce Richardson
  0 siblings, 1 reply; 19+ messages in thread
From: Ferruh Yigit @ 2018-09-17 16:12 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Jingjing Wu, Wenzhuo Lu, dev, Luca Boccassi

On 9/17/2018 4:20 PM, Bruce Richardson wrote:
> On Mon, Sep 17, 2018 at 03:53:40PM +0100, Ferruh Yigit wrote:
>> On 9/13/2018 3:44 PM, Bruce Richardson wrote:
>>> Compiling with all warnings turned on causes errors about unused variables
>>> and an unused label. Remove these to allow building without having to
>>> disable those warnings.
>>
>> If this is fixing some build errors should it be backported?
>>
>> And why we didn't get those warnings until now, aren't we already compiling with
>> all warnings turned on?
>>
>>>
>>> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
>>
> It does not appear so. When we add support for building this driver with
> meson, the compiler warnings then appeared [See
> http://patches.dpdk.org/patch/44698/]. 
> 
> While you can backport I'm not sure it's worthwhile, unless you plan on
> backporting the new meson support too.  The warnings don't come from
> external header files that apps would be using directly with unknown
> compiler flags, but are internal to DPDK and don't seem to cause any issues
> with "make" builds.

Argh, it is missing warning flags in Makefile:
 +CFLAGS += $(WERROR_FLAGS)

When above added "make" also gives "unused variable" warnings.

Even we don't observe the issue with current makefile, if someone builds with:
'make  EXTRA_CFLAGS="-Wunused-variable"' will observe the warnings.

That is why I am for backporting this patch, does it make sense?

And would you mind adding above CFLAGS update into this patch?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [dpdk-dev] [PATCH] net/avf: remove unused variables and label
  2018-09-17 16:12     ` Ferruh Yigit
@ 2018-09-17 16:24       ` Bruce Richardson
  0 siblings, 0 replies; 19+ messages in thread
From: Bruce Richardson @ 2018-09-17 16:24 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Jingjing Wu, Wenzhuo Lu, dev, Luca Boccassi

On Mon, Sep 17, 2018 at 05:12:19PM +0100, Ferruh Yigit wrote:
> On 9/17/2018 4:20 PM, Bruce Richardson wrote:
> > On Mon, Sep 17, 2018 at 03:53:40PM +0100, Ferruh Yigit wrote:
> >> On 9/13/2018 3:44 PM, Bruce Richardson wrote:
> >>> Compiling with all warnings turned on causes errors about unused variables
> >>> and an unused label. Remove these to allow building without having to
> >>> disable those warnings.
> >>
> >> If this is fixing some build errors should it be backported?
> >>
> >> And why we didn't get those warnings until now, aren't we already compiling with
> >> all warnings turned on?
> >>
> >>>
> >>> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> >>
> > It does not appear so. When we add support for building this driver with
> > meson, the compiler warnings then appeared [See
> > http://patches.dpdk.org/patch/44698/]. 
> > 
> > While you can backport I'm not sure it's worthwhile, unless you plan on
> > backporting the new meson support too.  The warnings don't come from
> > external header files that apps would be using directly with unknown
> > compiler flags, but are internal to DPDK and don't seem to cause any issues
> > with "make" builds.
> 
> Argh, it is missing warning flags in Makefile:
>  +CFLAGS += $(WERROR_FLAGS)
> 
> When above added "make" also gives "unused variable" warnings.
> 
> Even we don't observe the issue with current makefile, if someone builds with:
> 'make  EXTRA_CFLAGS="-Wunused-variable"' will observe the warnings.
> 
> That is why I am for backporting this patch, does it make sense?
> 
> And would you mind adding above CFLAGS update into this patch?

Ok, I'll do up a V2.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [dpdk-dev] [PATCH v2 1/2] net/avf: fix unused variables and label
  2018-09-13 14:44 [dpdk-dev] [PATCH] net/avf: remove unused variables and label Bruce Richardson
  2018-09-13 16:26 ` Luca Boccassi
  2018-09-17 14:53 ` Ferruh Yigit
@ 2018-09-18 13:17 ` Bruce Richardson
  2018-09-18 13:17   ` [dpdk-dev] [PATCH v2 2/2] net/avf: fix missing compiler error flags Bruce Richardson
                     ` (2 more replies)
  2018-09-19 10:04 ` [dpdk-dev] [PATCH v4 0/3] AVF build improvements Bruce Richardson
  3 siblings, 3 replies; 19+ messages in thread
From: Bruce Richardson @ 2018-09-18 13:17 UTC (permalink / raw)
  To: Jingjing Wu, Wenzhuo Lu
  Cc: ferruh.yigit, dev, bluca, Zhang, Qi Z, Bruce Richardson, stable

Compiling with all warnings turned on causes errors about unused variables
and an unused label. Remove these to allow building without having to
disable those warnings.

Fixes: 69dd4c3d0898 ("net/avf: enable queue and device")
Fixes: 3fd7a3719c66 ("net/avf: enable ops for MTU setting")
Fixes: d6bde6b5eae9 ("net/avf: enable Rx interrupt")
Fixes: 22b123a36d07 ("net/avf: initialize PMD")
Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx")
Fixes: a2b29a7733ef ("net/avf: enable basic Rx Tx")

CC: stable@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 drivers/net/avf/avf_ethdev.c | 15 +--------------
 drivers/net/avf/avf_rxtx.c   | 17 +++++------------
 drivers/net/avf/avf_vchnl.c  |  2 --
 3 files changed, 6 insertions(+), 28 deletions(-)

diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/avf/avf_ethdev.c
index a7d69828c..6b6ff7d55 100644
--- a/drivers/net/avf/avf_ethdev.c
+++ b/drivers/net/avf/avf_ethdev.c
@@ -154,7 +154,6 @@ static int
 avf_init_rss(struct avf_adapter *adapter)
 {
 	struct avf_info *vf =  AVF_DEV_PRIVATE_TO_VF(adapter);
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(adapter);
 	struct rte_eth_rss_conf *rss_conf;
 	uint8_t i, j, nb_q;
 	int ret;
@@ -259,11 +258,8 @@ avf_init_rxq(struct rte_eth_dev *dev, struct avf_rx_queue *rxq)
 static int
 avf_init_queues(struct rte_eth_dev *dev)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 	struct avf_rx_queue **rxq =
 		(struct avf_rx_queue **)dev->data->rx_queues;
-	struct avf_tx_queue **txq =
-		(struct avf_tx_queue **)dev->data->tx_queues;
 	int i, ret = AVF_SUCCESS;
 
 	for (i = 0; i < dev->data->nb_rx_queues; i++) {
@@ -415,7 +411,6 @@ avf_dev_start(struct rte_eth_dev *dev)
 		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 	struct rte_intr_handle *intr_handle = dev->intr_handle;
 
 	PMD_INIT_FUNC_TRACE();
@@ -476,9 +471,7 @@ avf_dev_stop(struct rte_eth_dev *dev)
 	struct avf_adapter *adapter =
 		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 	struct rte_intr_handle *intr_handle = dev->intr_handle;
-	int ret, i;
 
 	PMD_INIT_FUNC_TRACE();
 
@@ -503,8 +496,6 @@ avf_dev_stop(struct rte_eth_dev *dev)
 static void
 avf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 
 	memset(dev_info, 0, sizeof(*dev_info));
@@ -914,7 +905,6 @@ avf_dev_rss_hash_conf_get(struct rte_eth_dev *dev,
 static int
 avf_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 	uint32_t frame_size = mtu + AVF_ETH_OVERHEAD;
 	int ret = 0;
 
@@ -1044,8 +1034,6 @@ avf_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
 static int
 avf_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 	uint16_t msix_intr;
@@ -1088,7 +1076,7 @@ avf_check_vf_reset_done(struct avf_hw *hw)
 static int
 avf_init_vf(struct rte_eth_dev *dev)
 {
-	int i, err, bufsz;
+	int err, bufsz;
 	struct avf_adapter *adapter =
 		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
@@ -1197,7 +1185,6 @@ avf_dev_interrupt_handler(void *param)
 
 	avf_handle_virtchnl_msg(dev);
 
-done:
 	avf_enable_irq0(hw);
 }
 
diff --git a/drivers/net/avf/avf_rxtx.c b/drivers/net/avf/avf_rxtx.c
index e03a136fc..edff48d27 100644
--- a/drivers/net/avf/avf_rxtx.c
+++ b/drivers/net/avf/avf_rxtx.c
@@ -247,7 +247,6 @@ alloc_rxq_mbufs(struct avf_rx_queue *rxq)
 static inline void
 release_rxq_mbufs(struct avf_rx_queue *rxq)
 {
-	struct rte_mbuf *mbuf;
 	uint16_t i;
 
 	if (!rxq->sw_ring)
@@ -310,9 +309,8 @@ avf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
 	struct avf_rx_queue *rxq;
 	const struct rte_memzone *mz;
 	uint32_t ring_size;
-	uint16_t len, i;
+	uint16_t len;
 	uint16_t rx_free_thresh;
-	uint16_t base, bsf, tc_mapping;
 
 	PMD_INIT_FUNC_TRACE();
 
@@ -428,13 +426,10 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 		       const struct rte_eth_txconf *tx_conf)
 {
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct avf_adapter *ad =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_tx_queue *txq;
 	const struct rte_memzone *mz;
 	uint32_t ring_size;
 	uint16_t tx_rs_thresh, tx_free_thresh;
-	uint16_t i, base, bsf, tc_mapping;
 	uint64_t offloads;
 
 	PMD_INIT_FUNC_TRACE();
@@ -515,8 +510,11 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	txq->ops = &def_txq_ops;
 
 #ifdef RTE_LIBRTE_AVF_INC_VECTOR
-	if (check_tx_vec_allow(txq) == FALSE)
+	if (check_tx_vec_allow(txq) == FALSE) {
+		struct avf_adapter *ad =
+			AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 		ad->tx_vec_allowed = false;
+	}
 #endif
 
 	return 0;
@@ -1268,7 +1266,6 @@ static inline uint16_t
 rx_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 {
 	struct avf_rx_queue *rxq = (struct avf_rx_queue *)rx_queue;
-	struct rte_eth_dev *dev;
 	uint16_t nb_rx = 0;
 
 	if (!nb_pkts)
@@ -1584,10 +1581,6 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 
 		if (nb_ctx) {
 			/* Setup TX context descriptor if required */
-			volatile struct avf_tx_context_desc *ctx_txd =
-				(volatile struct avf_tx_context_desc *)
-					&txr[tx_id];
-			uint16_t cd_l2tag2 = 0;
 			uint64_t cd_type_cmd_tso_mss =
 				AVF_TX_DESC_DTYPE_CONTEXT;
 
diff --git a/drivers/net/avf/avf_vchnl.c b/drivers/net/avf/avf_vchnl.c
index fa71014e1..fd90cc2c3 100644
--- a/drivers/net/avf/avf_vchnl.c
+++ b/drivers/net/avf/avf_vchnl.c
@@ -69,7 +69,6 @@ avf_execute_vf_cmd(struct avf_adapter *adapter, struct avf_cmd_info *args)
 {
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(adapter);
 	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
-	struct avf_arq_event_info event_info;
 	enum avf_status_code ret;
 	int err = 0;
 	int i = 0;
@@ -600,7 +599,6 @@ avf_config_irq_map(struct avf_adapter *adapter)
 	struct virtchnl_irq_map_info *map_info;
 	struct virtchnl_vector_map *vecmap;
 	struct avf_cmd_info args;
-	uint32_t vector_id;
 	int len, i, err;
 
 	len = sizeof(struct virtchnl_irq_map_info) +
-- 
2.17.1

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [dpdk-dev] [PATCH v2 2/2] net/avf: fix missing compiler error flags
  2018-09-18 13:17 ` [dpdk-dev] [PATCH v2 1/2] net/avf: fix " Bruce Richardson
@ 2018-09-18 13:17   ` Bruce Richardson
  2018-09-18 13:54     ` Ferruh Yigit
  2018-09-18 13:51   ` [dpdk-dev] [PATCH v2 1/2] net/avf: fix unused variables and label Ferruh Yigit
  2018-09-18 14:22   ` [dpdk-dev] [PATCH v3 " Bruce Richardson
  2 siblings, 1 reply; 19+ messages in thread
From: Bruce Richardson @ 2018-09-18 13:17 UTC (permalink / raw)
  To: Jingjing Wu, Wenzhuo Lu
  Cc: ferruh.yigit, dev, bluca, Zhang, Qi Z, Bruce Richardson, stable

The AVF driver was missing $(WERROR_FLAGS) in it's cflags, which means
that a number of compilation errors were getting missed. This patch adds
in the flag and fixes most of the errors, just disabling the
strict-aliasing ones.

Fixes: 22b123a36d07 ("net/avf: initialize PMD")
Fixes: 69dd4c3d0898 ("net/avf: enable queue and device")
Fixes: a2b29a7733ef ("net/avf: enable basic Rx Tx")
Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx")

CC: stable@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/avf/Makefile           | 2 +-
 drivers/net/avf/avf_ethdev.c       | 2 +-
 drivers/net/avf/avf_rxtx.h         | 2 +-
 drivers/net/avf/avf_rxtx_vec_sse.c | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/avf/Makefile b/drivers/net/avf/Makefile
index 3f815bbc4..0a142c104 100644
--- a/drivers/net/avf/Makefile
+++ b/drivers/net/avf/Makefile
@@ -8,7 +8,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_pmd_avf.a
 
-CFLAGS += -O3
+CFLAGS += -O3 $(WERROR_FLAGS) -Wno-strict-aliasing
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
 LDLIBS += -lrte_bus_pci
diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/avf/avf_ethdev.c
index 6b6ff7d55..549498477 100644
--- a/drivers/net/avf/avf_ethdev.c
+++ b/drivers/net/avf/avf_ethdev.c
@@ -559,7 +559,7 @@ avf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 }
 
 static const uint32_t *
-avf_dev_supported_ptypes_get(struct rte_eth_dev *dev)
+avf_dev_supported_ptypes_get(struct rte_eth_dev *dev __rte_unused)
 {
 	static const uint32_t ptypes[] = {
 		RTE_PTYPE_L2_ETHER,
diff --git a/drivers/net/avf/avf_rxtx.h b/drivers/net/avf/avf_rxtx.h
index 297d0776d..c4120f8a4 100644
--- a/drivers/net/avf/avf_rxtx.h
+++ b/drivers/net/avf/avf_rxtx.h
@@ -227,7 +227,7 @@ static inline
 void avf_dump_tx_descriptor(const struct avf_tx_queue *txq,
 			    const void *desc, uint16_t tx_id)
 {
-	char *name;
+	const char *name;
 	const struct avf_tx_desc *tx_desc = desc;
 	enum avf_tx_desc_dtype_value type;
 
diff --git a/drivers/net/avf/avf_rxtx_vec_sse.c b/drivers/net/avf/avf_rxtx_vec_sse.c
index 8275100f3..343a6aac3 100644
--- a/drivers/net/avf/avf_rxtx_vec_sse.c
+++ b/drivers/net/avf/avf_rxtx_vec_sse.c
@@ -621,7 +621,7 @@ avf_xmit_fixed_burst_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
 	return nb_pkts;
 }
 
-void __attribute__((cold))
+static void __attribute__((cold))
 avf_rx_queue_release_mbufs_sse(struct avf_rx_queue *rxq)
 {
 	_avf_rx_queue_release_mbufs_vec(rxq);
-- 
2.17.1

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/2] net/avf: fix unused variables and label
  2018-09-18 13:17 ` [dpdk-dev] [PATCH v2 1/2] net/avf: fix " Bruce Richardson
  2018-09-18 13:17   ` [dpdk-dev] [PATCH v2 2/2] net/avf: fix missing compiler error flags Bruce Richardson
@ 2018-09-18 13:51   ` Ferruh Yigit
  2018-09-18 14:18     ` Bruce Richardson
  2018-09-18 14:22   ` [dpdk-dev] [PATCH v3 " Bruce Richardson
  2 siblings, 1 reply; 19+ messages in thread
From: Ferruh Yigit @ 2018-09-18 13:51 UTC (permalink / raw)
  To: Bruce Richardson, Jingjing Wu, Wenzhuo Lu; +Cc: dev, bluca, Qi Zhang, stable

On 9/18/2018 2:17 PM, Bruce Richardson wrote:
> Compiling with all warnings turned on causes errors about unused variables
> and an unused label. Remove these to allow building without having to
> disable those warnings.
> 
> Fixes: 69dd4c3d0898 ("net/avf: enable queue and device")
> Fixes: 3fd7a3719c66 ("net/avf: enable ops for MTU setting")
> Fixes: d6bde6b5eae9 ("net/avf: enable Rx interrupt")
> Fixes: 22b123a36d07 ("net/avf: initialize PMD")
> Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx")
> Fixes: a2b29a7733ef ("net/avf: enable basic Rx Tx")>
> CC: stable@dpdk.org
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> Acked-by: Luca Boccassi <bluca@debian.org>

<...>

> @@ -1268,7 +1266,6 @@ static inline uint16_t
>  rx_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
>  {
>  	struct avf_rx_queue *rxq = (struct avf_rx_queue *)rx_queue;
> -	struct rte_eth_dev *dev;

Fixes: 1060591eada5 ("net/avf: enable bulk allocate Rx")

>  	uint16_t nb_rx = 0;
>  
>  	if (!nb_pkts)
> @@ -1584,10 +1581,6 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
>  
>  		if (nb_ctx) {
>  			/* Setup TX context descriptor if required */
> -			volatile struct avf_tx_context_desc *ctx_txd =
> -				(volatile struct avf_tx_context_desc *)
> -					&txr[tx_id];

ctx_txd seems used in below macro controlled by DEBUG_DUMP_DESC define
AVF_DUMP_TX_DESC(txq, ctx_txd, tx_id);

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [dpdk-dev] [PATCH v2 2/2] net/avf: fix missing compiler error flags
  2018-09-18 13:17   ` [dpdk-dev] [PATCH v2 2/2] net/avf: fix missing compiler error flags Bruce Richardson
@ 2018-09-18 13:54     ` Ferruh Yigit
  0 siblings, 0 replies; 19+ messages in thread
From: Ferruh Yigit @ 2018-09-18 13:54 UTC (permalink / raw)
  To: Bruce Richardson, Jingjing Wu, Wenzhuo Lu; +Cc: dev, bluca, Zhang, Qi Z, stable

On 9/18/2018 2:17 PM, Bruce Richardson wrote:
> The AVF driver was missing $(WERROR_FLAGS) in it's cflags, which means
> that a number of compilation errors were getting missed. This patch adds
> in the flag and fixes most of the errors, just disabling the
> strict-aliasing ones.
> 
> Fixes: 22b123a36d07 ("net/avf: initialize PMD")
> Fixes: 69dd4c3d0898 ("net/avf: enable queue and device")
> Fixes: a2b29a7733ef ("net/avf: enable basic Rx Tx")
> Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx")
> 
> CC: stable@dpdk.org
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>

Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/2] net/avf: fix unused variables and label
  2018-09-18 13:51   ` [dpdk-dev] [PATCH v2 1/2] net/avf: fix unused variables and label Ferruh Yigit
@ 2018-09-18 14:18     ` Bruce Richardson
  0 siblings, 0 replies; 19+ messages in thread
From: Bruce Richardson @ 2018-09-18 14:18 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Jingjing Wu, Wenzhuo Lu, dev, bluca, Qi Zhang, stable

On Tue, Sep 18, 2018 at 02:51:27PM +0100, Ferruh Yigit wrote:
> On 9/18/2018 2:17 PM, Bruce Richardson wrote:
> > Compiling with all warnings turned on causes errors about unused variables
> > and an unused label. Remove these to allow building without having to
> > disable those warnings.
> > 
> > Fixes: 69dd4c3d0898 ("net/avf: enable queue and device")
> > Fixes: 3fd7a3719c66 ("net/avf: enable ops for MTU setting")
> > Fixes: d6bde6b5eae9 ("net/avf: enable Rx interrupt")
> > Fixes: 22b123a36d07 ("net/avf: initialize PMD")
> > Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx")
> > Fixes: a2b29a7733ef ("net/avf: enable basic Rx Tx")>
> > CC: stable@dpdk.org
> > 
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > Acked-by: Luca Boccassi <bluca@debian.org>
> 
> <...>
> 
> > @@ -1268,7 +1266,6 @@ static inline uint16_t
> >  rx_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
> >  {
> >  	struct avf_rx_queue *rxq = (struct avf_rx_queue *)rx_queue;
> > -	struct rte_eth_dev *dev;
> 
> Fixes: 1060591eada5 ("net/avf: enable bulk allocate Rx")
> 
There's always one more! :-(

> >  	uint16_t nb_rx = 0;
> >  
> >  	if (!nb_pkts)
> > @@ -1584,10 +1581,6 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
> >  
> >  		if (nb_ctx) {
> >  			/* Setup TX context descriptor if required */
> > -			volatile struct avf_tx_context_desc *ctx_txd =
> > -				(volatile struct avf_tx_context_desc *)
> > -					&txr[tx_id];
> 
> ctx_txd seems used in below macro controlled by DEBUG_DUMP_DESC define
> AVF_DUMP_TX_DESC(txq, ctx_txd, tx_id);

Yes, looking now it is. The function that is called from that macro takes a
void *, so I don't think the temporary variable is needed at all. I'll do a
V3, changing ctx_txd to &txr[tx_id] in that instance.

However, compiling with the DUMP_DESC flag turned on raises a whole set of
other compiler warnings in the code - even with 18.08 release. Therefore
that option should either be fixed and made a proper debug option in the
build config, or else dropped.

/Bruce

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [dpdk-dev] [PATCH v3 1/2] net/avf: fix unused variables and label
  2018-09-18 13:17 ` [dpdk-dev] [PATCH v2 1/2] net/avf: fix " Bruce Richardson
  2018-09-18 13:17   ` [dpdk-dev] [PATCH v2 2/2] net/avf: fix missing compiler error flags Bruce Richardson
  2018-09-18 13:51   ` [dpdk-dev] [PATCH v2 1/2] net/avf: fix unused variables and label Ferruh Yigit
@ 2018-09-18 14:22   ` Bruce Richardson
  2018-09-18 14:22     ` [dpdk-dev] [PATCH v3 2/2] net/avf: fix missing compiler error flags Bruce Richardson
  2 siblings, 1 reply; 19+ messages in thread
From: Bruce Richardson @ 2018-09-18 14:22 UTC (permalink / raw)
  To: Jingjing Wu, Wenzhuo Lu; +Cc: dev, ferruh.yigit, Bruce Richardson, stable

Compiling with all warnings turned on causes errors about unused variables
and an unused label. Remove these to allow building without having to
disable those warnings.

Fixes: 69dd4c3d0898 ("net/avf: enable queue and device")
Fixes: 3fd7a3719c66 ("net/avf: enable ops for MTU setting")
Fixes: d6bde6b5eae9 ("net/avf: enable Rx interrupt")
Fixes: 22b123a36d07 ("net/avf: initialize PMD")
Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx")
Fixes: a2b29a7733ef ("net/avf: enable basic Rx Tx")
Fixes: 1060591eada5 ("net/avf: enable bulk allocate Rx")

CC: stable@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/avf/avf_ethdev.c | 15 +--------------
 drivers/net/avf/avf_rxtx.c   | 19 ++++++-------------
 drivers/net/avf/avf_vchnl.c  |  2 --
 3 files changed, 7 insertions(+), 29 deletions(-)

diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/avf/avf_ethdev.c
index a7d69828c..6b6ff7d55 100644
--- a/drivers/net/avf/avf_ethdev.c
+++ b/drivers/net/avf/avf_ethdev.c
@@ -154,7 +154,6 @@ static int
 avf_init_rss(struct avf_adapter *adapter)
 {
 	struct avf_info *vf =  AVF_DEV_PRIVATE_TO_VF(adapter);
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(adapter);
 	struct rte_eth_rss_conf *rss_conf;
 	uint8_t i, j, nb_q;
 	int ret;
@@ -259,11 +258,8 @@ avf_init_rxq(struct rte_eth_dev *dev, struct avf_rx_queue *rxq)
 static int
 avf_init_queues(struct rte_eth_dev *dev)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 	struct avf_rx_queue **rxq =
 		(struct avf_rx_queue **)dev->data->rx_queues;
-	struct avf_tx_queue **txq =
-		(struct avf_tx_queue **)dev->data->tx_queues;
 	int i, ret = AVF_SUCCESS;
 
 	for (i = 0; i < dev->data->nb_rx_queues; i++) {
@@ -415,7 +411,6 @@ avf_dev_start(struct rte_eth_dev *dev)
 		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 	struct rte_intr_handle *intr_handle = dev->intr_handle;
 
 	PMD_INIT_FUNC_TRACE();
@@ -476,9 +471,7 @@ avf_dev_stop(struct rte_eth_dev *dev)
 	struct avf_adapter *adapter =
 		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 	struct rte_intr_handle *intr_handle = dev->intr_handle;
-	int ret, i;
 
 	PMD_INIT_FUNC_TRACE();
 
@@ -503,8 +496,6 @@ avf_dev_stop(struct rte_eth_dev *dev)
 static void
 avf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 
 	memset(dev_info, 0, sizeof(*dev_info));
@@ -914,7 +905,6 @@ avf_dev_rss_hash_conf_get(struct rte_eth_dev *dev,
 static int
 avf_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 	uint32_t frame_size = mtu + AVF_ETH_OVERHEAD;
 	int ret = 0;
 
@@ -1044,8 +1034,6 @@ avf_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
 static int
 avf_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 	uint16_t msix_intr;
@@ -1088,7 +1076,7 @@ avf_check_vf_reset_done(struct avf_hw *hw)
 static int
 avf_init_vf(struct rte_eth_dev *dev)
 {
-	int i, err, bufsz;
+	int err, bufsz;
 	struct avf_adapter *adapter =
 		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
@@ -1197,7 +1185,6 @@ avf_dev_interrupt_handler(void *param)
 
 	avf_handle_virtchnl_msg(dev);
 
-done:
 	avf_enable_irq0(hw);
 }
 
diff --git a/drivers/net/avf/avf_rxtx.c b/drivers/net/avf/avf_rxtx.c
index e03a136fc..6b3b0191c 100644
--- a/drivers/net/avf/avf_rxtx.c
+++ b/drivers/net/avf/avf_rxtx.c
@@ -247,7 +247,6 @@ alloc_rxq_mbufs(struct avf_rx_queue *rxq)
 static inline void
 release_rxq_mbufs(struct avf_rx_queue *rxq)
 {
-	struct rte_mbuf *mbuf;
 	uint16_t i;
 
 	if (!rxq->sw_ring)
@@ -310,9 +309,8 @@ avf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
 	struct avf_rx_queue *rxq;
 	const struct rte_memzone *mz;
 	uint32_t ring_size;
-	uint16_t len, i;
+	uint16_t len;
 	uint16_t rx_free_thresh;
-	uint16_t base, bsf, tc_mapping;
 
 	PMD_INIT_FUNC_TRACE();
 
@@ -428,13 +426,10 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 		       const struct rte_eth_txconf *tx_conf)
 {
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct avf_adapter *ad =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_tx_queue *txq;
 	const struct rte_memzone *mz;
 	uint32_t ring_size;
 	uint16_t tx_rs_thresh, tx_free_thresh;
-	uint16_t i, base, bsf, tc_mapping;
 	uint64_t offloads;
 
 	PMD_INIT_FUNC_TRACE();
@@ -515,8 +510,11 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	txq->ops = &def_txq_ops;
 
 #ifdef RTE_LIBRTE_AVF_INC_VECTOR
-	if (check_tx_vec_allow(txq) == FALSE)
+	if (check_tx_vec_allow(txq) == FALSE) {
+		struct avf_adapter *ad =
+			AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 		ad->tx_vec_allowed = false;
+	}
 #endif
 
 	return 0;
@@ -1268,7 +1266,6 @@ static inline uint16_t
 rx_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 {
 	struct avf_rx_queue *rxq = (struct avf_rx_queue *)rx_queue;
-	struct rte_eth_dev *dev;
 	uint16_t nb_rx = 0;
 
 	if (!nb_pkts)
@@ -1584,10 +1581,6 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 
 		if (nb_ctx) {
 			/* Setup TX context descriptor if required */
-			volatile struct avf_tx_context_desc *ctx_txd =
-				(volatile struct avf_tx_context_desc *)
-					&txr[tx_id];
-			uint16_t cd_l2tag2 = 0;
 			uint64_t cd_type_cmd_tso_mss =
 				AVF_TX_DESC_DTYPE_CONTEXT;
 
@@ -1603,7 +1596,7 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 				cd_type_cmd_tso_mss |=
 					avf_set_tso_ctx(tx_pkt, tx_offload);
 
-			AVF_DUMP_TX_DESC(txq, ctx_txd, tx_id);
+			AVF_DUMP_TX_DESC(txq, &txr[tx_id], tx_id);
 			txe->last_id = tx_last;
 			tx_id = txe->next_id;
 			txe = txn;
diff --git a/drivers/net/avf/avf_vchnl.c b/drivers/net/avf/avf_vchnl.c
index fa71014e1..fd90cc2c3 100644
--- a/drivers/net/avf/avf_vchnl.c
+++ b/drivers/net/avf/avf_vchnl.c
@@ -69,7 +69,6 @@ avf_execute_vf_cmd(struct avf_adapter *adapter, struct avf_cmd_info *args)
 {
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(adapter);
 	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
-	struct avf_arq_event_info event_info;
 	enum avf_status_code ret;
 	int err = 0;
 	int i = 0;
@@ -600,7 +599,6 @@ avf_config_irq_map(struct avf_adapter *adapter)
 	struct virtchnl_irq_map_info *map_info;
 	struct virtchnl_vector_map *vecmap;
 	struct avf_cmd_info args;
-	uint32_t vector_id;
 	int len, i, err;
 
 	len = sizeof(struct virtchnl_irq_map_info) +
-- 
2.17.1

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [dpdk-dev] [PATCH v3 2/2] net/avf: fix missing compiler error flags
  2018-09-18 14:22   ` [dpdk-dev] [PATCH v3 " Bruce Richardson
@ 2018-09-18 14:22     ` Bruce Richardson
  0 siblings, 0 replies; 19+ messages in thread
From: Bruce Richardson @ 2018-09-18 14:22 UTC (permalink / raw)
  To: Jingjing Wu, Wenzhuo Lu; +Cc: dev, ferruh.yigit, Bruce Richardson, stable

The AVF driver was missing $(WERROR_FLAGS) in it's cflags, which means
that a number of compilation errors were getting missed. This patch adds
in the flag and fixes most of the errors, just disabling the
strict-aliasing ones.

Fixes: 22b123a36d07 ("net/avf: initialize PMD")
Fixes: 69dd4c3d0898 ("net/avf: enable queue and device")
Fixes: a2b29a7733ef ("net/avf: enable basic Rx Tx")
Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx")

CC: stable@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/avf/Makefile           | 2 +-
 drivers/net/avf/avf_ethdev.c       | 2 +-
 drivers/net/avf/avf_rxtx.h         | 2 +-
 drivers/net/avf/avf_rxtx_vec_sse.c | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/avf/Makefile b/drivers/net/avf/Makefile
index 3f815bbc4..0a142c104 100644
--- a/drivers/net/avf/Makefile
+++ b/drivers/net/avf/Makefile
@@ -8,7 +8,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_pmd_avf.a
 
-CFLAGS += -O3
+CFLAGS += -O3 $(WERROR_FLAGS) -Wno-strict-aliasing
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
 LDLIBS += -lrte_bus_pci
diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/avf/avf_ethdev.c
index 6b6ff7d55..549498477 100644
--- a/drivers/net/avf/avf_ethdev.c
+++ b/drivers/net/avf/avf_ethdev.c
@@ -559,7 +559,7 @@ avf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 }
 
 static const uint32_t *
-avf_dev_supported_ptypes_get(struct rte_eth_dev *dev)
+avf_dev_supported_ptypes_get(struct rte_eth_dev *dev __rte_unused)
 {
 	static const uint32_t ptypes[] = {
 		RTE_PTYPE_L2_ETHER,
diff --git a/drivers/net/avf/avf_rxtx.h b/drivers/net/avf/avf_rxtx.h
index 297d0776d..c4120f8a4 100644
--- a/drivers/net/avf/avf_rxtx.h
+++ b/drivers/net/avf/avf_rxtx.h
@@ -227,7 +227,7 @@ static inline
 void avf_dump_tx_descriptor(const struct avf_tx_queue *txq,
 			    const void *desc, uint16_t tx_id)
 {
-	char *name;
+	const char *name;
 	const struct avf_tx_desc *tx_desc = desc;
 	enum avf_tx_desc_dtype_value type;
 
diff --git a/drivers/net/avf/avf_rxtx_vec_sse.c b/drivers/net/avf/avf_rxtx_vec_sse.c
index 8275100f3..343a6aac3 100644
--- a/drivers/net/avf/avf_rxtx_vec_sse.c
+++ b/drivers/net/avf/avf_rxtx_vec_sse.c
@@ -621,7 +621,7 @@ avf_xmit_fixed_burst_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
 	return nb_pkts;
 }
 
-void __attribute__((cold))
+static void __attribute__((cold))
 avf_rx_queue_release_mbufs_sse(struct avf_rx_queue *rxq)
 {
 	_avf_rx_queue_release_mbufs_vec(rxq);
-- 
2.17.1

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [dpdk-dev] [PATCH v4 0/3] AVF build improvements
  2018-09-13 14:44 [dpdk-dev] [PATCH] net/avf: remove unused variables and label Bruce Richardson
                   ` (2 preceding siblings ...)
  2018-09-18 13:17 ` [dpdk-dev] [PATCH v2 1/2] net/avf: fix " Bruce Richardson
@ 2018-09-19 10:04 ` Bruce Richardson
  2018-09-19 10:04   ` [dpdk-dev] [PATCH v4 1/3] net/avf: fix unused variables and label Bruce Richardson
                     ` (3 more replies)
  3 siblings, 4 replies; 19+ messages in thread
From: Bruce Richardson @ 2018-09-19 10:04 UTC (permalink / raw)
  To: Jingjing Wu, Wenzhuo Lu; +Cc: dev, Zhang Qi Z, Ferruh Yigit, Bruce Richardson

This set adds a number of build improvements for AVF driver. It adds
support for building with meson, and adds in the $(WERROR) flags for
the make build. To fix both these cases, a number of fixes for
compiler warnings are also made.

V4: Including meson build patch into set. Added in missing reviewed and
    acked lines from V3.

V3: Added missing fixed line and fixed error due to a removed var

V2: Added in $WERROR flag to make, and expanded set to 2 patches

V1: Original single patch, just removed unused variables/label for meson
    build.

Bruce Richardson (2):
  net/avf: fix unused variables and label
  net/avf: fix missing compiler error flags

Luca Boccassi (1):
  build: add Meson files for avf PMD

 drivers/net/avf/Makefile           |  2 +-
 drivers/net/avf/avf_ethdev.c       | 17 ++---------------
 drivers/net/avf/avf_rxtx.c         | 19 ++++++-------------
 drivers/net/avf/avf_rxtx.h         |  2 +-
 drivers/net/avf/avf_rxtx_vec_sse.c |  2 +-
 drivers/net/avf/avf_vchnl.c        |  2 --
 drivers/net/avf/base/meson.build   | 20 ++++++++++++++++++++
 drivers/net/avf/meson.build        | 18 ++++++++++++++++++
 drivers/net/meson.build            |  1 +
 9 files changed, 50 insertions(+), 33 deletions(-)
 create mode 100644 drivers/net/avf/base/meson.build
 create mode 100644 drivers/net/avf/meson.build

-- 
2.17.1

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [dpdk-dev] [PATCH v4 1/3] net/avf: fix unused variables and label
  2018-09-19 10:04 ` [dpdk-dev] [PATCH v4 0/3] AVF build improvements Bruce Richardson
@ 2018-09-19 10:04   ` Bruce Richardson
  2018-09-19 10:04   ` [dpdk-dev] [PATCH v4 2/3] net/avf: fix missing compiler error flags Bruce Richardson
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 19+ messages in thread
From: Bruce Richardson @ 2018-09-19 10:04 UTC (permalink / raw)
  To: Jingjing Wu, Wenzhuo Lu
  Cc: dev, Zhang Qi Z, Ferruh Yigit, Bruce Richardson, stable

Compiling with all warnings turned on causes errors about unused variables
and an unused label. Remove these to allow building without having to
disable those warnings.

Fixes: 69dd4c3d0898 ("net/avf: enable queue and device")
Fixes: 3fd7a3719c66 ("net/avf: enable ops for MTU setting")
Fixes: d6bde6b5eae9 ("net/avf: enable Rx interrupt")
Fixes: 22b123a36d07 ("net/avf: initialize PMD")
Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx")
Fixes: a2b29a7733ef ("net/avf: enable basic Rx Tx")
Fixes: 1060591eada5 ("net/avf: enable bulk allocate Rx")

CC: stable@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 drivers/net/avf/avf_ethdev.c | 15 +--------------
 drivers/net/avf/avf_rxtx.c   | 19 ++++++-------------
 drivers/net/avf/avf_vchnl.c  |  2 --
 3 files changed, 7 insertions(+), 29 deletions(-)

diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/avf/avf_ethdev.c
index a7d69828c..6b6ff7d55 100644
--- a/drivers/net/avf/avf_ethdev.c
+++ b/drivers/net/avf/avf_ethdev.c
@@ -154,7 +154,6 @@ static int
 avf_init_rss(struct avf_adapter *adapter)
 {
 	struct avf_info *vf =  AVF_DEV_PRIVATE_TO_VF(adapter);
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(adapter);
 	struct rte_eth_rss_conf *rss_conf;
 	uint8_t i, j, nb_q;
 	int ret;
@@ -259,11 +258,8 @@ avf_init_rxq(struct rte_eth_dev *dev, struct avf_rx_queue *rxq)
 static int
 avf_init_queues(struct rte_eth_dev *dev)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 	struct avf_rx_queue **rxq =
 		(struct avf_rx_queue **)dev->data->rx_queues;
-	struct avf_tx_queue **txq =
-		(struct avf_tx_queue **)dev->data->tx_queues;
 	int i, ret = AVF_SUCCESS;
 
 	for (i = 0; i < dev->data->nb_rx_queues; i++) {
@@ -415,7 +411,6 @@ avf_dev_start(struct rte_eth_dev *dev)
 		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 	struct rte_intr_handle *intr_handle = dev->intr_handle;
 
 	PMD_INIT_FUNC_TRACE();
@@ -476,9 +471,7 @@ avf_dev_stop(struct rte_eth_dev *dev)
 	struct avf_adapter *adapter =
 		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 	struct rte_intr_handle *intr_handle = dev->intr_handle;
-	int ret, i;
 
 	PMD_INIT_FUNC_TRACE();
 
@@ -503,8 +496,6 @@ avf_dev_stop(struct rte_eth_dev *dev)
 static void
 avf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 
 	memset(dev_info, 0, sizeof(*dev_info));
@@ -914,7 +905,6 @@ avf_dev_rss_hash_conf_get(struct rte_eth_dev *dev,
 static int
 avf_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 	uint32_t frame_size = mtu + AVF_ETH_OVERHEAD;
 	int ret = 0;
 
@@ -1044,8 +1034,6 @@ avf_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
 static int
 avf_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 	uint16_t msix_intr;
@@ -1088,7 +1076,7 @@ avf_check_vf_reset_done(struct avf_hw *hw)
 static int
 avf_init_vf(struct rte_eth_dev *dev)
 {
-	int i, err, bufsz;
+	int err, bufsz;
 	struct avf_adapter *adapter =
 		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
@@ -1197,7 +1185,6 @@ avf_dev_interrupt_handler(void *param)
 
 	avf_handle_virtchnl_msg(dev);
 
-done:
 	avf_enable_irq0(hw);
 }
 
diff --git a/drivers/net/avf/avf_rxtx.c b/drivers/net/avf/avf_rxtx.c
index e03a136fc..6b3b0191c 100644
--- a/drivers/net/avf/avf_rxtx.c
+++ b/drivers/net/avf/avf_rxtx.c
@@ -247,7 +247,6 @@ alloc_rxq_mbufs(struct avf_rx_queue *rxq)
 static inline void
 release_rxq_mbufs(struct avf_rx_queue *rxq)
 {
-	struct rte_mbuf *mbuf;
 	uint16_t i;
 
 	if (!rxq->sw_ring)
@@ -310,9 +309,8 @@ avf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
 	struct avf_rx_queue *rxq;
 	const struct rte_memzone *mz;
 	uint32_t ring_size;
-	uint16_t len, i;
+	uint16_t len;
 	uint16_t rx_free_thresh;
-	uint16_t base, bsf, tc_mapping;
 
 	PMD_INIT_FUNC_TRACE();
 
@@ -428,13 +426,10 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 		       const struct rte_eth_txconf *tx_conf)
 {
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct avf_adapter *ad =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct avf_tx_queue *txq;
 	const struct rte_memzone *mz;
 	uint32_t ring_size;
 	uint16_t tx_rs_thresh, tx_free_thresh;
-	uint16_t i, base, bsf, tc_mapping;
 	uint64_t offloads;
 
 	PMD_INIT_FUNC_TRACE();
@@ -515,8 +510,11 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	txq->ops = &def_txq_ops;
 
 #ifdef RTE_LIBRTE_AVF_INC_VECTOR
-	if (check_tx_vec_allow(txq) == FALSE)
+	if (check_tx_vec_allow(txq) == FALSE) {
+		struct avf_adapter *ad =
+			AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 		ad->tx_vec_allowed = false;
+	}
 #endif
 
 	return 0;
@@ -1268,7 +1266,6 @@ static inline uint16_t
 rx_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 {
 	struct avf_rx_queue *rxq = (struct avf_rx_queue *)rx_queue;
-	struct rte_eth_dev *dev;
 	uint16_t nb_rx = 0;
 
 	if (!nb_pkts)
@@ -1584,10 +1581,6 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 
 		if (nb_ctx) {
 			/* Setup TX context descriptor if required */
-			volatile struct avf_tx_context_desc *ctx_txd =
-				(volatile struct avf_tx_context_desc *)
-					&txr[tx_id];
-			uint16_t cd_l2tag2 = 0;
 			uint64_t cd_type_cmd_tso_mss =
 				AVF_TX_DESC_DTYPE_CONTEXT;
 
@@ -1603,7 +1596,7 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 				cd_type_cmd_tso_mss |=
 					avf_set_tso_ctx(tx_pkt, tx_offload);
 
-			AVF_DUMP_TX_DESC(txq, ctx_txd, tx_id);
+			AVF_DUMP_TX_DESC(txq, &txr[tx_id], tx_id);
 			txe->last_id = tx_last;
 			tx_id = txe->next_id;
 			txe = txn;
diff --git a/drivers/net/avf/avf_vchnl.c b/drivers/net/avf/avf_vchnl.c
index fa71014e1..fd90cc2c3 100644
--- a/drivers/net/avf/avf_vchnl.c
+++ b/drivers/net/avf/avf_vchnl.c
@@ -69,7 +69,6 @@ avf_execute_vf_cmd(struct avf_adapter *adapter, struct avf_cmd_info *args)
 {
 	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(adapter);
 	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
-	struct avf_arq_event_info event_info;
 	enum avf_status_code ret;
 	int err = 0;
 	int i = 0;
@@ -600,7 +599,6 @@ avf_config_irq_map(struct avf_adapter *adapter)
 	struct virtchnl_irq_map_info *map_info;
 	struct virtchnl_vector_map *vecmap;
 	struct avf_cmd_info args;
-	uint32_t vector_id;
 	int len, i, err;
 
 	len = sizeof(struct virtchnl_irq_map_info) +
-- 
2.17.1

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [dpdk-dev] [PATCH v4 2/3] net/avf: fix missing compiler error flags
  2018-09-19 10:04 ` [dpdk-dev] [PATCH v4 0/3] AVF build improvements Bruce Richardson
  2018-09-19 10:04   ` [dpdk-dev] [PATCH v4 1/3] net/avf: fix unused variables and label Bruce Richardson
@ 2018-09-19 10:04   ` Bruce Richardson
  2018-09-19 10:04   ` [dpdk-dev] [PATCH v4 3/3] build: add meson files for AVF PMD Bruce Richardson
  2018-09-21 14:43   ` [dpdk-dev] [PATCH v4 0/3] AVF build improvements Zhang, Qi Z
  3 siblings, 0 replies; 19+ messages in thread
From: Bruce Richardson @ 2018-09-19 10:04 UTC (permalink / raw)
  To: Jingjing Wu, Wenzhuo Lu
  Cc: dev, Zhang Qi Z, Ferruh Yigit, Bruce Richardson, stable

The AVF driver was missing $(WERROR_FLAGS) in it's cflags, which means
that a number of compilation errors were getting missed. This patch adds
in the flag and fixes most of the errors, just disabling the
strict-aliasing ones.

Fixes: 22b123a36d07 ("net/avf: initialize PMD")
Fixes: 69dd4c3d0898 ("net/avf: enable queue and device")
Fixes: a2b29a7733ef ("net/avf: enable basic Rx Tx")
Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx")

CC: stable@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/avf/Makefile           | 2 +-
 drivers/net/avf/avf_ethdev.c       | 2 +-
 drivers/net/avf/avf_rxtx.h         | 2 +-
 drivers/net/avf/avf_rxtx_vec_sse.c | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/avf/Makefile b/drivers/net/avf/Makefile
index 3f815bbc4..0a142c104 100644
--- a/drivers/net/avf/Makefile
+++ b/drivers/net/avf/Makefile
@@ -8,7 +8,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_pmd_avf.a
 
-CFLAGS += -O3
+CFLAGS += -O3 $(WERROR_FLAGS) -Wno-strict-aliasing
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
 LDLIBS += -lrte_bus_pci
diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/avf/avf_ethdev.c
index 6b6ff7d55..549498477 100644
--- a/drivers/net/avf/avf_ethdev.c
+++ b/drivers/net/avf/avf_ethdev.c
@@ -559,7 +559,7 @@ avf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 }
 
 static const uint32_t *
-avf_dev_supported_ptypes_get(struct rte_eth_dev *dev)
+avf_dev_supported_ptypes_get(struct rte_eth_dev *dev __rte_unused)
 {
 	static const uint32_t ptypes[] = {
 		RTE_PTYPE_L2_ETHER,
diff --git a/drivers/net/avf/avf_rxtx.h b/drivers/net/avf/avf_rxtx.h
index 297d0776d..c4120f8a4 100644
--- a/drivers/net/avf/avf_rxtx.h
+++ b/drivers/net/avf/avf_rxtx.h
@@ -227,7 +227,7 @@ static inline
 void avf_dump_tx_descriptor(const struct avf_tx_queue *txq,
 			    const void *desc, uint16_t tx_id)
 {
-	char *name;
+	const char *name;
 	const struct avf_tx_desc *tx_desc = desc;
 	enum avf_tx_desc_dtype_value type;
 
diff --git a/drivers/net/avf/avf_rxtx_vec_sse.c b/drivers/net/avf/avf_rxtx_vec_sse.c
index 8275100f3..343a6aac3 100644
--- a/drivers/net/avf/avf_rxtx_vec_sse.c
+++ b/drivers/net/avf/avf_rxtx_vec_sse.c
@@ -621,7 +621,7 @@ avf_xmit_fixed_burst_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
 	return nb_pkts;
 }
 
-void __attribute__((cold))
+static void __attribute__((cold))
 avf_rx_queue_release_mbufs_sse(struct avf_rx_queue *rxq)
 {
 	_avf_rx_queue_release_mbufs_vec(rxq);
-- 
2.17.1

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [dpdk-dev] [PATCH v4 3/3] build: add meson files for AVF PMD
  2018-09-19 10:04 ` [dpdk-dev] [PATCH v4 0/3] AVF build improvements Bruce Richardson
  2018-09-19 10:04   ` [dpdk-dev] [PATCH v4 1/3] net/avf: fix unused variables and label Bruce Richardson
  2018-09-19 10:04   ` [dpdk-dev] [PATCH v4 2/3] net/avf: fix missing compiler error flags Bruce Richardson
@ 2018-09-19 10:04   ` Bruce Richardson
  2018-09-21 14:43   ` [dpdk-dev] [PATCH v4 0/3] AVF build improvements Zhang, Qi Z
  3 siblings, 0 replies; 19+ messages in thread
From: Bruce Richardson @ 2018-09-19 10:04 UTC (permalink / raw)
  To: Jingjing Wu, Wenzhuo Lu; +Cc: dev, Zhang Qi Z, Ferruh Yigit, Luca Boccassi

From: Luca Boccassi <bluca@debian.org>

Signed-off-by: Luca Boccassi <bluca@debian.org>
Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++
 drivers/net/avf/meson.build      | 18 ++++++++++++++++++
 drivers/net/meson.build          |  1 +
 3 files changed, 39 insertions(+)
 create mode 100644 drivers/net/avf/base/meson.build
 create mode 100644 drivers/net/avf/meson.build

diff --git a/drivers/net/avf/base/meson.build b/drivers/net/avf/base/meson.build
new file mode 100644
index 000000000..90fd6b445
--- /dev/null
+++ b/drivers/net/avf/base/meson.build
@@ -0,0 +1,20 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
+
+sources = [
+	'avf_adminq.c',
+	'avf_common.c',
+]
+
+error_cflags = ['-Wno-pointer-to-int-cast']
+c_args = cflags
+foreach flag: error_cflags
+	if cc.has_argument(flag)
+		c_args += flag
+	endif
+endforeach
+
+base_lib = static_library('avf_base', sources,
+	dependencies: static_rte_eal,
+	c_args: c_args)
+base_objs = base_lib.extract_all_objects()
diff --git a/drivers/net/avf/meson.build b/drivers/net/avf/meson.build
new file mode 100644
index 000000000..9a05ebbf4
--- /dev/null
+++ b/drivers/net/avf/meson.build
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
+
+cflags += ['-Wno-strict-aliasing']
+
+subdir('base')
+objs = [base_objs]
+
+sources = files(
+	'avf_ethdev.c',
+	'avf_rxtx.c',
+	'avf_vchnl.c',
+)
+
+if arch_subdir == 'x86'
+	dpdk_conf.set('RTE_LIBRTE_AVF_INC_VECTOR', 1)
+	sources += files('avf_rxtx_vec_sse.c')
+endif
diff --git a/drivers/net/meson.build b/drivers/net/meson.build
index 9c28ed4da..bb0da9152 100644
--- a/drivers/net/meson.build
+++ b/drivers/net/meson.build
@@ -3,6 +3,7 @@
 
 drivers = ['af_packet',
 	'ark',
+	'avf',
 	'avp',
 	'axgbe', 'bonding',
 	'bnx2x',
-- 
2.17.1

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [dpdk-dev] [PATCH v4 0/3] AVF build improvements
  2018-09-19 10:04 ` [dpdk-dev] [PATCH v4 0/3] AVF build improvements Bruce Richardson
                     ` (2 preceding siblings ...)
  2018-09-19 10:04   ` [dpdk-dev] [PATCH v4 3/3] build: add meson files for AVF PMD Bruce Richardson
@ 2018-09-21 14:43   ` Zhang, Qi Z
  3 siblings, 0 replies; 19+ messages in thread
From: Zhang, Qi Z @ 2018-09-21 14:43 UTC (permalink / raw)
  To: Richardson, Bruce, Wu, Jingjing, Lu, Wenzhuo; +Cc: dev, Yigit, Ferruh



> -----Original Message-----
> From: Richardson, Bruce
> Sent: Wednesday, September 19, 2018 6:04 PM
> To: Wu, Jingjing <jingjing.wu@intel.com>; Lu, Wenzhuo
> <wenzhuo.lu@intel.com>
> Cc: dev@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>; Yigit, Ferruh
> <ferruh.yigit@intel.com>; Richardson, Bruce <bruce.richardson@intel.com>
> Subject: [PATCH v4 0/3] AVF build improvements
> 
> This set adds a number of build improvements for AVF driver. It adds support
> for building with meson, and adds in the $(WERROR) flags for the make build.
> To fix both these cases, a number of fixes for compiler warnings are also
> made.
> 
> V4: Including meson build patch into set. Added in missing reviewed and
>     acked lines from V3.
> 
> V3: Added missing fixed line and fixed error due to a removed var
> 
> V2: Added in $WERROR flag to make, and expanded set to 2 patches
> 
> V1: Original single patch, just removed unused variables/label for meson
>     build.
> 
> Bruce Richardson (2):
>   net/avf: fix unused variables and label
>   net/avf: fix missing compiler error flags
> 
> Luca Boccassi (1):
>   build: add Meson files for avf PMD
> 
>  drivers/net/avf/Makefile           |  2 +-
>  drivers/net/avf/avf_ethdev.c       | 17 ++---------------
>  drivers/net/avf/avf_rxtx.c         | 19 ++++++-------------
>  drivers/net/avf/avf_rxtx.h         |  2 +-
>  drivers/net/avf/avf_rxtx_vec_sse.c |  2 +-
>  drivers/net/avf/avf_vchnl.c        |  2 --
>  drivers/net/avf/base/meson.build   | 20 ++++++++++++++++++++
>  drivers/net/avf/meson.build        | 18 ++++++++++++++++++
>  drivers/net/meson.build            |  1 +
>  9 files changed, 50 insertions(+), 33 deletions(-)  create mode 100644
> drivers/net/avf/base/meson.build  create mode 100644
> drivers/net/avf/meson.build
> 
> --
> 2.17.1

Applied to dpdk-next-net-intel.

Thanks
Qi

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2018-09-21 14:43 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-13 14:44 [dpdk-dev] [PATCH] net/avf: remove unused variables and label Bruce Richardson
2018-09-13 16:26 ` Luca Boccassi
2018-09-17  7:23   ` Zhang, Qi Z
2018-09-17 14:53 ` Ferruh Yigit
2018-09-17 15:20   ` Bruce Richardson
2018-09-17 16:12     ` Ferruh Yigit
2018-09-17 16:24       ` Bruce Richardson
2018-09-18 13:17 ` [dpdk-dev] [PATCH v2 1/2] net/avf: fix " Bruce Richardson
2018-09-18 13:17   ` [dpdk-dev] [PATCH v2 2/2] net/avf: fix missing compiler error flags Bruce Richardson
2018-09-18 13:54     ` Ferruh Yigit
2018-09-18 13:51   ` [dpdk-dev] [PATCH v2 1/2] net/avf: fix unused variables and label Ferruh Yigit
2018-09-18 14:18     ` Bruce Richardson
2018-09-18 14:22   ` [dpdk-dev] [PATCH v3 " Bruce Richardson
2018-09-18 14:22     ` [dpdk-dev] [PATCH v3 2/2] net/avf: fix missing compiler error flags Bruce Richardson
2018-09-19 10:04 ` [dpdk-dev] [PATCH v4 0/3] AVF build improvements Bruce Richardson
2018-09-19 10:04   ` [dpdk-dev] [PATCH v4 1/3] net/avf: fix unused variables and label Bruce Richardson
2018-09-19 10:04   ` [dpdk-dev] [PATCH v4 2/3] net/avf: fix missing compiler error flags Bruce Richardson
2018-09-19 10:04   ` [dpdk-dev] [PATCH v4 3/3] build: add meson files for AVF PMD Bruce Richardson
2018-09-21 14:43   ` [dpdk-dev] [PATCH v4 0/3] AVF build improvements Zhang, Qi Z

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).