DPDK patches and discussions
 help / color / mirror / Atom feed
From: Stephen Hurd <stephen.hurd@broadcom.com>
To: dev@dpdk.org, ajit.khaparde@broadcom.com, bruce.richardson@intel.com
Subject: [dpdk-dev] [PATCH v5 10/38] bnxt: add Tx queue operations (nonfunctional)
Date: Tue, 14 Jun 2016 15:55:43 -0700	[thread overview]
Message-ID: <1465944971-113413-10-git-send-email-stephen.hurd@broadcom.com> (raw)
In-Reply-To: <1465944971-113413-1-git-send-email-stephen.hurd@broadcom.com>

From: Ajit Khaparde <ajit.khaparde@broadcom.com>

In this patch we are adding the bnxt_tx_queue_setup_op() and
bnxt_tx_queue_release_op() functions. These will be tied to the
tx_queue_setup and tx_queue_release dev_ops in a subsequent patch.
In these functions we allocate/free memory for the TX queues.

This still requires support to create a TX ring in the ASIC which
will be completed in a future commit. Each Tx queue created via the
tx_queue_setup dev_op will have an associated Tx ring in the hardware.

A Tx request coming on the Tx queue gets sent to the corresponding
Tx ring in the ASIC for subsequent transmission.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Signed-off-by: Stephen Hurd <stephen.hurd@broadcom.com>
Reviewed-by: David Christensen <david.christensen@broadcom.com>

--
v4:
Address review comments and fix issues pointed out by checkpatch.

v5:
Add more description in commit log
Reorder footer
---
 drivers/net/bnxt/Makefile      |   1 +
 drivers/net/bnxt/bnxt_ethdev.c |   3 +
 drivers/net/bnxt/bnxt_txq.c    | 124 +++++++++++++++++++++++++++++++++++++++++
 drivers/net/bnxt/bnxt_txq.h    |  75 +++++++++++++++++++++++++
 4 files changed, 203 insertions(+)
 create mode 100644 drivers/net/bnxt/bnxt_txq.c
 create mode 100644 drivers/net/bnxt/bnxt_txq.h

diff --git a/drivers/net/bnxt/Makefile b/drivers/net/bnxt/Makefile
index b7834b1..13a90b9 100644
--- a/drivers/net/bnxt/Makefile
+++ b/drivers/net/bnxt/Makefile
@@ -53,6 +53,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_ethdev.c
 SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_filter.c
 SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_hwrm.c
 SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_ring.c
+SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_txq.c
 SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_vnic.c
 
 #
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index b46d2ce..77a6d92 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -41,6 +41,7 @@
 
 #include "bnxt.h"
 #include "bnxt_hwrm.h"
+#include "bnxt_txq.h"
 
 #define DRV_MODULE_NAME		"bnxt"
 static const char bnxt_version[] =
@@ -185,6 +186,8 @@ static struct eth_dev_ops bnxt_dev_ops = {
 	.dev_infos_get = bnxt_dev_info_get_op,
 	.dev_close = bnxt_dev_close_op,
 	.dev_configure = bnxt_dev_configure_op,
+	.tx_queue_setup = bnxt_tx_queue_setup_op,
+	.tx_queue_release = bnxt_tx_queue_release_op,
 };
 
 static bool bnxt_vf_pciid(uint16_t id)
