[dpdk-dev] [PATCH v5 25/29] net/nfp: use eal I/O device memory read/write API

Jerin Jacob jerin.jacob at caviumnetworks.com
Wed Jan 18 02:21:38 CET 2017

From: Santosh Shukla <santosh.shukla at caviumnetworks.com>

Replace the raw I/O device memory read/write access with eal
abstraction for I/O device memory read/write access to fix
portability issues across different architectures.

CC: Alejandro Lucero <alejandro.lucero at netronome.com>
Signed-off-by: Santosh Shukla <santosh.shukla at caviumnetworks.com>
Signed-off-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
Acked-by: Alejandro Lucero <alejandro.lucero at netronome.com>
 drivers/net/nfp/nfp_net_pmd.h | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/net/nfp/nfp_net_pmd.h b/drivers/net/nfp/nfp_net_pmd.h
index c180972..f11b32e 100644
--- a/drivers/net/nfp/nfp_net_pmd.h
+++ b/drivers/net/nfp/nfp_net_pmd.h
@@ -121,25 +121,26 @@ struct nfp_net_adapter;
 #define NFD_CFG_MINOR_VERSION_of(x) (((x) >> 0) & 0xff)
 #include <linux/types.h>
+#include <rte_io.h>
 static inline uint8_t nn_readb(volatile const void *addr)
-	return *((volatile const uint8_t *)(addr));
+	return rte_read8(addr);
 static inline void nn_writeb(uint8_t val, volatile void *addr)
-	*((volatile uint8_t *)(addr)) = val;
+	rte_write8(val, addr);
 static inline uint32_t nn_readl(volatile const void *addr)
-	return *((volatile const uint32_t *)(addr));
+	return rte_read32(addr);
 static inline void nn_writel(uint32_t val, volatile void *addr)
-	*((volatile uint32_t *)(addr)) = val;
+	rte_write32(val, addr);
 static inline uint64_t nn_readq(volatile void *addr)

More information about the dev mailing list