DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: <dev@dpdk.org>
Cc: <konstantin.ananyev@intel.com>, <thomas.monjalon@6wind.com>,
	<bruce.richardson@intel.com>, <jianbo.liu@linaro.org>,
	<viktorin@rehivetech.com>, <santosh.shukla@caviumnetworks.com>,
	Jerin Jacob <jerin.jacob@caviumnetworks.com>
Subject: [dpdk-dev] [PATCH v4 10/29] eal: introduce I/O device memory read/write operations
Date: Tue, 17 Jan 2017 12:43:45 +0530	[thread overview]
Message-ID: <1484637244-7548-11-git-send-email-jerin.jacob@caviumnetworks.com> (raw)
In-Reply-To: <1484637244-7548-1-git-send-email-jerin.jacob@caviumnetworks.com>

This commit introduces 8-bit, 16-bit, 32bit, 64bit I/O device
memory read/write operations along with the relaxed versions.

The weakly-ordered machine like ARM needs additional I/O barrier for
device memory read/write access over PCI bus.
By introducing the eal abstraction for I/O device memory read/write access,
The drivers can access I/O device memory in architecture agnostic manner.

The relaxed version does not have additional I/O memory barrier, useful in
accessing the device registers of integrated controllers which
implicitly strongly ordered with respect to memory access.

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 doc/api/doxy-api-index.md                      |   3 +-
 lib/librte_eal/common/Makefile                 |   3 +-
 lib/librte_eal/common/include/generic/rte_io.h | 263 +++++++++++++++++++++++++
 3 files changed, 267 insertions(+), 2 deletions(-)
 create mode 100644 lib/librte_eal/common/include/generic/rte_io.h

diff --git a/doc/api/doxy-api-index.md b/doc/api/doxy-api-index.md
index d26d984..8b3b426 100644
--- a/doc/api/doxy-api-index.md
+++ b/doc/api/doxy-api-index.md
@@ -71,7 +71,8 @@ There are many libraries, so their headers may be grouped by topics:
   [cache prefetch]     (@ref rte_prefetch.h),
   [SIMD]               (@ref rte_vect.h),
   [byte order]         (@ref rte_byteorder.h),
-  [CPU flags]          (@ref rte_cpuflags.h)
+  [CPU flags]          (@ref rte_cpuflags.h),
+  [I/O access]         (@ref rte_io.h)
 
 - **CPU multicore**:
   [interrupts]         (@ref rte_interrupts.h),
diff --git a/lib/librte_eal/common/Makefile b/lib/librte_eal/common/Makefile
index 09a3d3a..b34dce9 100644
--- a/lib/librte_eal/common/Makefile
+++ b/lib/librte_eal/common/Makefile
@@ -44,7 +44,8 @@ INC += rte_malloc.h rte_keepalive.h rte_time.h
 
 GENERIC_INC := rte_atomic.h rte_byteorder.h rte_cycles.h rte_prefetch.h
 GENERIC_INC += rte_spinlock.h rte_memcpy.h rte_cpuflags.h rte_rwlock.h