diff --git a/drivers/net/bnxt/bnxt_txq.c b/drivers/net/bnxt/bnxt_txq.c
new file mode 100644
index 0000000..8928984
--- /dev/null
+++ b/drivers/net/bnxt/bnxt_txq.c
@@ -0,0 +1,124 @@
+/*-
+ *   BSD LICENSE
+ *
+ *   Copyright(c) Broadcom Limited.
+ *   All rights reserved.
+ *
+ *   Redistribution and use in source and binary forms, with or without
+ *   modification, are permitted provided that the following conditions
+ *   are met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in
+ *       the documentation and/or other materials provided with the
+ *       distribution.
+ *     * Neither the name of Broadcom Corporation nor the names of its
+ *       contributors may be used to endorse or promote products derived
+ *       from this software without specific prior written permission.
+ *
+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <inttypes.h>
+
+#include <rte_malloc.h>
+
+#include "bnxt.h"
+#include "bnxt_ring.h"
+#include "bnxt_txq.h"
+
+/*
+ * TX Queues
+ */
+
+void bnxt_free_txq_stats(struct bnxt_tx_queue *txq)
+{
+	struct bnxt_cp_ring_info *cpr = txq->cp_ring;
+
+	/* 'Unreserve' rte_memzone */
+
+	if (cpr->hw_stats)
+		cpr->hw_stats = NULL;
+}
+
+static void bnxt_tx_queue_release_mbufs(struct bnxt_tx_queue *txq __rte_unused)
+{
+	/* TODO: Requires interaction with TX ring */
+}
+
+void bnxt_free_tx_mbufs(struct bnxt *bp)
+{
+	struct bnxt_tx_queue *txq;
+	int i;
+
+	for (i = 0; i < (int)bp->tx_nr_rings; i++) {
+		txq = bp->tx_queues[i];
+		bnxt_tx_queue_release_mbufs(txq);
+	}
+}
+
+void bnxt_tx_queue_release_op(void *tx_queue)
+{
+	struct bnxt_tx_queue *txq = (struct bnxt_tx_queue *)tx_queue;
+
+	if (txq) {
+		/* TODO: Free ring and stats here */
+		rte_free(txq);
+	}
+}
+
+int bnxt_tx_queue_setup_op(struct rte_eth_dev *eth_dev,
+			       uint16_t queue_idx,
+			       uint16_t nb_desc,
+			       unsigned int socket_id,
+			       const struct rte_eth_txconf *tx_conf)
+{
+	struct bnxt *bp = (struct bnxt *)eth_dev->data->dev_private;
+	struct bnxt_tx_queue *txq;
+
+	if (!nb_desc || nb_desc > MAX_TX_DESC_CNT) {
+		RTE_LOG(ERR, PMD, "nb_desc %d is invalid", nb_desc);
+		return -EINVAL;
+	}
+
+	if (eth_dev->data->tx_queues) {
+		txq = eth_dev->data->tx_queues[queue_idx];
+		if (txq) {
+			bnxt_tx_queue_release_op(txq);
+			txq = NULL;
+		}
+	}
+	txq = rte_zmalloc_socket("bnxt_tx_queue", sizeof(struct bnxt_tx_queue),
+				 RTE_CACHE_LINE_SIZE, socket_id);
+	if (txq == NULL) {
+		RTE_LOG(ERR, PMD, "bnxt_tx_queue allocation failed!");
+		return -ENOMEM;
+	}
+	txq->bp = bp;
+	txq->nb_tx_desc = nb_desc;
+	txq->tx_free_thresh = tx_conf->tx_free_thresh;
+
+	/* TODO: Initialize ring structure */
+
+	txq->queue_id = queue_idx;
+	txq->port_id = eth_dev->data->port_id;
+
+	/* TODO: Allocate TX ring hardware descriptors */
+
+	/* TODO: Initialize the ring */
+
+	eth_dev->data->tx_queues[queue_idx] = txq;
+	return 0;
+}
diff --git a/drivers/net/bnxt/bnxt_txq.h b/drivers/net/bnxt/bnxt_txq.h
new file mode 100644
index 0000000..16f3a0b
--- /dev/null
+++ b/drivers/net/bnxt/bnxt_txq.h
@@ -0,0 +1,75 @@
+/*-
+ *   BSD LICENSE
+ *
+ *   Copyright(c) Broadcom Limited.
+ *   All rights reserved.
+ *
+ *   Redistribution and use in source and binary forms, with or without
+ *   modification, are permitted provided that the following conditions
+ *   are met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in
+ *       the documentation and/or other materials provided with the
+ *       distribution.
+ *     * Neither the name of Broadcom Corporation nor the names of its
+ *       contributors may be used to endorse or promote products derived
+ *       from this software without specific prior written permission.
+ *
+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _BNXT_TXQ_H_
+#define _BNXT_TXQ_H_
+
+struct bnxt_tx_ring_info;
+struct bnxt_cp_ring_info;
+struct bnxt_tx_queue {
+	uint16_t		nb_tx_desc;    /* number of TX descriptors */
+	uint16_t		tx_free_thresh;/* minimum TX before freeing */
+	/** Index to last TX descriptor to have been cleaned. */
+	uint16_t		last_desc_cleaned;
+	/** Total number of TX descriptors ready to be allocated. */
+	uint16_t		tx_next_dd; /* next desc to scan for DD bit */
+	uint16_t		tx_next_rs; /* next desc to set RS bit */
+	uint16_t		queue_id; /* TX queue index */
+	uint16_t		reg_idx; /* TX queue register index */
+	uint8_t			port_id; /* Device port identifier */
+	uint8_t			pthresh; /* Prefetch threshold register */
+	uint8_t			hthresh; /* Host threshold register */
+	uint8_t			wthresh; /* Write-back threshold reg */
+	uint32_t		txq_flags; /* Holds flags for this TXq */
+	uint32_t		ctx_curr; /* Hardware context states */
+	uint8_t			tx_deferred_start; /* not in global dev start */
+
+	struct bnxt		*bp;
+	int			index;
+	int			tx_wake_thresh;
+	struct bnxt_tx_ring_info	*tx_ring;
+
+	unsigned int		cp_nr_rings;
+	struct bnxt_cp_ring_info	*cp_ring;
+};
+
+void bnxt_free_txq_stats(struct bnxt_tx_queue *txq);
+void bnxt_free_tx_mbufs(struct bnxt *bp);
+void bnxt_tx_queue_release_op(void *tx_queue);
+int bnxt_tx_queue_setup_op(struct rte_eth_dev *eth_dev,
+			       uint16_t queue_idx,
+			       uint16_t nb_desc,
+			       unsigned int socket_id,
+			       const struct rte_eth_txconf *tx_conf);
+
+#endif
-- 
1.9.1

  parent reply	other threads:[~2016-06-14 22:57 UTC|newest]

