DPDK patches and discussions
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@6wind.com>
To: dev@dpdk.org
Cc: viktorin@rehivetech.com
Subject: [dpdk-dev] [PATCH 9/9] eal: relocate hotplug code from ethdev
Date: Fri, 29 Jan 2016 15:08:36 +0100	[thread overview]
Message-ID: <1454076516-21591-10-git-send-email-david.marchand@6wind.com> (raw)
In-Reply-To: <1454076516-21591-1-git-send-email-david.marchand@6wind.com>

hotplug which deals with resources should come from the layer that already
handles them, i.e. eal.

Signed-off-by: David Marchand <david.marchand@6wind.com>
---
 lib/librte_eal/bsdapp/eal/rte_eal_version.map   |   8 +
 lib/librte_eal/common/eal_common_dev.c          |  39 ++++
 lib/librte_eal/common/eal_common_pci.c          |  11 +-
 lib/librte_eal/common/include/rte_dev.h         |  25 +++
 lib/librte_eal/linuxapp/eal/rte_eal_version.map |   8 +
 lib/librte_ether/rte_ethdev.c                   | 258 ++++--------------------
 6 files changed, 125 insertions(+), 224 deletions(-)

diff --git a/lib/librte_eal/bsdapp/eal/rte_eal_version.map b/lib/librte_eal/bsdapp/eal/rte_eal_version.map
index 9d7adf1..9aad048 100644
--- a/lib/librte_eal/bsdapp/eal/rte_eal_version.map
+++ b/lib/librte_eal/bsdapp/eal/rte_eal_version.map
@@ -135,3 +135,11 @@ DPDK_2.2 {
 	rte_xen_dom0_supported;
 
 } DPDK_2.1;
+
+DPDK_2.3 {
+	global:
+
+	rte_eal_dev_attach;
+	rte_eal_dev_detach;
+
+} DPDK_2.2;
diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c
index 5137172..ec04b3a 100644
--- a/lib/librte_eal/common/eal_common_dev.c
+++ b/lib/librte_eal/common/eal_common_dev.c
@@ -155,3 +155,42 @@ rte_eal_vdev_uninit(const char *name)
 	RTE_LOG(ERR, EAL, "no driver found for %s\n", name);
 	return -EINVAL;
 }
+
+int rte_eal_dev_attach(const char *name, const char *devargs)
+{
+	struct rte_pci_addr addr;
+	int ret = -1;
+
+	if (eal_parse_pci_DomBDF(name, &addr) == 0) {
+		if (rte_eal_pci_probe_one(&addr) < 0)
+			goto err;
+
+	} else {
+		if (rte_eal_vdev_init(name, devargs))
+			goto err;
+	}
+
+	return 0;
+
+err:
+	RTE_LOG(ERR, EAL, "Driver, cannot attach the device\n");
+	return ret;
+}
+
+int rte_eal_dev_detach(const char *name)
+{
+	struct rte_pci_addr addr;
+
+	if (eal_parse_pci_DomBDF(name, &addr) == 0) {
+		if (rte_eal_pci_detach(&addr) < 0)
+			goto err;
+	} else {
+		if (rte_eal_vdev_uninit(name))
+			goto err;
+	}
+	return 0;
+
+err:
+	RTE_LOG(ERR, EAL, "Driver, cannot detach the device\n");
+	return -1;
+}
diff --git a/lib/librte_eal/common/eal_common_pci.c b/lib/librte_eal/common/eal_common_pci.c
index 1e12776..d9aa66b 100644
--- a/lib/librte_eal/common/eal_common_pci.c
+++ b/lib/librte_eal/common/eal_common_pci.c
@@ -332,6 +332,11 @@ rte_eal_pci_probe_one(const struct rte_pci_addr *addr)
 	if (addr == NULL)
 		return -1;
 
+	/* update current pci device in global list, kernel bindings might have
+	 * changed since last time we looked at it */
+	if (pci_refresh_device(addr) < 0)
+		goto err_return;
+
 	TAILQ_FOREACH(dev, &pci_device_list, next) {
 		if (rte_eal_compare_pci_addr(&dev->addr, addr))
 			continue;
@@ -344,9 +349,9 @@ rte_eal_pci_probe_one(const struct rte_pci_addr *addr)
 	return -1;
 
 err_return:
-	RTE_LOG(WARNING, EAL, "Requested device " PCI_PRI_FMT
-			" cannot be used\n", dev->addr.domain, dev->addr.bus,
-			dev->addr.devid, dev->addr.function);
+	RTE_LOG(WARNING, EAL,
+		"Requested device " PCI_PRI_FMT " cannot be used\n",
+		addr->domain, addr->bus, addr->devid, addr->function);
 	return -1;
 }
 
diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h
index df69e28..6f026ff 100644
--- a/lib/librte_eal/common/include/rte_dev.h
+++ b/lib/librte_eal/common/include/rte_dev.h
@@ -182,6 +182,31 @@ int rte_eal_vdev_init(const char *name, const char *args);
  */
 int rte_eal_vdev_uninit(const char *name);
 
