From patchwork Wed Sep 19 10:04:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 44906 X-Patchwork-Delegate: qi.z.zhang@intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BC1D94CA2; Wed, 19 Sep 2018 12:06:00 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 2B09C34F3; Wed, 19 Sep 2018 12:05:59 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Sep 2018 03:05:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,393,1531810800"; d="scan'208";a="258522795" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.223]) by orsmga005.jf.intel.com with ESMTP; 19 Sep 2018 03:04:40 -0700 From: Bruce Richardson To: Jingjing Wu , Wenzhuo Lu Cc: dev@dpdk.org, Zhang Qi Z , Ferruh Yigit , Bruce Richardson , stable@dpdk.org Date: Wed, 19 Sep 2018 11:04:15 +0100 Message-Id: <20180919100417.37868-2-bruce.richardson@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180919100417.37868-1-bruce.richardson@intel.com> References: <20180913144405.72772-1-bruce.richardson@intel.com> <20180919100417.37868-1-bruce.richardson@intel.com> Subject: [dpdk-dev] [PATCH v4 1/3] net/avf: fix unused variables and label 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Acked-by: Luca Boccassi --- 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) + From patchwork Wed Sep 19 10:04:16 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 44907 X-Patchwork-Delegate: qi.z.zhang@intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D2EDD4CA0; Wed, 19 Sep 2018 12:06:03 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 3B36F34F3; Wed, 19 Sep 2018 12:06:00 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Sep 2018 03:05:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,393,1531810800"; d="scan'208";a="258522841" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.223]) by orsmga005.jf.intel.com with ESMTP; 19 Sep 2018 03:04:46 -0700 From: Bruce Richardson To: Jingjing Wu , Wenzhuo Lu Cc: dev@dpdk.org, Zhang Qi Z , Ferruh Yigit , Bruce Richardson , stable@dpdk.org Date: Wed, 19 Sep 2018 11:04:16 +0100 Message-Id: <20180919100417.37868-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180919100417.37868-1-bruce.richardson@intel.com> References: <20180913144405.72772-1-bruce.richardson@intel.com> <20180919100417.37868-1-bruce.richardson@intel.com> Subject: [dpdk-dev] [PATCH v4 2/3] net/avf: fix missing compiler error flags 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Reviewed-by: Ferruh Yigit --- 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); From patchwork Wed Sep 19 10:04:17 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 44908 X-Patchwork-Delegate: qi.z.zhang@intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 08C934F9B; Wed, 19 Sep 2018 12:06:05 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 8ABB64CA0 for ; Wed, 19 Sep 2018 12:06:01 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Sep 2018 03:05:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,393,1531810800"; d="scan'208";a="258522952" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.223]) by orsmga005.jf.intel.com with ESMTP; 19 Sep 2018 03:05:04 -0700 From: Bruce Richardson To: Jingjing Wu , Wenzhuo Lu Cc: dev@dpdk.org, Zhang Qi Z , Ferruh Yigit , Luca Boccassi Date: Wed, 19 Sep 2018 11:04:17 +0100 Message-Id: <20180919100417.37868-4-bruce.richardson@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180919100417.37868-1-bruce.richardson@intel.com> References: <20180913144405.72772-1-bruce.richardson@intel.com> <20180919100417.37868-1-bruce.richardson@intel.com> Subject: [dpdk-dev] [PATCH v4 3/3] build: add meson files for AVF PMD 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Luca Boccassi Signed-off-by: Luca Boccassi Reviewed-by: Bruce Richardson --- 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 + +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 + +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',