Thread overview: 132+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-06 22:08 [dpdk-dev] [PATCH v4 01/39] bnxt: new driver for Broadcom NetXtreme-C devices Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 02/39] bnxt: add HWRM init code Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 03/39] bnxt: add driver register/unregister support Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 04/39] bnxt: add dev infos get operation Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 05/39] bnxt: add dev configure operation Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 06/39] bnxt: add vnic functions and structs Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 07/39] bnxt: declare ring structs and free() func Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 08/39] bnxt: add completion ring support Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 09/39] bnxt: add L2 filter alloc/init/free Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 10/39] bnxt: add Tx queue operations (nonfunctional) Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 11/39] bnxt: add Rx queue create/destroy operations Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 12/39] bnxt: Add statistics operations Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 13/39] bnxt: initial Tx code implementation Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 14/39] bnxt: initial Rx " Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 15/39] bnxt: Code to alloc/free ring Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 16/39] bnxt: add HWRM function reset command Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 17/39] bnxt: add HWRM vnic alloc function Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 18/39] bnxt: add HWRM vnic free function Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 19/39] bnxt: add HWRM vnic configure function Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 20/39] bnxt: add API to allow configuration of vnic Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 21/39] bnxt: add HWRM API to configure RSS Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 22/39] bnxt: add API for L2 Rx mask set/clear functions Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 23/39] bnxt: add HWRM stats context allocation Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 24/39] bnxt: add HWRM ring alloc/free functions Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 25/39] bnxt: add ring group " Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 26/39] bnxt: add HWRM stat context free function Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 27/39] bnxt: Add HWRM API to set and clear filters Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 28/39] bnxt: add ring alloc, free and group init Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 29/39] bnxt: add HWRM port PHY config call and helpers Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 30/39] bnxt: add start/stop/link update operations Stephen Hurd
2016-06-08 10:02   ` Bruce Richardson
2016-06-08 10:41     ` Bruce Richardson
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 31/39] bnxt: add promiscuous enable/disable operations Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 32/39] bnxt: add all multicast " Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 33/39] bnxt: free memory in close operation Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 34/39] bnxt: add MAC address add/remove dev_ops Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 35/39] bnxt: add set link up/down operations Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 36/39] bnxt: add reta update/query operations Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 37/39] bnxt: add RSS device operations Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 38/39] bnxt: add flow control operations Stephen Hurd
2016-06-06 22:08 ` [dpdk-dev] [PATCH v4 39/39] bnxt: Replace bnxt_ring_struct with bnxt_ring Stephen Hurd
2016-06-07  6:25 ` [dpdk-dev] [PATCH v4 01/39] bnxt: new driver for Broadcom NetXtreme-C devices Thomas Monjalon
2016-06-08 10:31   ` Bruce Richardson
2016-06-08 10:21 ` Bruce Richardson
2016-06-08 10:41   ` Bruce Richardson
2016-06-14 13:14     ` Bruce Richardson
2016-06-14 22:55 ` [dpdk-dev] [PATCH v5 01/38] " Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 02/38] bnxt: add HWRM init code Stephen Hurd
2016-06-15 16:25     ` Ferruh Yigit
2016-06-15 20:28       ` Stephen Hurd
2016-06-16  9:46         ` Bruce Richardson
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 03/38] bnxt: add driver register/unregister support Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 04/38] bnxt: add dev infos get operation Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 05/38] bnxt: add dev configure operation Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 06/38] bnxt: add vnic functions and structs Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 07/38] bnxt: declare generic ring structs and free() func Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 08/38] bnxt: add completion ring support Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 09/38] bnxt: add L2 filter alloc/init/free Stephen Hurd
2016-06-14 22:55   ` Stephen Hurd [this message]
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 11/38] bnxt: add Rx queue create/destroy operations Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 12/38] bnxt: add statistics operations Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 13/38] bnxt: add initial Tx code implementation Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 14/38] bnxt: add initial Rx " Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 15/38] bnxt: add code to alloc/free Tx Rx and cmpl rings Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 16/38] bnxt: add HWRM function reset command Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 17/38] bnxt: add HWRM vnic alloc function Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 18/38] bnxt: add HWRM vnic free function Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 19/38] bnxt: add HWRM vnic configure function Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 20/38] bnxt: add API to allow configuration of vnic Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 21/38] bnxt: add HWRM API to configure RSS Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 22/38] bnxt: add API for L2 Rx mask set/clear functions Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 23/38] bnxt: add HWRM API for stats context allocation Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 24/38] bnxt: add HWRM ring alloc/free functions Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 25/38] bnxt: add ring group " Stephen Hurd
2016-06-14 22:55   ` [dpdk-dev] [PATCH v5 26/38] bnxt: add HWRM stat context free function Stephen Hurd
2016-06-14 22:56   ` [dpdk-dev] [PATCH v5 27/38] bnxt: add HWRM API to set and clear filters Stephen Hurd
2016-06-14 22:56   ` [dpdk-dev] [PATCH v5 28/38] bnxt: allocate and free all HWRM rings and groups Stephen Hurd
2016-06-14 22:56   ` [dpdk-dev] [PATCH v5 29/38] bnxt: add HWRM port PHY config call and helpers Stephen Hurd
2016-06-14 22:56   ` [dpdk-dev] [PATCH v5 30/38] bnxt: add start/stop/link update operations Stephen Hurd
2016-06-14 22:56   ` [dpdk-dev] [PATCH v5 31/38] bnxt: add promiscuous enable/disable operations Stephen Hurd
2016-06-14 22:56   ` [dpdk-dev] [PATCH v5 32/38] bnxt: add all multicast " Stephen Hurd
2016-06-14 22:56   ` [dpdk-dev] [PATCH v5 33/38] bnxt: free memory in close operation Stephen Hurd
2016-06-14 22:56   ` [dpdk-dev] [PATCH v5 34/38] bnxt: add MAC address add/remove dev ops Stephen Hurd
2016-06-14 22:56   ` [dpdk-dev] [PATCH v5 35/38] bnxt: add set link up/down operations Stephen Hurd
2016-06-14 22:56   ` [dpdk-dev] [PATCH v5 36/38] bnxt: add reta update/query operations Stephen Hurd
2016-06-14 22:56   ` [dpdk-dev] [PATCH v5 37/38] bnxt: add RSS device operations Stephen Hurd
2016-06-14 22:56   ` [dpdk-dev] [PATCH v5 38/38] bnxt: add flow control operations Stephen Hurd
2016-06-15 15:28   ` [dpdk-dev] [PATCH v5 01/38] bnxt: new driver for Broadcom NetXtreme-C devices Bruce Richardson
2016-06-15 15:30   ` Bruce Richardson
2016-06-15 21:23   ` [dpdk-dev] [PATCH v6 00/38] new bnxt poll mode driver library Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 01/38] bnxt: new driver for Broadcom NetXtreme-C devices Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 02/38] bnxt: add HWRM init code Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 03/38] bnxt: add driver register/unregister support Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 04/38] bnxt: add dev infos get operation Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 05/38] bnxt: add dev configure operation Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 06/38] bnxt: add vnic functions and structs Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 07/38] bnxt: declare generic ring structs and free() func Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 08/38] bnxt: add completion ring support Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 09/38] bnxt: add L2 filter alloc/init/free Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 10/38] bnxt: add Tx queue operations (nonfunctional) Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 11/38] bnxt: add Rx queue create/destroy operations Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 12/38] bnxt: add statistics operations Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 13/38] bnxt: add initial Tx code implementation Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 14/38] bnxt: add initial Rx " Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 15/38] bnxt: add code to alloc/free Tx Rx and cmpl rings Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 16/38] bnxt: add HWRM function reset command Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 17/38] bnxt: add HWRM vnic alloc function Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 18/38] bnxt: add HWRM vnic free function Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 19/38] bnxt: add HWRM vnic configure function Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 20/38] bnxt: add API to allow configuration of vnic Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 21/38] bnxt: add HWRM API to configure RSS Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 22/38] bnxt: add API for L2 Rx mask set/clear functions Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 23/38] bnxt: add HWRM API for stats context allocation Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 24/38] bnxt: add HWRM ring alloc/free functions Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 25/38] bnxt: add ring group " Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 26/38] bnxt: add HWRM stat context free function Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 27/38] bnxt: add HWRM API to set and clear filters Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 28/38] bnxt: allocate and free all HWRM rings and groups Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 29/38] bnxt: add HWRM port PHY config call and helpers Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 30/38] bnxt: add start/stop/link update operations Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 31/38] bnxt: add promiscuous enable/disable operations Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 32/38] bnxt: add all multicast " Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 33/38] bnxt: free memory in close operation Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 34/38] bnxt: add MAC address add/remove dev ops Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 35/38] bnxt: add set link up/down operations Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 36/38] bnxt: add reta update/query operations Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 37/38] bnxt: add RSS device operations Stephen Hurd
2016-06-15 21:23     ` [dpdk-dev] [PATCH v6 38/38] bnxt: add flow control operations Stephen Hurd
2016-06-16 14:24     ` [dpdk-dev] [PATCH v6 00/38] new bnxt poll mode driver library Bruce Richardson
2016-06-16 18:51       ` Ajit Khaparde
2016-06-21 14:25         ` Ajit Khaparde
2016-06-21 14:46           ` Bruce Richardson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1465944971-113413-10-git-send-email-stephen.hurd@broadcom.com \
    --to=stephen.hurd@broadcom.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).