+/**
+ * Attach a resource to a registered driver.
+ *
+ * @param name
+ *   The resource name, that refers to a pci resource or some private
+ *   way of designating a resource for vdev drivers. Based on this
+ *   resource name, eal will identify a driver capable of handling
+ *   this resource and pass this resource to the driver probing
+ *   function.
+ * @param devargs
+ *   Device arguments to be passed to the driver.
+ * @return
+ *   0 on success, negative on error.
+ */
+int rte_eal_dev_attach(const char *name, const char *devargs);
+
+/**
+ * Detach a resource from its driver.
+ *
+ * @param name
+ *   Same description as for rte_eal_dev_attach().
+ *   Here, eal will call the driver detaching function.
+ */
+int rte_eal_dev_detach(const char *name);
+
 #define PMD_REGISTER_DRIVER(d)\
 void devinitfn_ ##d(void);\
 void __attribute__((constructor, used)) devinitfn_ ##d(void)\
diff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
index cbe175f..ba0ff56 100644
--- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map
+++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
@@ -138,3 +138,11 @@ DPDK_2.2 {
 	rte_xen_dom0_supported;
 
 } DPDK_2.1;
+
+DPDK_2.3 {
+	global:
+
+	rte_eal_dev_attach;
+	rte_eal_dev_detach;
+
+} DPDK_2.2;
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index 5ba7479..5a5d419 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -72,6 +72,7 @@
 static const char *MZ_RTE_ETH_DEV_DATA = "rte_eth_dev_data";
 struct rte_eth_dev rte_eth_devices[RTE_MAX_ETHPORTS];
 static struct rte_eth_dev_data *rte_eth_dev_data;
+static uint8_t eth_dev_last_created_port;
 static uint8_t nb_ports;
 
 /* spinlock for eth device callbacks */
@@ -210,6 +211,7 @@ rte_eth_dev_allocate(const char *name, enum rte_eth_dev_type type)
 	eth_dev->data->port_id = port_id;
 	eth_dev->attached = DEV_ATTACHED;
 	eth_dev->dev_type = type;
+	eth_dev_last_created_port = port_id;
 	nb_ports++;
 	return eth_dev;
 }
@@ -364,100 +366,6 @@ rte_eth_dev_count(void)
 	return nb_ports;
 }
 
-static enum rte_eth_dev_type
-rte_eth_dev_get_device_type(uint8_t port_id)
-{
-	if (!rte_eth_dev_is_valid_port(port_id))
-		return RTE_ETH_DEV_UNKNOWN;
-	return rte_eth_devices[port_id].dev_type;
-}
-
-static int
-rte_eth_dev_get_addr_by_port(uint8_t port_id, struct rte_pci_addr *addr)
-{
-	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -EINVAL);
-
-	if (addr == NULL) {
-		RTE_PMD_DEBUG_TRACE("Null pointer is specified\n");
-		return -EINVAL;
-	}
-
-	*addr = rte_eth_devices[port_id].pci_dev->addr;
-	return 0;
-}
-
-static int
-rte_eth_dev_get_name_by_port(uint8_t port_id, char *name)
-{
-	char *tmp;
-
-	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -EINVAL);
-
-	if (name == NULL) {
-		RTE_PMD_DEBUG_TRACE("Null pointer is specified\n");
-		return -EINVAL;
-	}
-
-	/* shouldn't check 'rte_eth_devices[i].data',
-	 * because it might be overwritten by VDEV PMD */
-	tmp = rte_eth_dev_data[port_id].name;
-	strcpy(name, tmp);
-	return 0;
-}
-
-static int
-rte_eth_dev_get_port_by_name(const char *name, uint8_t *port_id)
-{
-	int i;
-
-	if (name == NULL) {
-		RTE_PMD_DEBUG_TRACE("Null pointer is specified\n");
-		return -EINVAL;
-	}
-
-	*port_id = RTE_MAX_ETHPORTS;
-
-	for (i = 0; i < RTE_MAX_ETHPORTS; i++) {
-
-		if (!strncmp(name,
-			rte_eth_dev_data[i].name, strlen(name))) {
-
-			*port_id = i;
-
-			return 0;
-		}
-	}
-	return -ENODEV;
-}
-
-static int
-rte_eth_dev_get_port_by_addr(const struct rte_pci_addr *addr, uint8_t *port_id)
-{
-	int i;
-	struct rte_pci_device *pci_dev = NULL;
-
-	if (addr == NULL) {
-		RTE_PMD_DEBUG_TRACE("Null pointer is specified\n");
-		return -EINVAL;
-	}
-
-	*port_id = RTE_MAX_ETHPORTS;
-
-	for (i = 0; i < RTE_MAX_ETHPORTS; i++) {
-
-		pci_dev = rte_eth_devices[i].pci_dev;
-
-		if (pci_dev &&
-			!rte_eal_compare_pci_addr(&pci_dev->addr, addr)) {
-
-			*port_id = i;
-
-			return 0;
-		}
-	}
-	return -ENODEV;
-}
-
 static int
 rte_eth_dev_is_detachable(uint8_t port_id)
 {
@@ -482,127 +390,50 @@ rte_eth_dev_is_detachable(uint8_t port_id)
 	return !(dev_flags & RTE_ETH_DEV_DETACHABLE);
 }
 
