On Tue, Jan 17, 2017 at 03:27:39PM +0100, Jan Mędala wrote: > Jerin, > > Thanks for the very quick replay. > > Actually I would like to keep *ena_com* untouched, as this layer suppose to > be common between platforms. That's why it is better to leave definition in > *ena_plat_dpdk.h*. Here is the patch that I would like to propose:
makes sense.I will add this change in v5. > > diff --git a/drivers/net/ena/base/ena_plat_dpdk.h > b/drivers/net/ena/base/ena_plat_dpdk.h > index 87c3bf13..7eaebf40 100644 > --- a/drivers/net/ena/base/ena_plat_dpdk.h > +++ b/drivers/net/ena/base/ena_plat_dpdk.h > @@ -44,6 +44,7 @@ > #include <rte_atomic.h> > #include <rte_branch_prediction.h> > #include <rte_cycles.h> > +#include <rte_io.h> > #include <rte_log.h> > #include <rte_malloc.h> > #include <rte_memzone.h> > @@ -224,18 +225,8 @@ typedef uint64_t dma_addr_t; > #define ENA_MEM_ALLOC(dmadev, size) rte_zmalloc(NULL, size, 1) > #define ENA_MEM_FREE(dmadev, ptr) ({ENA_TOUCH(dmadev); rte_free(ptr); }) > > -static inline void writel(u32 value, volatile void *addr) > -{ > - *(volatile u32 *)addr = value; > -} > - > -static inline u32 readl(const volatile void *addr) > -{ > - return *(const volatile u32 *)addr; > -} > - > -#define ENA_REG_WRITE32(value, reg) writel((value), (reg)) > -#define ENA_REG_READ32(reg) readl((reg)) > +#define ENA_REG_WRITE32(value, reg) rte_write32_relaxed((value), (reg)) > +#define ENA_REG_READ32(reg) rte_read32_relaxed((reg)) > > #define ATOMIC32_INC(i32_ptr) rte_atomic32_inc(i32_ptr) > #define ATOMIC32_DEC(i32_ptr) rte_atomic32_dec(i32_ptr) > > Cheers, > Jan