From: Shreyansh Jain <shreyansh.jain@nxp.com>
To: Jan Viktorin <viktorin@rehivetech.com>
Cc: David Marchand <david.marchand@6wind.com>,
Thomas Monjalon <thomas.monjalon@6wind.com>,
Bruce Richardson <bruce.richardson@intel.com>,
Declan Doherty <declan.doherty@intel.com>,
"jianbo.liu@linaro.org" <jianbo.liu@linaro.org>,
"jerin.jacob@caviumnetworks.com" <jerin.jacob@caviumnetworks.com>,
Keith Wiles <keith.wiles@intel.com>,
Stephen Hemminger <stephen@networkplumber.org>,
"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v1 07/28] eal/soc: add rte_eal_soc_register/unregister logic
Date: Mon, 13 Jun 2016 14:19:39 +0000 [thread overview]
Message-ID: <DB5PR0401MB2054CF6063A9721EED0DFBA990530@DB5PR0401MB2054.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <1462542490-15556-8-git-send-email-viktorin@rehivetech.com>
Another trivial comment inlined:
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jan Viktorin
> Sent: Friday, May 06, 2016 7:18 PM
> To: dev@dpdk.org
> Cc: Jan Viktorin <viktorin@rehivetech.com>; David Marchand
> <david.marchand@6wind.com>; Thomas Monjalon <thomas.monjalon@6wind.com>;
> Bruce Richardson <bruce.richardson@intel.com>; Declan Doherty
> <declan.doherty@intel.com>; jianbo.liu@linaro.org;
> jerin.jacob@caviumnetworks.com; Keith Wiles <keith.wiles@intel.com>; Stephen
> Hemminger <stephen@networkplumber.org>
> Subject: [dpdk-dev] [PATCH v1 07/28] eal/soc: add
> rte_eal_soc_register/unregister logic
>
> Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
> ---
> app/test/test_soc.c | 106
> ++++++++++++++++++++++++
> lib/librte_eal/bsdapp/eal/Makefile | 1 +
> lib/librte_eal/bsdapp/eal/rte_eal_version.map | 3 +
> lib/librte_eal/common/eal_common_soc.c | 55 ++++++++++++
> lib/librte_eal/common/include/rte_soc.h | 23 +++++
> lib/librte_eal/linuxapp/eal/Makefile | 1 +
> lib/librte_eal/linuxapp/eal/rte_eal_version.map | 4 +
> 7 files changed, 193 insertions(+)
> create mode 100644 lib/librte_eal/common/eal_common_soc.c
>
> diff --git a/app/test/test_soc.c b/app/test/test_soc.c
> index a49fc9b..f6288dc 100644
> --- a/app/test/test_soc.c
> +++ b/app/test/test_soc.c
> @@ -74,6 +74,103 @@ static int test_compare_addr(void)
> free(a2.name);
> free(a1.name);
> free(a0.name);
> +
> + return 0;
> +}
> +
> +/**
> + * Empty PMD driver based on the SoC infra.
> + *
> + * The rte_soc_device is usually wrapped in some higher-level struct
> + * (eth_driver). We simulate such a wrapper with an anonymous struct here.
> + */
> +struct test_wrapper {
> + struct rte_soc_driver soc_drv;
> +};
> +
> +struct test_wrapper empty_pmd0 = {
> + .soc_drv = {
> + .name = "empty_pmd0",
> + },
> +};
> +
> +struct test_wrapper empty_pmd1 = {
> + .soc_drv = {
> + .name = "empty_pmd1",
> + },
> +};
> +
> +static int
> +count_registered_socdrvs(void)
> +{
> + int i;
> + struct rte_soc_driver *drv;
> +
> + i = 0;
> + TAILQ_FOREACH(drv, &soc_driver_list, next)
> + i += 1;
> +
> + return i;
> +}
> +
> +static int
> +test_register_unregister(void)
> +{
> + struct rte_soc_driver *drv;
> + int count;
> +
> + rte_eal_soc_register(&empty_pmd0.soc_drv);
> +
> + TEST_ASSERT(!TAILQ_EMPTY(&soc_driver_list),
> + "No PMD is present but the empty_pmd0 should be there");
> + drv = TAILQ_FIRST(&soc_driver_list);
> + TEST_ASSERT(!strcmp(drv->name, "empty_pmd0"),
> + "The registered PMD is not empty_pmd but '%s'", drv->name);
Trivial: TEST_ASSERT Message should be: "... is not empty_pmd0 but..."
> +
> + rte_eal_soc_register(&empty_pmd1.soc_drv);
> +
> + count = count_registered_socdrvs();
> + TEST_ASSERT_EQUAL(count, 2, "Expected 2 PMDs but detected %d", count);
> +
> + rte_eal_soc_unregister(&empty_pmd0.soc_drv);
> + count = count_registered_socdrvs();
> + TEST_ASSERT_EQUAL(count, 1, "Expected 1 PMDs but detected %d", count);
> +
> + rte_eal_soc_unregister(&empty_pmd1.soc_drv);
> +
> + printf("%s has been successful\n", __func__);
> + return 0;
> +}
> +
> +/* save real devices and drivers until the tests finishes */
> +struct soc_driver_list real_soc_driver_list =
> + TAILQ_HEAD_INITIALIZER(real_soc_driver_list);
> +
> +static int test_soc_setup(void)
> +{
> + struct rte_soc_driver *drv;
> +
> + /* no real drivers for the test */
> + while (!TAILQ_EMPTY(&soc_driver_list)) {
> + drv = TAILQ_FIRST(&soc_driver_list);
> + rte_eal_soc_unregister(drv);
> + TAILQ_INSERT_TAIL(&real_soc_driver_list, drv, next);
> + }
> +
> + return 0;
> +}
> +
> +static int test_soc_cleanup(void)
> +{
> + struct rte_soc_driver *drv;
> +
> + /* bring back real drivers after the test */
> + while (!TAILQ_EMPTY(&real_soc_driver_list)) {
> + drv = TAILQ_FIRST(&real_soc_driver_list);
> + TAILQ_REMOVE(&real_soc_driver_list, drv, next);
> + rte_eal_soc_register(drv);
> + }
> +
> return 0;
> }
>
> @@ -83,6 +180,15 @@ test_soc(void)
> if (test_compare_addr())
> return -1;
>
> + if (test_soc_setup())
> + return -1;
> +
> + if (test_register_unregister())
> + return -1;
> +
> + if (test_soc_cleanup())
> + return -1;
> +
> return 0;
> }
>
> diff --git a/lib/librte_eal/bsdapp/eal/Makefile
> b/lib/librte_eal/bsdapp/eal/Makefile
> index 9054ad6..d956808 100644
> --- a/lib/librte_eal/bsdapp/eal/Makefile
> +++ b/lib/librte_eal/bsdapp/eal/Makefile
> @@ -71,6 +71,7 @@ SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal_common_timer.c
> SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal_common_memzone.c
> SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal_common_log.c
> SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal_common_launch.c
> +SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal_common_soc.c
> SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal_common_pci.c
> SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal_common_pci_uio.c
> SRCS-$(CONFIG_RTE_EXEC_ENV_BSDAPP) += eal_common_memory.c
> diff --git a/lib/librte_eal/bsdapp/eal/rte_eal_version.map
> b/lib/librte_eal/bsdapp/eal/rte_eal_version.map
> index 4d075df..c430b4b 100644
> --- a/lib/librte_eal/bsdapp/eal/rte_eal_version.map
> +++ b/lib/librte_eal/bsdapp/eal/rte_eal_version.map
> @@ -158,4 +158,7 @@ DPDK_16.07 {
> rte_eal_dev_attach;
> rte_eal_dev_detach;
>
> + rte_eal_soc_register;
> + rte_eal_soc_unregister;
> +
> } DPDK_16.04;
> diff --git a/lib/librte_eal/common/eal_common_soc.c
> b/lib/librte_eal/common/eal_common_soc.c
> new file mode 100644
> index 0000000..afeed2f
> --- /dev/null
> +++ b/lib/librte_eal/common/eal_common_soc.c
> @@ -0,0 +1,55 @@
> +/*-
> + * BSD LICENSE
> + *
> + * Copyright(c) 2016 RehiveTech. All rights reserved.
> + * 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 RehiveTech 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 <sys/queue.h>
> +
> +#include <rte_log.h>
> +
> +#include "eal_private.h"
> +
> +struct soc_driver_list soc_driver_list =
> + TAILQ_HEAD_INITIALIZER(soc_driver_list);
> +
> +/* register a driver */
> +void
> +rte_eal_soc_register(struct rte_soc_driver *driver)
> +{
> + TAILQ_INSERT_TAIL(&soc_driver_list, driver, next);
> +}
> +
> +/* unregister a driver */
> +void
> +rte_eal_soc_unregister(struct rte_soc_driver *driver)
> +{
> + TAILQ_REMOVE(&soc_driver_list, driver, next);
> +}
> diff --git a/lib/librte_eal/common/include/rte_soc.h
> b/lib/librte_eal/common/include/rte_soc.h
> index cde588a..28c1798 100644
> --- a/lib/librte_eal/common/include/rte_soc.h
> +++ b/lib/librte_eal/common/include/rte_soc.h
> @@ -46,11 +46,17 @@ extern "C" {
>
> #include <stdio.h>
> #include <stdlib.h>
> +#include <sys/queue.h>
> #include <stdint.h>
> #include <inttypes.h>
> #include <string.h>
>
> #include <rte_debug.h>
> +#include <rte_eal.h>
> +
> +TAILQ_HEAD(soc_driver_list, rte_soc_driver); /**< SoC drivers in D-linked Q.
> */
> +
> +extern struct soc_driver_list soc_driver_list; /**< Global list of SoC
> drivers. */
>
> struct rte_soc_id {
> const char *compatible; /**< OF compatible specification */
> @@ -131,4 +137,21 @@ rte_eal_compare_soc_addr(const struct rte_soc_addr *a0,
> return strcmp(a0->name, a1->name);
> }
>
> +/**
> + * Register a SoC driver.
> + */
> +void rte_eal_soc_register(struct rte_soc_driver *driver);
> +
> +#define RTE_EAL_SOC_REGISTER(name) \
> +RTE_INIT(socinitfn_ ##name); \
> +static void socinitfn_ ##name(void) \
> +{ \
> + rte_eal_soc_register(&name.soc_drv); \
> +}
> +
> +/**
> + * Unregister a SoC driver.
> + */
> +void rte_eal_soc_unregister(struct rte_soc_driver *driver);
> +
> #endif
> diff --git a/lib/librte_eal/linuxapp/eal/Makefile
> b/lib/librte_eal/linuxapp/eal/Makefile
> index e109361..37ab8d5 100644
> --- a/lib/librte_eal/linuxapp/eal/Makefile
> +++ b/lib/librte_eal/linuxapp/eal/Makefile
> @@ -82,6 +82,7 @@ SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal_common_timer.c
> SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal_common_memzone.c
> SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal_common_log.c
> SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal_common_launch.c
> +SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal_common_soc.c
> SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal_common_pci.c
> SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal_common_pci_uio.c
> SRCS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal_common_memory.c
> diff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map
> b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
> index 0404a52..6ff38b8 100644
> --- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map
> +++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map
> @@ -161,4 +161,8 @@ DPDK_16.07 {
> rte_eal_dev_attach;
> rte_eal_dev_detach;
>
> + soc_driver_list;
> + rte_eal_soc_register;
> + rte_eal_soc_unregister;
> +
> } DPDK_16.04;
> --
> 2.8.0
next prev parent reply other threads:[~2016-06-13 14:20 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 [this message]
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 ` [dpdk-dev] [PATCH v4 08/17] eal/soc: extend and utilize devargs Shreyansh Jain
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=DB5PR0401MB2054CF6063A9721EED0DFBA990530@DB5PR0401MB2054.eurprd04.prod.outlook.com \
--to=shreyansh.jain@nxp.com \
--cc=bruce.richardson@intel.com \
--cc=david.marchand@6wind.com \
--cc=declan.doherty@intel.com \
--cc=dev@dpdk.org \
--cc=jerin.jacob@caviumnetworks.com \
--cc=jianbo.liu@linaro.org \
--cc=keith.wiles@intel.com \
--cc=stephen@networkplumber.org \
--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).