-/* attach the new physical device, then store port_id of the device */
-static int
-rte_eth_dev_attach_pdev(struct rte_pci_addr *addr, uint8_t *port_id)
-{
-	/* re-construct pci_device_list */
-	if (rte_eal_pci_scan())
-		goto err;
-	/* Invoke probe func of the driver can handle the new device. */
-	if (rte_eal_pci_probe_one(addr))
-		goto err;
-
-	if (rte_eth_dev_get_port_by_addr(addr, port_id))
-		goto err;
-
-	return 0;
-err:
-	return -1;
-}
-
-/* detach the new physical device, then store pci_addr of the device */
-static int
-rte_eth_dev_detach_pdev(uint8_t port_id, struct rte_pci_addr *addr)
-{
-	struct rte_pci_addr freed_addr;
-	struct rte_pci_addr vp;
-
-	/* get pci address by port id */
-	if (rte_eth_dev_get_addr_by_port(port_id, &freed_addr))
-		goto err;
-
-	/* Zeroed pci addr means the port comes from virtual device */
-	vp.domain = vp.bus = vp.devid = vp.function = 0;
-	if (rte_eal_compare_pci_addr(&vp, &freed_addr) == 0)
-		goto err;
-
-	/* invoke devuninit func of the pci driver,
-	 * also remove the device from pci_device_list */
-	if (rte_eal_pci_detach(&freed_addr))
-		goto err;
-
-	*addr = freed_addr;
-	return 0;
-err:
-	return -1;
-}
-
-/* attach the new virtual device, then store port_id of the device */
-static int
-rte_eth_dev_attach_vdev(const char *vdevargs, uint8_t *port_id)
-{
-	char *name = NULL, *args = NULL;
-	int ret = -1;
-
-	/* parse vdevargs, then retrieve device name and args */
-	if (rte_eal_parse_devargs_str(vdevargs, &name, &args))
-		goto end;
-
-	/* walk around dev_driver_list to find the driver of the device,
-	 * then invoke probe function of the driver.
-	 * rte_eal_vdev_init() updates port_id allocated after
-	 * initialization.
-	 */
-	if (rte_eal_vdev_init(name, args))
-		goto end;
-
-	if (rte_eth_dev_get_port_by_name(name, port_id))
-		goto end;
-
-	ret = 0;
-end:
-	free(name);
-	free(args);
-
-	return ret;
-}
-
-/* detach the new virtual device, then store the name of the device */
-static int
-rte_eth_dev_detach_vdev(uint8_t port_id, char *vdevname)
-{
-	char name[RTE_ETH_NAME_MAX_LEN];
-
-	/* get device name by port id */
-	if (rte_eth_dev_get_name_by_port(port_id, name))
-		goto err;
-	/* walk around dev_driver_list to find the driver of the device,
-	 * then invoke uninit function of the driver */
-	if (rte_eal_vdev_uninit(name))
-		goto err;
-
-	strncpy(vdevname, name, sizeof(name));
-	return 0;
-err:
-	return -1;
-}
-
 /* attach the new device, then store port_id of the device */
 int
 rte_eth_dev_attach(const char *devargs, uint8_t *port_id)
 {
-	struct rte_pci_addr addr;
 	int ret = -1;
+	int current = eth_dev_last_created_port;
+	char *name = NULL, *args;
 
 	if ((devargs == NULL) || (port_id == NULL)) {
 		ret = -EINVAL;
 		goto err;
 	}
 
-	if (eal_parse_pci_DomBDF(devargs, &addr) == 0) {
-		ret = rte_eth_dev_attach_pdev(&addr, port_id);
-		if (ret < 0)
-			goto err;
-	} else {
-		ret = rte_eth_dev_attach_vdev(devargs, port_id);
-		if (ret < 0)
-			goto err;
+	name = strdup(devargs);
+	if (!name)
+		goto err;
+
+	args = strchr(name, ',');
+	if (args) {
+		args[0] = '\0';
+		args++;
 	}
 
+	ret = rte_eal_dev_attach(name, args);
+	if (ret < 0)
+		goto err;
+
+	/* no point looking at eth_dev_last_created_port if no port exists */
+	if (!nb_ports) {
+		ret = -1;
+		goto err;
+	}
+	/* if nothing happened, there is a bug here, since some driver told us
+	 * it did attach a device, but did not create a port */
+	if (current == eth_dev_last_created_port) {
+		ret = -1;
+		goto err;
+	}
+	*port_id = eth_dev_last_created_port;
+
+	free(name);
 	return 0;
 err:
-	RTE_LOG(ERR, EAL, "Driver, cannot attach the device\n");
+	free(name);
 	return ret;
 }
 
@@ -610,7 +441,6 @@ err:
 int
 rte_eth_dev_detach(uint8_t port_id, char *name)
 {
-	struct rte_pci_addr addr;
 	int ret = -1;
 
 	if (name == NULL) {
@@ -618,33 +448,19 @@ rte_eth_dev_detach(uint8_t port_id, char *name)
 		goto err;
 	}
 
-	/* check whether the driver supports detach feature, or not */
+	/* FIXME: move this to eal, once device flags are relocated there */
 	if (rte_eth_dev_is_detachable(port_id))
 		goto err;
 
-	if (rte_eth_dev_get_device_type(port_id) == RTE_ETH_DEV_PCI) {
-		ret = rte_eth_dev_get_addr_by_port(port_id, &addr);
-		if (ret < 0)
-			goto err;
-
-		ret = rte_eth_dev_detach_pdev(port_id, &addr);
-		if (ret < 0)
-			goto err;
-
-		snprintf(name, RTE_ETH_NAME_MAX_LEN,
-			"%04x:%02x:%02x.%d",
-			addr.domain, addr.bus,
-			addr.devid, addr.function);
-	} else {
-		ret = rte_eth_dev_detach_vdev(port_id, name);
-		if (ret < 0)
-			goto err;
-	}
+	snprintf(name, sizeof(rte_eth_devices[port_id].data->name),
+		 "%s", rte_eth_devices[port_id].data->name);
+	ret = rte_eal_dev_detach(name);
+	if (ret < 0)
+		goto err;
 
 	return 0;
 
 err:
-	RTE_LOG(ERR, EAL, "Driver, cannot detach the device\n");
 	return ret;
 }
 
-- 
1.9.1

  parent reply	other threads:[~2016-01-29 14:08 UTC|newest]

Thread overview: 375+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-29 14:08 [dpdk-dev] [PATCH 0/9] prepare for rte_device / rte_driver David Marchand
2016-01-29 14:08 ` [dpdk-dev] [PATCH 1/9] pci: no need for dynamic tailq init David Marchand
2016-02-08 10:32   ` viktorin
2016-01-29 14:08 ` [dpdk-dev] [PATCH 2/9] pci: register all pdev as pci drivers David Marchand
2016-02-08 11:03   ` Jan Viktorin
2016-02-09  8:55     ` David Marchand
2016-01-29 14:08 ` [dpdk-dev] [PATCH 3/9] drivers: no more pdev drivers David Marchand
2016-02-09 17:05   ` Jan Viktorin
2016-02-10  8:51     ` David Marchand
2016-02-10  9:27       ` David Marchand
2016-02-10 10:20         ` Jan Viktorin
2016-02-10 11:38           ` David Marchand
2016-02-10 12:29             ` Jan Viktorin
2016-01-29 14:08 ` [dpdk-dev] [PATCH 4/9] eal/linux: move back interrupt thread init before setting affinity David Marchand
2016-02-02  7:02   ` Rahul Lakkireddy
2016-02-02  7:13     ` David Marchand
2016-02-02  7:43       ` Rahul Lakkireddy
2016-01-29 14:08 ` [dpdk-dev] [PATCH 5/9] eal: get rid of pmd type David Marchand
2016-02-09 17:15   ` Jan Viktorin
2016-01-29 14:08 ` [dpdk-dev] [PATCH 6/9] eal: initialize vdevs right next to pci devices David Marchand
2016-02-10 11:05   ` Jan Viktorin
2016-02-10 11:43     ` David Marchand
2016-01-29 14:08 ` [dpdk-dev] [PATCH 7/9] pci: add a helper for device name David Marchand
2016-02-10 11:10   ` Jan Viktorin
2016-02-10 12:04     ` David Marchand
2016-01-29 14:08 ` [dpdk-dev] [PATCH 8/9] pci: add a helper to refresh a device David Marchand
2016-02-10 11:23   ` Jan Viktorin
2016-02-10 12:00     ` David Marchand
2016-02-10 12:20       ` Jan Viktorin
2016-01-29 14:08 ` David Marchand [this message]
2016-04-20 11:44 ` [dpdk-dev] [PATCH v2 00/17] prepare for rte_device / rte_driver David Marchand
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 01/17] pci: no need for dynamic tailq init David Marchand
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 02/17] crypto: no need for a crypto pmd type David Marchand
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 03/17] drivers: align pci driver definitions David Marchand
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 04/17] eal: remove duplicate function declaration David Marchand
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 05/17] eal: introduce init macros David Marchand
2016-04-20 12:33     ` Jan Viktorin
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 06/17] crypto: export init/uninit common wrappers for pci drivers David Marchand
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 07/17] ethdev: " David Marchand
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 08/17] drivers: convert all pdev drivers as " David Marchand
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 09/17] crypto: get rid of crypto driver register callback David Marchand
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 10/17] ethdev: get rid of eth " David Marchand
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 11/17] eal/linux: move back interrupt thread init before setting affinity David Marchand
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 12/17] pci: add a helper for device name David Marchand
2016-05-04 15:25     ` Bruce Richardson
2016-05-04 16:26       ` Thomas Monjalon
2016-05-04 16:36         ` Bruce Richardson
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 13/17] pci: add a helper to update a device David Marchand
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 14/17] ethdev: do not scan all pci devices on attach David Marchand
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 15/17] eal: add hotplug operations for pci and vdev David Marchand
2016-05-27 10:39     ` Iremonger, Bernard
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 16/17] ethdev: convert to eal hotplug David Marchand
2016-04-20 11:44   ` [dpdk-dev] [PATCH v2 17/17] ethdev: get rid of device type David Marchand
2016-04-20 12:05   ` [dpdk-dev] [PATCH v2 00/17] prepare for rte_device / rte_driver Bruce Richardson
2016-04-20 12:41     ` Jan Viktorin
2016-04-22 10:18       ` Jan Viktorin
2016-05-06  9:26       ` Declan Doherty
2016-05-06 11:46         ` Jan Viktorin
2016-05-27 10:23   ` Iremonger, Bernard
2016-06-16  6:32     ` Shreyansh Jain
2016-06-16  7:34       ` Thomas Monjalon
2016-06-16  8:23         ` Jan Viktorin
2016-06-16  9:19           ` Thomas Monjalon
2016-06-16 10:45             ` Jan Viktorin
2016-06-16  8:42         ` Shreyansh Jain
2016-06-16 10:48           ` Jan Viktorin
2016-06-16 14:06 ` [dpdk-dev] [PATCH v3 " Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 01/17] pci: no need for dynamic tailq init Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 02/17] crypto: no need for a crypto pmd type Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 03/17] drivers: align pci driver definitions Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 04/17] eal: remove duplicate function declaration Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 05/17] eal: introduce init macros Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 06/17] crypto: export init/uninit common wrappers for pci drivers Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 07/17] ethdev: " Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 08/17] drivers: convert all pdev drivers as " Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 09/17] crypto: get rid of crypto driver register callback Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 10/17] ethdev: get rid of eth " Shreyansh Jain
2016-06-20  6:16     ` Shreyansh jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 11/17] eal/linux: move back interrupt thread init before setting affinity Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 12/17] pci: add a helper for device name Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 13/17] pci: add a helper to update a device Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 14/17] ethdev: do not scan all pci devices on attach Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 15/17] eal: add hotplug operations for pci and vdev Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 16/17] ethdev: convert to eal hotplug Shreyansh Jain
2016-06-16 14:06   ` [dpdk-dev] [PATCH v3 17/17] ethdev: get rid of device type Shreyansh Jain
2016-06-21 12:02 ` [dpdk-dev] [PATCH v4 00/17] prepare for rte_device / rte_driver Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 01/17] pci: no need for dynamic tailq init Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 02/17] crypto: no need for a crypto pmd type Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 03/17] drivers: align pci driver definitions Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 04/17] eal: remove duplicate function declaration Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 05/17] eal: introduce init macros Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 06/17] crypto: export init/uninit common wrappers for pci drivers Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 07/17] ethdev: " Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 08/17] drivers: convert all pdev drivers as " Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 09/17] crypto: get rid of crypto driver register callback Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 10/17] ethdev: get rid of eth " Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 11/17] eal/linux: move back interrupt thread init before setting affinity Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 12/17] pci: add a helper for device name Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 13/17] pci: add a helper to update a device Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 14/17] ethdev: do not scan all pci devices on attach Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 15/17] eal: add hotplug operations for pci and vdev Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 16/17] ethdev: convert to eal hotplug Shreyansh Jain
2016-06-21 12:02   ` [dpdk-dev] [PATCH v4 17/17] ethdev: get rid of device type Shreyansh Jain
2016-06-21 12:31   ` [dpdk-dev] [PATCH v4 00/17] prepare for rte_device / rte_driver Shreyansh jain
2016-06-22  9:06   ` [dpdk-dev] [PATCH v5 00/17] Prepare " Shreyansh Jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 01/17] pci: no need for dynamic tailq init Shreyansh Jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 02/17] crypto: no need for a crypto pmd type Shreyansh Jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 03/17] drivers: align pci driver definitions Shreyansh Jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 04/17] eal: remove duplicate function declaration Shreyansh Jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 05/17] eal: introduce init macros Shreyansh Jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 06/17] crypto: export init/uninit common wrappers for pci drivers Shreyansh Jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 07/17] ethdev: " Shreyansh Jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 08/17] drivers: convert all pdev drivers as " Shreyansh Jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 09/17] crypto: get rid of crypto driver register callback Shreyansh Jain
2016-06-22 13:27       ` Neil Horman
2016-06-22 13:43         ` Shreyansh jain
2016-06-22 13:44         ` Thomas Monjalon
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 10/17] ethdev: get rid of eth " Shreyansh Jain
2016-06-22 13:28       ` Neil Horman
2016-06-22 13:44         ` Shreyansh jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 11/17] eal/linux: move back interrupt thread init before setting affinity Shreyansh Jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 12/17] pci: add a helper for device name Shreyansh Jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 13/17] pci: add a helper to update a device Shreyansh Jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 14/17] ethdev: do not scan all pci devices on attach Shreyansh Jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 15/17] eal: add hotplug operations for pci and vdev Shreyansh Jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 16/17] ethdev: convert to eal hotplug Shreyansh Jain
2016-06-22  9:06     ` [dpdk-dev] [PATCH v5 17/17] ethdev: get rid of device type Shreyansh Jain
2016-07-12  6:01   ` [dpdk-dev] [PATCH v6 00/17] Prepare for rte_device / rte_driver Shreyansh Jain
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 01/17] pci: no need for dynamic tailq init Shreyansh Jain
2016-07-14 17:11       ` viktorin
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 02/17] crypto: no need for a crypto pmd type Shreyansh Jain
2016-07-14 17:14       ` viktorin
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 03/17] drivers: align pci driver definitions Shreyansh Jain
2016-07-14 17:12       ` viktorin
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 04/17] eal: remove duplicate function declaration Shreyansh Jain
2016-07-14 17:13       ` viktorin
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 05/17] eal: introduce init macros Shreyansh Jain
2016-07-13  9:20       ` Jan Viktorin
2016-07-13 17:34         ` Jan Viktorin
2016-07-14  5:27           ` Shreyansh jain
2016-07-14 15:57             ` Jan Viktorin
2016-07-15 10:48               ` Shreyansh jain
2016-07-15 12:38                 ` Thomas Monjalon
2016-07-28  9:36                 ` Shreyansh Jain
2016-07-30  8:14                   ` Jan Viktorin
2016-08-01 11:00                     ` Shreyansh Jain
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 06/17] crypto: export init/uninit common wrappers for pci drivers Shreyansh Jain
2016-07-14 17:06       ` viktorin
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 07/17] ethdev: " Shreyansh Jain
2016-07-14 17:06       ` viktorin
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 08/17] drivers: convert all pdev drivers as " Shreyansh Jain
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 09/17] crypto: get rid of crypto driver register callback Shreyansh Jain
2016-07-14 17:10       ` viktorin
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 10/17] ethdev: get rid of eth " Shreyansh Jain
2016-07-14 17:09       ` viktorin
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 11/17] eal/linux: move back interrupt thread init before setting affinity Shreyansh Jain
2016-07-14 17:09       ` viktorin
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 12/17] pci: add a helper for device name Shreyansh Jain
2016-07-14 16:55       ` Jan Viktorin
2016-07-15  9:39         ` Shreyansh jain
2016-07-15  9:56           ` Thomas Monjalon
2016-07-15 11:32             ` Jan Viktorin
2016-07-15  9:56           ` Jan Viktorin
2016-07-15 13:14           ` Shreyansh Jain
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 13/17] pci: add a helper to update a device Shreyansh Jain
2016-07-14 17:01       ` Jan Viktorin
2016-07-15  9:44         ` Shreyansh jain
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 14/17] ethdev: do not scan all pci devices on attach Shreyansh Jain
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 15/17] eal: add hotplug operations for pci and vdev Shreyansh Jain
2016-07-14 16:50       ` Jan Viktorin
2016-07-15  9:52         ` Shreyansh jain
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 16/17] ethdev: convert to eal hotplug Shreyansh Jain
2016-07-14 16:51       ` Jan Viktorin
2016-07-15 10:36         ` Shreyansh jain
2016-07-15 11:27           ` Jan Viktorin
2016-07-12  6:01     ` [dpdk-dev] [PATCH v6 17/17] ethdev: get rid of device type Shreyansh Jain
2016-07-14 16:33       ` Jan Viktorin
2016-08-01 10:45   ` [dpdk-dev] [PATCH v7 00/17] Prepare for rte_device / rte_driver Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 01/17] pci: no need for dynamic tailq init Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 02/17] crypto: no need for a crypto pmd type Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 03/17] drivers: align pci driver definitions Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 04/17] eal: remove duplicate function declaration Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 05/17] eal: introduce init macros Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 06/17] crypto: export init/uninit common wrappers for pci drivers Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 07/17] ethdev: " Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 08/17] drivers: convert all pdev drivers as " Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 09/17] crypto: get rid of crypto driver register callback Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 10/17] ethdev: get rid of eth " Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 11/17] eal/linux: move back interrupt thread init before setting affinity Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 12/17] pci: add a helper for device name Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 13/17] pci: add a helper to update a device Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 14/17] ethdev: do not scan all pci devices on attach Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 15/17] eal: add hotplug operations for pci and vdev Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 16/17] ethdev: convert to eal hotplug Shreyansh Jain
2016-08-01 10:45     ` [dpdk-dev] [PATCH v7 17/17] ethdev: get rid of device type Shreyansh Jain
2016-08-01 15:43     ` [dpdk-dev] [PATCH v7 00/17] Prepare for rte_device / rte_driver Jan Viktorin
2016-08-26 13:56   ` [dpdk-dev] [PATCH v8 00/25] Introducing rte_driver/rte_device generalization Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 01/25] eal: define macro container_of Shreyansh Jain
2016-08-29 16:43       ` Ferruh Yigit
2016-08-30  4:27         ` Shreyansh Jain
2016-08-30 10:30           ` Thomas Monjalon
2016-08-30 11:59             ` Shreyansh Jain
2016-08-30 13:42               ` Thomas Monjalon
2016-08-31  4:26                 ` Shreyansh Jain
2016-08-30  4:31         ` Shreyansh Jain
2016-09-08  5:45         ` Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 02/25] eal: remove duplicate function declaration Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 03/25] pci: no need for dynamic tailq init Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 04/25] crypto: no need for a crypto pmd type Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 05/25] drivers: align pci driver definitions Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 06/25] eal: introduce init macros Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 07/25] driver: init/uninit common wrappers for PCI drivers Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 08/25] drivers: convert all pdev drivers as pci drivers Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 09/25] driver: Remove driver register callbacks for crypto/net Shreyansh Jain
2016-08-29 17:20       ` Ferruh Yigit
2016-08-30  4:36         ` Shreyansh Jain
2016-09-08  5:46         ` Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 10/25] eal/pci: Helpers for device name parsing/update Shreyansh Jain
2016-08-30 16:34       ` Pattan, Reshma
2016-08-31  4:24         ` Shreyansh Jain
2016-09-08  5:48         ` Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 11/25] ethdev: do not scan all pci devices on attach Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 12/25] eal: add hotplug operations for pci and vdev Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 13/25] ethdev: convert to eal hotplug Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 14/25] ethdev: get rid of device type Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 15/25] eal: extract vdev infra Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 16/25] eal: Remove PDEV/VDEV unused code Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 17/25] drivers: convert PMD_VDEV drivers to use rte_vdev_driver Shreyansh Jain
2016-08-29 16:57       ` Ferruh Yigit
2016-08-30  4:38         ` Shreyansh Jain
2016-09-08  5:49         ` Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 18/25] eal: move init/uninit to rte_vdev_driver Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 19/25] eal: remove PMD_DRIVER_REGISTER and unused pmd_types Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 20/25] eal: rte_pci.h includes rte_dev.h Shreyansh Jain
2016-08-26 13:56     ` [dpdk-dev] [PATCH v8 21/25] eal: rename and move rte_pci_resource Shreyansh Jain
2016-08-26 13:57     ` [dpdk-dev] [PATCH v8 22/25] eal/pci: inherit rte_driver by rte_pci_driver Shreyansh Jain
2016-08-29 16:49       ` Ferruh Yigit
2016-08-30  4:59         ` Shreyansh Jain
2016-09-08  5:51         ` Shreyansh Jain
2016-08-30 15:47       ` Ferruh Yigit
2016-09-01 13:54         ` Shreyansh Jain
2016-08-26 13:57     ` [dpdk-dev] [PATCH v8 23/25] eal: call rte_eal_driver_register Shreyansh Jain
2016-08-26 13:57     ` [dpdk-dev] [PATCH v8 24/25] eal: introduce rte_device Shreyansh Jain
2016-08-26 13:57     ` [dpdk-dev] [PATCH v8 25/25] eal/pci: Create rte_device list and fallback on its members Shreyansh Jain
2016-08-29 16:53       ` Ferruh Yigit
2016-08-30  4:38         ` Shreyansh Jain
2016-09-08  5:55         ` Shreyansh Jain
2016-09-08  8:33           ` Ferruh Yigit
2016-08-30 13:27     ` [dpdk-dev] [PATCH v8 00/25] Introducing rte_driver/rte_device generalization Ferruh Yigit
2016-09-01 12:36       ` Shreyansh Jain
2016-09-08  7:03         ` Shreyansh Jain
2016-09-01 18:29     ` Jan Viktorin
2016-09-02  5:32       ` Shreyansh Jain
2016-09-07 14:07   ` [dpdk-dev] [PATCH v9 " Shreyansh Jain
2016-09-07 14:07     ` [dpdk-dev] [PATCH v9 01/25] eal: define macro container_of Shreyansh Jain
2016-09-08 14:16       ` Ferruh Yigit
2016-09-09  4:19         ` Shreyansh Jain
2016-09-09  8:55           ` Adrien Mazarguil
2016-09-09 10:44             ` Shreyansh Jain
2016-09-07 14:07     ` [dpdk-dev] [PATCH v9 02/25] eal: remove duplicate function declaration Shreyansh Jain
2016-09-07 14:07     ` [dpdk-dev] [PATCH v9 03/25] pci: no need for dynamic tailq init Shreyansh Jain
2016-09-07 14:07     ` [dpdk-dev] [PATCH v9 04/25] crypto: no need for a crypto pmd type Shreyansh Jain
2016-09-07 14:07     ` [dpdk-dev] [PATCH v9 05/25] drivers: align pci driver definitions Shreyansh Jain
2016-09-07 14:07     ` [dpdk-dev] [PATCH v9 06/25] eal: introduce init macros Shreyansh Jain
2016-09-12  7:15       ` David Marchand
2016-09-15  7:28         ` Shreyansh Jain
2016-09-07 14:07     ` [dpdk-dev] [PATCH v9 07/25] driver: init/uninit common wrappers for PCI drivers Shreyansh Jain
2016-09-12  7:16       ` David Marchand
2016-09-12  9:55         ` Thomas Monjalon
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 08/25] drivers: convert all pdev drivers as pci drivers Shreyansh Jain
2016-09-12  7:16       ` David Marchand
2016-09-16  4:49         ` Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 09/25] driver: Remove driver register callbacks for crypto/net Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 10/25] eal/pci: Helpers for device name parsing/update Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 11/25] ethdev: do not scan all pci devices on attach Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 12/25] eal: add hotplug operations for pci and vdev Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 13/25] ethdev: convert to eal hotplug Shreyansh Jain
2016-09-12  7:16       ` David Marchand
2016-09-15  7:29         ` Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 14/25] ethdev: get rid of device type Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 15/25] eal: extract vdev infra Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 16/25] eal: Remove PDEV/VDEV unused code Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 17/25] drivers: convert PMD_VDEV drivers to use rte_vdev_driver Shreyansh Jain
2016-09-11 11:55       ` Yuanhan Liu
2016-09-12  4:39         ` Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 18/25] eal: move init/uninit to rte_vdev_driver Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 19/25] eal: remove PMD_DRIVER_REGISTER and unused pmd_types Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 20/25] eal: rte_pci.h includes rte_dev.h Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 21/25] eal: rename and move rte_pci_resource Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 22/25] eal/pci: inherit rte_driver by rte_pci_driver Shreyansh Jain
2016-09-08 14:25       ` Ferruh Yigit
2016-09-16  4:47         ` Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 23/25] eal: call rte_eal_driver_register Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 24/25] eal: introduce rte_device Shreyansh Jain
2016-09-07 14:08     ` [dpdk-dev] [PATCH v9 25/25] eal/pci: Create rte_device list and fallback on its members Shreyansh Jain
2016-09-07 18:40     ` [dpdk-dev] [PATCH v9 00/25] Introducing rte_driver/rte_device generalization Stephen Hemminger
2016-09-08  7:10       ` Shreyansh Jain
2016-09-08 16:49         ` Stephen Hemminger
2016-09-09 11:42           ` Shreyansh Jain
2016-09-09 16:11     ` Declan Doherty
2016-09-13 11:15       ` Shreyansh Jain
2016-09-12  7:32     ` David Marchand
2016-09-16  4:29   ` [dpdk-dev] [PATCH v10 " Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 01/25] eal: define container macro Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 02/25] eal: remove duplicate function declaration Shreyansh Jain
2016-09-16 11:42       ` Jan Viktorin
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 03/25] pci: no need for dynamic tailq init Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 04/25] eal/pci: replace PCI devinit/devuninit with probe/remove Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 05/25] crypto: no need for a crypto pmd type Shreyansh Jain
2016-09-16 11:49       ` Jan Viktorin
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 06/25] drivers: align PCI driver definitions Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 07/25] eal: introduce PCI device init macros Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 08/25] driver: init/uninit common wrappers for PCI drivers Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 09/25] drivers: convert all phy drivers as " Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 10/25] drivers: remove driver register callbacks for crypto/net Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 11/25] eal/pci: helpers for device name parsing/update Shreyansh Jain
2016-10-25 15:49       ` Pattan, Reshma
2016-10-26  6:23         ` Shreyansh Jain
2016-10-26  9:12           ` Pattan, Reshma
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 12/25] ethdev: do not scan all PCI devices on attach Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 13/25] eal: add hotplug operations for PCI and VDEV Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 14/25] ethdev: convert to EAL hotplug Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 15/25] ethdev: get rid of device type Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 16/25] eal: extract vdev infra Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 17/25] eal: remove PDEV/VDEV unused code Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 18/25] drivers: convert VDRV to use RTE VDEV Driver Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 19/25] eal: remove unused PMD types Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 20/25] eal: include dev headers in place of PCI headers Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 21/25] eal: rename and move RTE PCI Resources Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 22/25] eal/pci: inherit RTE driver in PCI driver Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 23/25] eal: register EAL drivers explicitly Shreyansh Jain
2016-09-16  4:29     ` [dpdk-dev] [PATCH v10 24/25] eal: introduce generalized RTE device Shreyansh Jain
2016-09-16  4:30     ` [dpdk-dev] [PATCH v10 25/25] eal/pci: create RTE device list and fallback on its members Shreyansh Jain
     [not found]     ` <CALwxeUusnzO9daPnHkkf5QhY6_g67f-9oDzKcrhzXj7X3Lm_kQ@mail.gmail.com>
2016-09-16 14:29       ` [dpdk-dev] [PATCH v10 00/25] Introducing rte_driver/rte_device generalization David Marchand
2016-09-17 18:50       ` Shreyansh Jain
2016-09-20 12:41   ` [dpdk-dev] [PATCH v11 00/24] " Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 01/24] eal: remove duplicate function declaration Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 02/24] pci: no need for dynamic tailq init Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 03/24] eal/pci: replace PCI devinit/devuninit with probe/remove Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 04/24] crypto: no need for a crypto pmd type Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 05/24] drivers: align PCI driver definitions Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 06/24] eal: introduce PCI device init macros Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 07/24] driver: probe/remove common wrappers for PCI drivers Shreyansh Jain
2016-10-03 14:21       ` Thomas Monjalon
2016-10-04  6:16         ` Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 08/24] drivers: convert all phy drivers as " Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 09/24] drivers: remove driver register callbacks for crypto/net Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 10/24] eal/pci: helpers for device name parsing/update Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 11/24] ethdev: do not scan all PCI devices on attach Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 12/24] eal: add hotplug operations for PCI and VDEV Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 13/24] ethdev: convert to EAL hotplug Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 14/24] ethdev: get rid of device type Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 15/24] eal: extract vdev infra Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 16/24] eal: remove PDEV/VDEV unused code Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 17/24] drivers: convert VDRV to use RTE VDEV Driver Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 18/24] eal: remove unused PMD types Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 19/24] eal: include dev headers in place of PCI headers Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 20/24] eal: rename and move RTE PCI Resources Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 21/24] eal/pci: inherit RTE driver in PCI driver Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 22/24] eal: register EAL drivers explicitly Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 23/24] eal: introduce generalized RTE device Shreyansh Jain
2016-09-20 12:41     ` [dpdk-dev] [PATCH v11 24/24] eal/pci: create RTE device list and fallback on its members Shreyansh Jain
2016-09-21 19:03     ` [dpdk-dev] [PATCH v11 00/24] Introducing rte_driver/rte_device generalization Matej Vido
2016-09-22  4:25       ` Shreyansh Jain
2016-09-30 10:22     ` David Marchand
2016-10-03 14:28     ` Thomas Monjalon
2016-10-04  6:51       ` Shreyansh Jain
2016-10-04  7:42         ` Thomas Monjalon
2016-10-05 11:57           ` Shreyansh Jain
2016-10-17 13:43             ` Ferruh Yigit
2016-10-17 17:29               ` Shreyansh Jain
2016-10-18  9:23                 ` Ferruh Yigit
2016-10-19 11:13                   ` Shreyansh Jain
2016-10-18 13:04               ` Neil Horman
2016-10-18 13:47                 ` Thomas Monjalon

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=1454076516-21591-10-git-send-email-david.marchand@6wind.com \
    --to=david.marchand@6wind.com \
    --cc=dev@dpdk.org \
    --cc=viktorin@rehivetech.com \
    /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).