-GENERIC_INC += rte_vect.h
+GENERIC_INC += rte_vect.h rte_io.h
+
 # defined in mk/arch/$(RTE_ARCH)/rte.vars.mk
 ARCH_DIR ?= $(RTE_ARCH)
 ARCH_INC := $(notdir $(wildcard $(RTE_SDK)/lib/librte_eal/common/include/arch/$(ARCH_DIR)/*.h))
diff --git a/lib/librte_eal/common/include/generic/rte_io.h b/lib/librte_eal/common/include/generic/rte_io.h
new file mode 100644
index 0000000..edfebf8
--- /dev/null
+++ b/lib/librte_eal/common/include/generic/rte_io.h
@@ -0,0 +1,263 @@
+/*
+ *   BSD LICENSE
+ *
+ *   Copyright(c) 2016 Cavium networks. 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 Cavium networks nor the names of its
+ *       contributors may be used to endorse or promote products derived
+ *       from this software without specific prior written permission.
+ *
+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _RTE_IO_H_
+#define _RTE_IO_H_
+
+/**
+ * @file
+ * I/O device memory operations
+ *
+ * This file defines the generic API for I/O device memory read/write operations
+ */
+
+#include <stdint.h>
+#include <rte_common.h>
+#include <rte_atomic.h>
+
+#ifdef __DOXYGEN__
+
+/**
+ * Read a 8-bit value from I/O device memory address *addr*.
+ *
+ * The relaxed version does not have additional I/O memory barrier, useful in
+ * accessing the device registers of integrated controllers which implicitly
+ * strongly ordered with respect to memory access.
+ *
+ * @param addr
+ *  I/O memory address to read the value from
+ * @return
+ *  read value
+ */
+static inline uint8_t
+rte_read8_relaxed(const volatile void *addr);
+
+/**
+ * Read a 16-bit value from I/O device memory address *addr*.
+ *
+ * The relaxed version does not have additional I/O memory barrier, useful in
+ * accessing the device registers of integrated controllers which implicitly
+ * strongly ordered with respect to memory access.
+ *
+ * @param addr
+ *  I/O memory address to read the value from
+ * @return
+ *  read value
+ */
+static inline uint16_t
+rte_read16_relaxed(const volatile void *addr);
+
+/**
+ * Read a 32-bit value from I/O device memory address *addr*.
+ *
+ * The relaxed version does not have additional I/O memory barrier, useful in
+ * accessing the device registers of integrated controllers which implicitly
+ * strongly ordered with respect to memory access.
+ *
+ * @param addr
+ *  I/O memory address to read the value from
+ * @return
+ *  read value
+ */
+static inline uint32_t
+rte_read32_relaxed(const volatile void *addr);
+
+/**
+ * Read a 64-bit value from I/O device memory address *addr*.
+ *
+ * The relaxed version does not have additional I/O memory barrier, useful in
+ * accessing the device registers of integrated controllers which implicitly
+ * strongly ordered with respect to memory access.
+ *
+ * @param addr
+ *  I/O memory address to read the value from
+ * @return
+ *  read value
+ */
+static inline uint64_t
+rte_read64_relaxed(const volatile void *addr);
+
+/**
+ * Write a 8-bit value to I/O device memory address *addr*.
+ *
+ * The relaxed version does not have additional I/O memory barrier, useful in
+ * accessing the device registers of integrated controllers which implicitly
+ * strongly ordered with respect to memory access.
+ *
+ * @param value
+ *  Value to write
+ * @param addr
+ *  I/O memory address to write the value to
+ */
+
+static inline void
+rte_write8_relaxed(uint8_t value, volatile void *addr);
+
+/**
+ * Write a 16-bit value to I/O device memory address *addr*.
+ *
+ * The relaxed version does not have additional I/O memory barrier, useful in
+ * accessing the device registers of integrated controllers which implicitly
+ * strongly ordered with respect to memory access.
+ *
+ * @param value
+ *  Value to write
+ * @param addr
+ *  I/O memory address to write the value to
+ */
+static inline void
+rte_write16_relaxed(uint16_t value, volatile void *addr);
+
+/**
+ * Write a 32-bit value to I/O device memory address *addr*.
+ *
+ * The relaxed version does not have additional I/O memory barrier, useful in
+ * accessing the device registers of integrated controllers which implicitly
+ * strongly ordered with respect to memory access.
+ *
+ * @param value
+ *  Value to write
+ * @param addr
+ *  I/O memory address to write the value to
+ */
+static inline void
+rte_write32_relaxed(uint32_t value, volatile void *addr);
+
+/**
+ * Write a 64-bit value to I/O device memory address *addr*.
+ *
+ * The relaxed version does not have additional I/O memory barrier, useful in
+ * accessing the device registers of integrated controllers which implicitly
+ * strongly ordered with respect to memory access.
+ *
+ * @param value
+ *  Value to write
+ * @param addr
+ *  I/O memory address to write the value to
+ */
+static inline void
+rte_write64_relaxed(uint64_t value, volatile void *addr);
+
+/**
+ * Read a 8-bit value from I/O device memory address *addr*.
+ *
+ * @param addr
+ *  I/O memory address to read the value from
+ * @return
+ *  read value
+ */
+static inline uint8_t
+rte_read8(const volatile void *addr);
+
+/**
+ * Read a 16-bit value from I/O device memory address *addr*.
+ *
+ *
+ * @param addr
+ *  I/O memory address to read the value from
+ * @return
+ *  read value
+ */
+static inline uint16_t
+rte_read16(const volatile void *addr);
+
+/**
+ * Read a 32-bit value from I/O device memory address *addr*.
+ *
+ * @param addr
+ *  I/O memory address to read the value from
+ * @return
+ *  read value
+ */
+static inline uint32_t
+rte_read32(const volatile void *addr);
+
+/**
+ * Read a 64-bit value from I/O device memory address *addr*.
+ *
+ * @param addr
+ *  I/O memory address to read the value from
+ * @return
+ *  read value
+ */
+static inline uint64_t
+rte_read64(const volatile void *addr);
+
+/**
+ * Write a 8-bit value to I/O device memory address *addr*.
+ *
+ * @param value
+ *  Value to write
+ * @param addr
+ *  I/O memory address to write the value to
+ */
+
+static inline void
+rte_write8(uint8_t value, volatile void *addr);
+
+/**
+ * Write a 16-bit value to I/O device memory address *addr*.
+ *
+ * @param value
+ *  Value to write
+ * @param addr
+ *  I/O memory address to write the value to
+ */
+static inline void
+rte_write16(uint16_t value, volatile void *addr);
+
+/**
+ * Write a 32-bit value to I/O device memory address *addr*.
+ *
+ * @param value
+ *  Value to write
+ * @param addr
+ *  I/O memory address to write the value to
+ */
+static inline void
+rte_write32(uint32_t value, volatile void *addr);
+
+/**
+ * Write a 64-bit value to I/O device memory address *addr*.
+ *
+ * @param value
+ *  Value to write
+ * @param addr
+ *  I/O memory address to write the value to
+ */
+static inline void
+rte_write64(uint64_t value, volatile void *addr);
+
+#endif /* __DOXYGEN__ */
+
+#endif /* _RTE_IO_H_ */
-- 
2.5.5

  parent reply	other threads:[~2017-01-17  7:15 UTC|newest]

Thread overview: 222+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-14  1:55 [dpdk-dev] [PATCH 00/28] " Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 01/28] eal: introduce I/O device memory barriers Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 02/28] eal/x86: define I/O device memory barriers for IA Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 03/28] eal/tile: define I/O device memory barriers for tile Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 04/28] eal/ppc64: define I/O device memory barriers for ppc64 Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 05/28] eal/arm: separate smp barrier definition for ARMv7 and ARMv8 Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 06/28] eal/armv7: define I/O device memory barriers for ARMv7 Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 07/28] eal/arm64: fix memory barrier definition for arm64 Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 08/28] eal/arm64: define smp " Jerin Jacob
2016-12-15  8:13   ` Jianbo Liu
2016-12-15  8:20     ` Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 09/28] eal/arm64: define I/O device memory barriers " Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 10/28] eal: introduce I/O device memory read/write operations Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 11/28] eal: generic implementation for I/O device read/write access Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 12/28] eal: let all architectures use generic I/O implementation Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 13/28] eal/arm64: override I/O device read/write access for arm64 Jerin Jacob
2016-12-15  9:53   ` Jianbo Liu
2016-12-15 10:04     ` Jerin Jacob
2016-12-15 10:17       ` Jianbo Liu
2016-12-15 11:08         ` Jerin Jacob
2016-12-16 10:12           ` Jianbo Liu
2016-12-16 10:25             ` Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 14/28] crypto/qat: use eal I/O device memory read/write API Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 15/28] net/bnx2x: " Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 16/28] net/bnxt: " Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 17/28] net/cxgbe: " Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 18/28] net/e1000: " Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 19/28] net/ena: " Jerin Jacob
2016-12-14 14:36   ` Jan Mędala
2016-12-14  1:55 ` [dpdk-dev] [PATCH 20/28] net/enic: " Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 21/28] net/fm10k: " Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 22/28] net/i40e: " Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 23/28] net/ixgbe: " Jerin Jacob
2016-12-15  8:37   ` Jianbo Liu
2016-12-16  4:40     ` Santosh Shukla
2016-12-22 12:36       ` Santosh Shukla
2016-12-23  1:42         ` Jianbo Liu
2016-12-14  1:55 ` [dpdk-dev] [PATCH 24/28] net/nfp: " Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 25/28] net/qede: " Jerin Jacob
2016-12-14  1:55 ` [dpdk-dev] [PATCH 26/28] net/virtio: " Jerin Jacob
2016-12-14  2:46   ` Yuanhan Liu
2016-12-14  3:02   ` Yuanhan Liu
2016-12-15  5:45     ` Santosh Shukla
2016-12-16  2:12       ` Yuanhan Liu
2016-12-14  1:55 ` [dpdk-dev] [PATCH 27/28] net/vmxnet3: " Jerin Jacob
2016-12-14  2:55   ` Yuanhan Liu
2016-12-15  5:48     ` Santosh Shukla
2016-12-14  1:55 ` [dpdk-dev] [PATCH 28/28] net/thunderx: " Jerin Jacob
2016-12-14  2:53 ` [dpdk-dev] [PATCH 00/28] introduce I/O device memory read/write operations Yuanhan Liu
2016-12-14 10:12   ` Bruce Richardson
2016-12-14 13:18   ` Jerin Jacob
2016-12-16 17:04     ` Thomas Monjalon
2016-12-27  9:49 ` [dpdk-dev] [PATCH v2 00/29] " Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 01/29] eal: introduce I/O device memory barriers Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 02/29] eal/x86: define I/O device memory barriers for IA Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 03/29] eal/tile: define I/O device memory barriers for tile Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 04/29] eal/ppc64: define I/O device memory barriers for ppc64 Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 05/29] eal/arm: separate smp barrier definition for ARMv7 and ARMv8 Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 06/29] eal/armv7: define I/O device memory barriers for ARMv7 Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 07/29] eal/arm64: fix memory barrier definition for arm64 Jerin Jacob
2017-01-03  7:40     ` Jianbo Liu
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 08/29] eal/arm64: define smp " Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 09/29] eal/arm64: define I/O device memory barriers " Jerin Jacob
2017-01-03  7:48     ` Jianbo Liu
2017-01-04 10:01       ` Jerin Jacob
2017-01-05  5:31         ` Jianbo Liu
2017-01-05  6:24           ` Jerin Jacob
2017-01-05  6:47             ` Jianbo Liu
2017-01-05  7:22               ` Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 10/29] eal: introduce I/O device memory read/write operations Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 11/29] eal: generic implementation for I/O device read/write access Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 12/29] eal: let all architectures use generic I/O implementation Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 13/29] eal/arm64: override I/O device read/write access for arm64 Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 14/29] eal/arm64: change barrier definitions to macros Jerin Jacob
2017-01-03  7:55     ` Jianbo Liu
2017-01-04 10:09       ` Jerin Jacob
2017-01-04 11:00         ` Tiwei Bie
2017-01-04 13:03           ` Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 15/29] crypto/qat: use eal I/O device memory read/write API Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 16/29] net/bnxt: " Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 17/29] net/bnx2x: " Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 18/29] net/cxgbe: " Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 19/29] net/e1000: " Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 20/29] net/ena: " Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 21/29] net/enic: " Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 22/29] net/fm10k: " Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 23/29] net/i40e: " Jerin Jacob
2017-01-04 13:53     ` Tiwei Bie
2017-01-04 15:22       ` Santosh Shukla
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 24/29] net/ixgbe: " Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 25/29] net/nfp: " Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 26/29] net/qede: " Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 27/29] net/thunderx: " Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 28/29] net/virtio: " Jerin Jacob
2016-12-27  9:49   ` [dpdk-dev] [PATCH v2 29/29] net/vmxnet3: " Jerin Jacob
2017-01-12  9:16   ` [dpdk-dev] [PATCH v3 00/29] introduce I/O device memory read/write operations Jerin Jacob
2017-01-12  9:16     ` [dpdk-dev] [PATCH v3 01/29] eal: introduce I/O device memory barriers Jerin Jacob
2017-01-12  9:16     ` [dpdk-dev] [PATCH v3 02/29] eal/x86: define I/O device memory barriers for IA Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 03/29] eal/tile: define I/O device memory barriers for tile Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 04/29] eal/ppc64: define I/O device memory barriers for ppc64 Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 05/29] eal/arm: separate smp barrier definition for ARMv7 and ARMv8 Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 06/29] eal/armv7: define I/O device memory barriers for ARMv7 Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 07/29] eal/arm64: fix memory barrier definition for arm64 Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 08/29] eal/arm64: define smp " Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 09/29] eal/arm64: define I/O device memory barriers " Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 10/29] eal: introduce I/O device memory read/write operations Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 11/29] eal: generic implementation for I/O device read/write access Jerin Jacob
2017-01-15 21:29       ` Thomas Monjalon
2017-01-16  3:26         ` Jerin Jacob
2017-01-16 11:01           ` Bruce Richardson
2017-01-16 11:17             ` Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 12/29] eal: let all architectures use generic I/O implementation Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 13/29] eal/arm64: override I/O device read/write access for arm64 Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 14/29] eal/arm64: change barrier definitions to macros Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 15/29] crypto/qat: use eal I/O device memory read/write API Jerin Jacob
2017-01-12 19:09       ` Ferruh Yigit
2017-01-13  8:17         ` Jerin Jacob
2017-01-13 11:32           ` Ferruh Yigit
2017-01-13 14:57             ` Jerin Jacob
2017-01-13 15:50               ` Ferruh Yigit
2017-01-13 16:21                 ` Jerin Jacob
2017-01-13 18:20                   ` Ferruh Yigit
2017-01-13 11:40           ` Ferruh Yigit
2017-01-13 11:47             ` Bruce Richardson
2017-01-13 12:04               ` Ananyev, Konstantin
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 16/29] net/bnxt: " Jerin Jacob
2017-01-12 19:10       ` Ferruh Yigit
2017-01-13  8:30         ` Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 17/29] net/bnx2x: " Jerin Jacob
2017-01-12 19:11       ` Ferruh Yigit
2017-01-13  8:32         ` Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 18/29] net/cxgbe: " Jerin Jacob
2017-01-12 19:12       ` Ferruh Yigit
2017-01-13  8:37         ` Jerin Jacob
2017-01-13 11:41           ` Ferruh Yigit
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 19/29] net/e1000: " Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 20/29] net/ena: " Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 21/29] net/enic: " Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 22/29] net/fm10k: " Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 23/29] net/i40e: " Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 24/29] net/ixgbe: " Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 25/29] net/nfp: " Jerin Jacob
2017-01-12 10:53       ` Alejandro Lucero
2017-01-12 13:40         ` Jerin Jacob
2017-01-13 10:49           ` Alejandro Lucero
2017-01-13 10:57             ` Jerin Jacob
2017-01-13 11:11               ` Alejandro Lucero
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 26/29] net/qede: " Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 27/29] net/thunderx: " Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 28/29] net/virtio: " Jerin Jacob
2017-01-12  9:17     ` [dpdk-dev] [PATCH v3 29/29] net/vmxnet3: " Jerin Jacob
2017-01-17  7:13     ` [dpdk-dev] [PATCH v4 00/29] introduce I/O device memory read/write operations Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 01/29] eal: introduce I/O device memory barriers Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 02/29] eal/x86: define I/O device memory barriers for IA Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 03/29] eal/tile: define I/O device memory barriers for tile Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 04/29] eal/ppc64: define I/O device memory barriers for ppc64 Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 05/29] eal/arm: separate smp barrier definition for ARMv7 and ARMv8 Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 06/29] eal/armv7: define I/O device memory barriers for ARMv7 Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 07/29] eal/arm64: fix memory barrier definition for arm64 Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 08/29] eal/arm64: define smp " Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 09/29] eal/arm64: define I/O device memory barriers " Jerin Jacob
2017-01-17  7:13       ` Jerin Jacob [this message]
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 11/29] eal: generic implementation for I/O device read/write access Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 12/29] eal: let all architectures use generic I/O implementation Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 13/29] eal/arm64: override I/O device read/write access for arm64 Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 14/29] eal/arm64: change barrier definitions to macros Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 15/29] crypto/qat: use eal I/O device memory read/write API Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 16/29] net/bnxt: " Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 17/29] net/bnx2x: " Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 18/29] net/cxgbe: " Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 19/29] net/e1000: " Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 20/29] net/ena: " Jerin Jacob
2017-01-17 12:51         ` Jan Mędala
2017-01-17 14:13           ` Jerin Jacob
2017-01-17 14:27             ` Jan Mędala
2017-01-17 14:30               ` Jerin Jacob
2017-01-17 14:31                 ` Jan Mędala
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 21/29] net/enic: " Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 22/29] net/fm10k: " Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 23/29] net/i40e: " Jerin Jacob
2017-01-17  7:13       ` [dpdk-dev] [PATCH v4 24/29] net/ixgbe: " Jerin Jacob
2017-01-17  7:14       ` [dpdk-dev] [PATCH v4 25/29] net/nfp: " Jerin Jacob
2017-01-17  7:14       ` [dpdk-dev] [PATCH v4 26/29] net/qede: " Jerin Jacob
2017-01-17  7:14       ` [dpdk-dev] [PATCH v4 27/29] net/thunderx: " Jerin Jacob
2017-01-17  7:14       ` [dpdk-dev] [PATCH v4 28/29] net/virtio: " Jerin Jacob
2017-01-17  7:14       ` [dpdk-dev] [PATCH v4 29/29] net/vmxnet3: " Jerin Jacob
2017-01-18  1:21       ` [dpdk-dev] [PATCH v5 00/29] introduce I/O device memory read/write operations Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 01/29] eal: introduce I/O device memory barriers Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 02/29] eal/x86: define I/O device memory barriers for IA Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 03/29] eal/tile: define I/O device memory barriers for tile Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 04/29] eal/ppc64: define I/O device memory barriers for ppc64 Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 05/29] eal/arm: separate smp barrier definition for ARMv7 and ARMv8 Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 06/29] eal/armv7: define I/O device memory barriers for ARMv7 Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 07/29] eal/arm64: fix memory barrier definition for arm64 Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 08/29] eal/arm64: define smp " Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 09/29] eal/arm64: define I/O device memory barriers " Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 10/29] eal: introduce I/O device memory read/write operations Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 11/29] eal: generic implementation for I/O device read/write access Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 12/29] eal: let all architectures use generic I/O implementation Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 13/29] eal/arm64: override I/O device read/write access for arm64 Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 14/29] eal/arm64: change barrier definitions to macros Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 15/29] crypto/qat: use eal I/O device memory read/write API Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 16/29] net/bnxt: " Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 17/29] net/bnx2x: " Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 18/29] net/cxgbe: " Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 19/29] net/e1000: " Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 20/29] net/enic: " Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 21/29] net/ena: " Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 22/29] net/fm10k: " Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 23/29] net/i40e: " Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 24/29] net/ixgbe: " Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 25/29] net/nfp: " Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 26/29] net/qede: " Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 27/29] net/thunderx: " Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 28/29] net/virtio: " Jerin Jacob
2017-01-18  1:21         ` [dpdk-dev] [PATCH v5 29/29] net/vmxnet3: " Jerin Jacob
2017-01-18  9:56         ` [dpdk-dev] [PATCH v5 00/29] introduce I/O device memory read/write operations Thomas Monjalon
2017-01-18 10:55           ` Jerin Jacob
2017-01-18 16:25         ` Thomas Monjalon
2017-01-19  4:14           ` Jerin Jacob
2017-01-19  4:51             ` Thomas Monjalon
2017-01-19  5:46               ` Jerin Jacob

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=1484637244-7548-11-git-send-email-jerin.jacob@caviumnetworks.com \
    --to=jerin.jacob@caviumnetworks.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=jianbo.liu@linaro.org \
    --cc=konstantin.ananyev@intel.com \
    --cc=santosh.shukla@caviumnetworks.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).