From: Shreyansh Jain <shreyansh.jain@nxp.com>
To: <dev@dpdk.org>
Cc: <viktorin@rehivetech.com>, <thomas.monjalon@6wind.com>,
<david.marchand@6wind.com>,
Shreyansh Jain <shreyansh.jain@nxp.com>,
Hemant Agrawal <hemant.agrawal@nxp.com>
Subject: [dpdk-dev] [PATCH v4 08/17] eal/soc: extend and utilize devargs
Date: Sat, 15 Oct 2016 19:14:59 +0530 [thread overview]
Message-ID: <1476539108-13170-9-git-send-email-shreyansh.jain@nxp.com> (raw)
In-Reply-To: <1476539108-13170-1-git-send-email-shreyansh.jain@nxp.com>
From: Jan Viktorin <viktorin@rehivetech.com>
It is assumed that SoC Devices provided on command line are prefixed with
"soc:". This patch adds parse and attach support for such devices.
Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
lib/librte_eal/common/eal_common_dev.c | 27 +++++++++----
lib/librte_eal/common/eal_common_devargs.c | 17 ++++++++
lib/librte_eal/common/eal_common_soc.c | 61 ++++++++++++++++++++++++-----
lib/librte_eal/common/include/rte_devargs.h | 8 ++++
lib/librte_eal/common/include/rte_soc.h | 24 ++++++++++++
5 files changed, 120 insertions(+), 17 deletions(-)
diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c
index 457d227..ebbcf47 100644
--- a/lib/librte_eal/common/eal_common_dev.c
+++ b/lib/librte_eal/common/eal_common_dev.c
@@ -107,17 +107,23 @@ rte_eal_dev_init(void)
int rte_eal_dev_attach(const char *name, const char *devargs)
{
- struct rte_pci_addr addr;
+ struct rte_soc_addr soc_addr;
+ struct rte_pci_addr pci_addr;
if (name == NULL || devargs == NULL) {
RTE_LOG(ERR, EAL, "Invalid device or arguments provided\n");
return -EINVAL;
}
- if (eal_parse_pci_DomBDF(name, &addr) == 0) {
- if (rte_eal_pci_probe_one(&addr) < 0)
+ memset(&soc_addr, 0, sizeof(soc_addr));
+ if (rte_eal_parse_soc_spec(name, &soc_addr) == 0) {
+ if (rte_eal_soc_probe_one(&soc_addr) < 0) {
+ free(soc_addr.name);
+ goto err;
+ }
+ } else if (eal_parse_pci_DomBDF(name, &pci_addr) == 0) {
+ if (rte_eal_pci_probe_one(&pci_addr) < 0)
goto err;
-
} else {
if (rte_eal_vdev_init(name, devargs))
goto err;
@@ -132,15 +138,22 @@ err:
int rte_eal_dev_detach(const char *name)
{
- struct rte_pci_addr addr;
+ struct rte_soc_addr soc_addr;
+ struct rte_pci_addr pci_addr;
if (name == NULL) {
RTE_LOG(ERR, EAL, "Invalid device provided.\n");
return -EINVAL;
}
- if (eal_parse_pci_DomBDF(name, &addr) == 0) {
- if (rte_eal_pci_detach(&addr) < 0)
+ memset(&soc_addr, 0, sizeof(soc_addr));
+ if (rte_eal_parse_soc_spec(name, &soc_addr) == 0) {
+ if (rte_eal_soc_detach(&soc_addr) < 0) {
+ free(soc_addr.name);
+ goto err;
+ }
+ } else if (eal_parse_pci_DomBDF(name, &pci_addr) == 0) {
+ if (rte_eal_pci_detach(&pci_addr) < 0)
goto err;
} else {
if (rte_eal_vdev_uninit(name))
diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index e403717..e1dae1a 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -41,6 +41,7 @@
#include <string.h>
#include <rte_pci.h>
+#include <rte_soc.h>
#include <rte_devargs.h>
#include "eal_private.h"
@@ -105,6 +106,14 @@ rte_eal_devargs_add(enum rte_devtype devtype, const char *devargs_str)
goto fail;
break;
+
+ case RTE_DEVTYPE_WHITELISTED_SOC:
+ case RTE_DEVTYPE_BLACKLISTED_SOC:
+ /* try to parse soc device with prefix "soc:" */
+ if (rte_eal_parse_soc_spec(buf, &devargs->soc.addr) != 0)
+ goto fail;
+ break;
+
case RTE_DEVTYPE_VIRTUAL:
/* save driver name */
ret = snprintf(devargs->virt.drv_name,
@@ -166,6 +175,14 @@ rte_eal_devargs_dump(FILE *f)
devargs->pci.addr.devid,
devargs->pci.addr.function,
devargs->args);
+ else if (devargs->type == RTE_DEVTYPE_WHITELISTED_SOC)
+ fprintf(f, " SoC whitelist %s %s\n",
+ devargs->soc.addr.name,
+ devargs->soc.addr.fdt_path);
+ else if (devargs->type == RTE_DEVTYPE_BLACKLISTED_SOC)
+ fprintf(f, " SoC blacklist %s %s\n",
+ devargs->soc.addr.name,
+ devargs->soc.addr.fdt_path);
else if (devargs->type == RTE_DEVTYPE_VIRTUAL)
fprintf(f, " VIRTUAL %s %s\n",
devargs->virt.drv_name,
diff --git a/lib/librte_eal/common/eal_common_soc.c b/lib/librte_eal/common/eal_common_soc.c
index 256cef8..44f5559 100644
--- a/lib/librte_eal/common/eal_common_soc.c
+++ b/lib/librte_eal/common/eal_common_soc.c
@@ -37,6 +37,8 @@
#include <rte_log.h>
#include <rte_common.h>
+#include <rte_devargs.h>
+#include <rte_eal.h>
#include <rte_soc.h>
#include "eal_private.h"
@@ -70,6 +72,21 @@ rte_eal_soc_match_compat(struct rte_soc_driver *drv,
return 1;
}
+static struct rte_devargs *soc_devargs_lookup(struct rte_soc_device *dev)
+{
+ struct rte_devargs *devargs;
+
+ TAILQ_FOREACH(devargs, &devargs_list, next) {
+ if (devargs->type != RTE_DEVTYPE_BLACKLISTED_SOC &&
+ devargs->type != RTE_DEVTYPE_WHITELISTED_SOC)
+ continue;
+ if (!rte_eal_compare_soc_addr(&dev->addr, &devargs->soc.addr))
+ return devargs;
+ }
+
+ return NULL;
+}
+
static int
rte_eal_soc_probe_one_driver(struct rte_soc_driver *drv,
struct rte_soc_device *dev)
@@ -85,6 +102,18 @@ rte_eal_soc_probe_one_driver(struct rte_soc_driver *drv,
return ret;
}
+ RTE_LOG(DEBUG, EAL, "SoC device %s on NUMA socket %d\n",
+ dev->addr.name, dev->device.numa_node);
+ RTE_LOG(DEBUG, EAL, " probe driver %s\n", drv->driver.name);
+
+ /* no initialization when blacklisted, return without error */
+ if (dev->device.devargs != NULL
+ && dev->device.devargs->type == RTE_DEVTYPE_BLACKLISTED_SOC) {
+ RTE_LOG(DEBUG, EAL,
+ " device is blacklisted, skipping\n");
+ return ret;
+ }
+
dev->driver = drv;
RTE_VERIFY(drv->probe != NULL);
return drv->probe(drv, dev);
@@ -129,8 +158,8 @@ rte_eal_soc_detach_dev(struct rte_soc_driver *drv,
return ret;
}
- RTE_LOG(DEBUG, EAL, "SoC device %s\n",
- dev->addr.name);
+ RTE_LOG(DEBUG, EAL, "SoC device %s on NUMA socket %i\n",
+ dev->addr.name, dev->device.numa_node);
RTE_LOG(DEBUG, EAL, " remove driver: %s\n", drv->driver.name);
@@ -233,17 +262,29 @@ int
rte_eal_soc_probe(void)
{
struct rte_soc_device *dev = NULL;
+ struct rte_devargs *devargs = NULL;
int ret = 0;
+ int probe_all = 0;
+
+ if (rte_eal_devargs_type_count(RTE_DEVTYPE_WHITELISTED_SOC) == 0)
+ probe_all = 1;
TAILQ_FOREACH(dev, &soc_device_list, next) {
- ret = soc_probe_all_drivers(dev);
- if (ret < 0) {
- RTE_LOG(DEBUG, EAL, "Requested device %s"
- " cannot be used\n", dev->addr.name);
- /* Failure for a particular device is logged and
- * ignored
- */
- }
+
+ /* set devargs in SoC structure */
+ devargs = soc_devargs_lookup(dev);
+ if (devargs != NULL)
+ dev->device.devargs = devargs;
+
+ /* probe all or only whitelisted devices */
+ if (probe_all)
+ ret = soc_probe_all_drivers(dev);
+ else if (devargs != NULL &&
+ devargs->type == RTE_DEVTYPE_WHITELISTED_SOC)
+ ret = soc_probe_all_drivers(dev);
+ if (ret < 0)
+ rte_exit(EXIT_FAILURE, "Requested device %s "
+ "cannot be used\n", dev->addr.name);
}
return ret;
diff --git a/lib/librte_eal/common/include/rte_devargs.h b/lib/librte_eal/common/include/rte_devargs.h
index 88120a1..b5dd436 100644
--- a/lib/librte_eal/common/include/rte_devargs.h
+++ b/lib/librte_eal/common/include/rte_devargs.h
@@ -51,6 +51,7 @@ extern "C" {
#include <stdio.h>
#include <sys/queue.h>
#include <rte_pci.h>
+#include <rte_soc.h>
/**
* Type of generic device
@@ -58,6 +59,8 @@ extern "C" {
enum rte_devtype {
RTE_DEVTYPE_WHITELISTED_PCI,
RTE_DEVTYPE_BLACKLISTED_PCI,
+ RTE_DEVTYPE_WHITELISTED_SOC,
+ RTE_DEVTYPE_BLACKLISTED_SOC,
RTE_DEVTYPE_VIRTUAL,
};
@@ -83,6 +86,11 @@ struct rte_devargs {
/** PCI location. */
struct rte_pci_addr addr;
} pci;
+ /** Used if type is RTE_DEVTYPE_*_SOC. */
+ struct {
+ /** SoC location. */
+ struct rte_soc_addr addr;
+ } soc;
/** Used if type is RTE_DEVTYPE_VIRTUAL. */
struct {
/** Driver name. */
diff --git a/lib/librte_eal/common/include/rte_soc.h b/lib/librte_eal/common/include/rte_soc.h
index 030df6f..90cd6aa 100644
--- a/lib/librte_eal/common/include/rte_soc.h
+++ b/lib/librte_eal/common/include/rte_soc.h
@@ -164,6 +164,30 @@ rte_eal_compare_soc_addr(const struct rte_soc_addr *a0,
}
/**
+ * Parse a specification of a soc device. The specification must differentiate
+ * a SoC device specification from the PCI bus and virtual devices. We assume
+ * a SoC specification starts with "soc:". The function allocates the name
+ * entry of the given addr.
+ *
+ * @return
+ * - 0 on success
+ * - 1 when not a SoC spec
+ * - -1 on failure
+ */
+static inline int
+rte_eal_parse_soc_spec(const char *spec, struct rte_soc_addr *addr)
+{
+ if (strstr(spec, "soc:") == spec) {
+ addr->name = strdup(spec + 4);
+ if (addr->name == NULL)
+ return -1;
+ return 0;
+ }
+
+ return 1;
+}
+
+/**
* Default function for matching the Soc driver with device. Each driver can
* either use this function or define their own soc matching function.
* This function relies on the compatible string extracted from sysfs. But,
--
2.7.4
next prev parent reply other threads:[~2016-10-15 13:44 UTC|newest]
Thread overview: 230+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-01 21:05 [dpdk-dev] [RFC 0/7] Support non-PCI devices Jan Viktorin
2016-01-01 21:05 ` [dpdk-dev] [RFC 1/7] eal/common: define rte_soc_* related common interface Jan Viktorin
2016-01-02 18:01 ` Stephen Hemminger
2016-01-02 18:35 ` Wiles, Keith
2016-01-02 18:52 ` Jan Viktorin
2016-01-02 19:13 ` Wiles, Keith
2016-01-02 19:14 ` Stephen Hemminger
2016-01-02 19:22 ` Wiles, Keith
2016-01-02 18:45 ` Jan Viktorin
2016-01-03 17:12 ` Jan Viktorin
2016-01-04 15:21 ` Wiles, Keith
2016-01-01 21:05 ` [dpdk-dev] [RFC 2/7] eal: introduce --no-soc option Jan Viktorin
2016-01-01 21:05 ` [dpdk-dev] [RFC 3/7] eal: add common part of the SoC infra Jan Viktorin
2016-01-01 21:05 ` [dpdk-dev] [RFC 4/7] eal/linuxapp: support SoC infra in linuxapp Jan Viktorin
2016-01-01 21:05 ` [dpdk-dev] [RFC 5/7] eal: init SoC infra on rte_eal_init Jan Viktorin
2016-01-01 21:05 ` [dpdk-dev] [RFC 6/7] eal/soc: make SoC infra testable on any platform Jan Viktorin
2016-01-01 21:05 ` [dpdk-dev] [RFC 7/7] app/test: add SoC infra probe/detach test Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 00/28] Support non-PCI devices Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 01/28] eal: make enum rte_kernel_driver non-PCI specific Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 02/28] eal: extract function eal_parse_sysfs_valuef Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 03/28] eal/linux: extract function rte_eal_unbind_kernel_driver Jan Viktorin
2016-05-13 1:22 ` Jianbo Liu
2016-05-17 18:14 ` Jan Viktorin
2016-05-18 13:45 ` Jianbo Liu
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 04/28] eal/linux: extract function rte_eal_get_kernel_driver_by_path Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 05/28] eal: remove pci_ prefix from pci_(un)map_resource Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 06/28] eal/soc: introduce very essential SoC infra definitions Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 07/28] eal/soc: add rte_eal_soc_register/unregister logic Jan Viktorin
2016-06-13 14:19 ` Shreyansh Jain
2016-06-13 14:25 ` Jan Viktorin
2016-06-15 5:57 ` Shreyansh Jain
2016-06-15 9:50 ` Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 08/28] eal/soc: implement SoC device discovery Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 09/28] eal: introduce --no-soc option Jan Viktorin
2016-05-13 3:28 ` Jianbo Liu
2016-05-17 18:10 ` Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 10/28] eal/soc: init SoC infra from EAL Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 11/28] eal/soc: implement probing of drivers Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 12/28] eal/soc: extend and utilize devargs Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 13/28] eal/soc: update device on probe when already exists Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 14/28] eal/soc: detect assigned kernel driver Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 15/28] eal/soc: map/unmap resources Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 16/28] eal/soc: add intr_handle Jan Viktorin
2016-05-06 13:47 ` [dpdk-dev] [PATCH v1 17/28] eal/soc: hack (const char *) compatible setting Jan Viktorin
2016-05-06 13:48 ` [dpdk-dev] [PATCH v1 18/28] eal/soc: detect numa_node of the rte_soc_device Jan Viktorin
2016-05-06 13:48 ` [dpdk-dev] [PATCH v1 19/28] eal/soc: add drv_flags Jan Viktorin
2016-06-13 14:21 ` Shreyansh Jain
2016-06-13 14:26 ` Jan Viktorin
2016-05-06 13:48 ` [dpdk-dev] [PATCH v1 20/28] eal/soc: map resources conditionally Jan Viktorin
2016-05-06 13:48 ` [dpdk-dev] [PATCH v1 21/28] eal/soc: unbind kernel driver on probe Jan Viktorin
2016-05-06 13:48 ` [dpdk-dev] [PATCH v1 22/28] eal/soc: detect DMA non-coherent devices Jan Viktorin
2016-05-06 13:48 ` [dpdk-dev] [PATCH v1 23/28] eal: define macro container_of Jan Viktorin
2016-05-06 13:48 ` [dpdk-dev] [PATCH v1 24/28] ether: utilize container_of for pci_drv Jan Viktorin
2016-05-06 13:48 ` [dpdk-dev] [PATCH v1 25/28] ether: verify we copy info from a PCI device Jan Viktorin
2016-05-06 13:48 ` [dpdk-dev] [PATCH v1 26/28] ether: extract function eth_dev_get_intr_handle Jan Viktorin
2016-05-06 13:48 ` [dpdk-dev] [PATCH v1 27/28] ether: extract function eth_dev_get_driver_name Jan Viktorin
2016-05-06 13:48 ` [dpdk-dev] [PATCH v1 28/28] ether: support SoC device/driver Jan Viktorin
2016-06-29 9:42 ` Shreyansh jain
2016-07-04 13:04 ` Jan Viktorin
2016-07-04 14:27 ` Shreyansh jain
2016-07-04 14:36 ` Jan Viktorin
2016-07-05 4:42 ` Shreyansh jain
2016-07-05 5:16 ` Jan Viktorin
2016-07-07 10:29 ` Shreyansh jain
2016-07-12 8:45 ` Shreyansh jain
2016-07-12 10:41 ` Jan Viktorin
2016-08-31 11:00 ` [dpdk-dev] [PATCH v2 00/14] Introduce SoC device/driver framework for EAL Shreyansh Jain
2016-08-31 11:00 ` [dpdk-dev] [PATCH v2 01/14] eal/soc: introduce very essential SoC infra definitions Shreyansh Jain
2016-08-31 11:00 ` [dpdk-dev] [PATCH v2 02/14] eal/soc: add rte_eal_soc_register/unregister logic Shreyansh Jain
2016-08-31 11:00 ` [dpdk-dev] [PATCH v2 03/14] eal/soc: Implement SoC device list and dump Shreyansh Jain
2016-08-31 11:00 ` [dpdk-dev] [PATCH v2 04/14] eal: introduce --no-soc option Shreyansh Jain
2016-08-31 11:00 ` [dpdk-dev] [PATCH v2 05/14] eal/soc: init SoC infra from EAL Shreyansh Jain
2016-08-31 11:00 ` [dpdk-dev] [PATCH v2 06/14] eal/soc: implement probing of drivers Shreyansh Jain
2016-08-31 11:00 ` [dpdk-dev] [PATCH v2 07/14] eal/soc: extend and utilize devargs Shreyansh Jain
2016-08-31 11:00 ` [dpdk-dev] [PATCH v2 08/14] eal/soc: add drv_flags Shreyansh Jain
2016-08-31 11:00 ` [dpdk-dev] [PATCH v2 09/14] eal/soc: add intr_handle Shreyansh Jain
2016-08-31 11:00 ` [dpdk-dev] [PATCH v2 10/14] ether: utilize container_of for pci_drv Shreyansh Jain
2016-08-31 11:00 ` [dpdk-dev] [PATCH v2 11/14] ether: verify we copy info from a PCI device Shreyansh Jain
2016-08-31 11:00 ` [dpdk-dev] [PATCH v2 12/14] ether: extract function eth_dev_get_intr_handle Shreyansh Jain
2016-08-31 11:00 ` [dpdk-dev] [PATCH v2 13/14] ether: extract function eth_dev_get_driver_name Shreyansh Jain
2016-08-31 11:00 ` [dpdk-dev] [PATCH v2 14/14] ether: Support rte_soc_driver/device for etherdev Shreyansh Jain
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 00/15] Introduce SoC device/driver framework for EAL Shreyansh Jain
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 01/15] eal/soc: introduce very essential SoC infra definitions Shreyansh Jain
2016-09-15 12:58 ` Hunt, David
2016-09-16 6:17 ` Shreyansh Jain
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 02/15] eal/soc: add rte_eal_soc_register/unregister logic Shreyansh Jain
2016-09-15 13:00 ` Hunt, David
2016-09-15 13:09 ` Jan Viktorin
2016-09-15 14:09 ` Thomas Monjalon
2016-09-16 7:32 ` Panu Matilainen
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 03/15] eal/soc: Implement SoC device list and dump Shreyansh Jain
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 04/15] eal: introduce --no-soc option Shreyansh Jain
2016-09-16 11:36 ` Jan Viktorin
2016-09-16 11:55 ` Shreyansh Jain
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 05/15] eal/soc: init SoC infra from EAL Shreyansh Jain
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 06/15] eal/soc: implement probing of drivers Shreyansh Jain
2016-09-16 12:27 ` Jan Viktorin
2016-09-19 6:47 ` Shreyansh Jain
2016-09-19 11:34 ` Jan Viktorin
2016-09-20 6:46 ` Shreyansh Jain
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 07/15] eal/soc: extend and utilize devargs Shreyansh Jain
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 08/15] eal/soc: add drv_flags Shreyansh Jain
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 09/15] eal/soc: add intr_handle Shreyansh Jain
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 10/15] ether: utilize container_of for pci_drv Shreyansh Jain
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 11/15] ether: verify we copy info from a PCI device Shreyansh Jain
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 12/15] ether: extract function eth_dev_get_intr_handle Shreyansh Jain
2016-09-15 13:02 ` Hunt, David
2016-09-15 14:05 ` Thomas Monjalon
2016-09-16 7:17 ` Panu Matilainen
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 13/15] ether: extract function eth_dev_get_driver_name Shreyansh Jain
2016-09-15 13:03 ` Hunt, David
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 14/15] ether: Support rte_soc_driver/device for etherdev Shreyansh Jain
2016-09-09 8:43 ` [dpdk-dev] [PATCH v3 15/15] eal/crypto: Support rte_soc_driver/device for cryptodev Shreyansh Jain
2016-09-15 12:56 ` [dpdk-dev] [PATCH v3 00/15] Introduce SoC device/driver framework for EAL Hunt, David
2016-09-16 6:14 ` Shreyansh Jain
2016-09-18 5:58 ` Jianbo Liu
2016-09-18 7:22 ` Jan Viktorin
2016-09-18 8:56 ` Jianbo Liu
2016-09-18 9:17 ` Jan Viktorin
2016-09-18 9:41 ` Hemant Agrawal
2016-09-18 10:04 ` Jan Viktorin
2016-09-19 12:33 ` Hemant Agrawal
2016-10-15 13:44 ` [dpdk-dev] [PATCH v4 00/17] " Shreyansh Jain
2016-10-15 13:44 ` [dpdk-dev] [PATCH v4 01/17] eal: define container macro Shreyansh Jain
2016-10-15 13:44 ` [dpdk-dev] [PATCH v4 02/17] eal/soc: introduce very essential SoC infra definitions Shreyansh Jain
2016-10-15 13:44 ` [dpdk-dev] [PATCH v4 03/17] eal/soc: add SoC PMD register/unregister logic Shreyansh Jain
2016-10-15 13:44 ` [dpdk-dev] [PATCH v4 04/17] eal/soc: implement SoC device list and dump Shreyansh Jain
2016-10-15 13:44 ` [dpdk-dev] [PATCH v4 05/17] eal: introduce command line enable SoC option Shreyansh Jain
2016-10-15 13:44 ` [dpdk-dev] [PATCH v4 06/17] eal/soc: init SoC infra from EAL Shreyansh Jain
2016-10-15 13:44 ` [dpdk-dev] [PATCH v4 07/17] eal/soc: implement probing of drivers Shreyansh Jain
2016-10-15 13:44 ` Shreyansh Jain [this message]
2016-10-15 13:45 ` [dpdk-dev] [PATCH v4 09/17] eal/soc: add drv_flags Shreyansh Jain
2016-10-15 13:45 ` [dpdk-dev] [PATCH v4 10/17] eal/soc: add intr_handle Shreyansh Jain
2016-10-15 13:45 ` [dpdk-dev] [PATCH v4 11/17] eal/soc: add default scan for Soc devices Shreyansh Jain
2016-10-16 0:56 ` Jan Viktorin
2016-10-16 7:12 ` Shreyansh Jain
2016-10-24 12:08 ` Shreyansh Jain
2016-10-24 16:11 ` Jan Viktorin
2016-10-15 13:45 ` [dpdk-dev] [PATCH v4 12/17] eal/soc: additional features for SoC Shreyansh Jain
2016-10-15 13:45 ` [dpdk-dev] [PATCH v4 13/17] ether: utilize container_of for pci_drv Shreyansh Jain
2016-10-15 13:45 ` [dpdk-dev] [PATCH v4 14/17] ether: verify we copy info from a PCI device Shreyansh Jain
2016-10-15 13:45 ` [dpdk-dev] [PATCH v4 15/17] ether: extract function eth_dev_get_intr_handle Shreyansh Jain
2016-10-15 13:45 ` [dpdk-dev] [PATCH v4 16/17] ether: introduce ethernet dev probe remove Shreyansh Jain
2016-10-15 13:45 ` [dpdk-dev] [PATCH v4 17/17] eal/crypto: Support rte_soc_driver/device for cryptodev Shreyansh Jain
2016-10-15 13:53 ` [dpdk-dev] [PATCH v4 00/17] Introduce SoC device/driver framework for EAL Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 00/21] " Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 01/21] eal: generalize PCI kernel driver enum to EAL Shreyansh Jain
2016-10-24 16:13 ` Jan Viktorin
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 02/21] eal: generalize PCI map/unmap resource " Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 03/21] eal/linux: generalize PCI kernel unbinding driver " Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 04/21] eal/linux: generalize PCI kernel driver extraction " Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 05/21] eal: define container macro Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 06/21] eal/soc: introduce very essential SoC infra definitions Shreyansh Jain
2016-10-24 16:21 ` Jan Viktorin
2016-10-25 5:36 ` Shreyansh Jain
2016-10-25 12:38 ` Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 07/21] eal/soc: add SoC PMD register/unregister logic Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 08/21] eal/soc: implement SoC device list and dump Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 09/21] eal: introduce command line enable SoC option Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 10/21] eal/soc: init SoC infra from EAL Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 11/21] eal/soc: implement probing of drivers Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 12/21] eal/soc: extend and utilize devargs Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 13/21] eal/soc: add drv_flags Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 14/21] eal/soc: add intr_handle Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 15/21] eal/soc: add default scan for Soc devices Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 16/21] eal/soc: additional features for SoC Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 17/21] ether: utilize container_of for pci_drv Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 18/21] ether: verify we copy info from a PCI device Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 19/21] ether: extract function eth_dev_get_intr_handle Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 20/21] ether: introduce ethernet dev probe remove Shreyansh Jain
2016-10-24 11:59 ` [dpdk-dev] [PATCH v5 21/21] eal/crypto: Support rte_soc_driver/device for cryptodev Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 00/21] Introduce SoC device/driver framework for EAL Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 01/21] eal: generalize PCI kernel driver enum to EAL Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 02/21] eal: generalize PCI map/unmap resource " Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 03/21] eal/linux: generalize PCI kernel unbinding driver " Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 04/21] eal/linux: generalize PCI kernel driver extraction " Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 05/21] eal: define container macro Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 06/21] eal/soc: introduce very essential SoC infra definitions Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 07/21] eal/soc: add SoC PMD register/unregister logic Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 08/21] eal/soc: implement SoC device list and dump Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 09/21] eal: introduce command line enable SoC option Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 10/21] eal/soc: init SoC infra from EAL Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 12/21] eal/soc: extend and utilize devargs Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 13/21] eal/soc: add drv_flags Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 14/21] eal/soc: add intr_handle Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 15/21] eal/soc: add default scan for Soc devices Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 16/21] eal/soc: additional features for SoC Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 17/21] ether: utilize container_of for pci_drv Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 18/21] ether: verify we copy info from a PCI device Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 19/21] ether: extract function eth_dev_get_intr_handle Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 20/21] ether: introduce ethernet dev probe remove Shreyansh Jain
2016-10-27 15:17 ` [dpdk-dev] [PATCH v6 21/21] eal/crypto: Support rte_soc_driver/device for cryptodev Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 00/21] Introduce SoC device/driver framework for EAL Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 01/21] eal: generalize PCI kernel driver enum to EAL Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 02/21] eal: generalize PCI map/unmap resource " Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 03/21] eal/linux: generalize PCI kernel unbinding driver " Shreyansh Jain
2016-11-10 2:24 ` Jianbo Liu
2016-11-10 5:46 ` Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 04/21] eal/linux: generalize PCI kernel driver extraction " Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 05/21] eal: define container macro Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 06/21] eal/soc: introduce very essential SoC infra definitions Shreyansh Jain
2016-11-10 4:09 ` Jianbo Liu
2016-11-10 5:51 ` Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 07/21] eal/soc: add SoC PMD register/unregister logic Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 08/21] eal/soc: implement SoC device list and dump Shreyansh Jain
2016-11-10 3:06 ` Jianbo Liu
2016-11-10 5:56 ` Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 09/21] eal: introduce command line enable SoC option Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 10/21] eal/soc: init SoC infra from EAL Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 11/21] eal/soc: implement probing of drivers Shreyansh Jain
2016-11-10 3:30 ` Jianbo Liu
2016-11-10 6:10 ` Shreyansh Jain
2016-11-10 7:41 ` Jianbo Liu
2016-11-10 9:10 ` Shreyansh Jain
2016-11-10 9:26 ` Thomas Monjalon
2016-11-11 1:58 ` Jianbo Liu
2016-11-11 6:04 ` Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 12/21] eal/soc: extend and utilize devargs Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 13/21] eal/soc: add drv_flags Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 14/21] eal/soc: add intr_handle Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 15/21] eal/soc: add default scan for Soc devices Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 16/21] eal/soc: additional features for SoC Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 17/21] ether: utilize container_of for pci_drv Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 18/21] ether: verify we copy info from a PCI device Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 19/21] ether: extract function eth_dev_get_intr_handle Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 20/21] ether: introduce ethernet dev probe remove Shreyansh Jain
2016-10-28 12:26 ` [dpdk-dev] [PATCH v7 21/21] eal/crypto: Support rte_soc_driver/device for cryptodev Shreyansh Jain
2016-10-28 12:35 ` [dpdk-dev] [PATCH v7 00/21] Introduce SoC device/driver framework for EAL Shreyansh Jain
2016-11-09 10:17 ` Thomas Monjalon
2016-11-09 13:36 ` Shreyansh Jain
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=1476539108-13170-9-git-send-email-shreyansh.jain@nxp.com \
--to=shreyansh.jain@nxp.com \
--cc=david.marchand@6wind.com \
--cc=dev@dpdk.org \
--cc=hemant.agrawal@nxp.com \
--cc=thomas.monjalon@6wind.com \
--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).