[dpdk-dev] [PATCH 27/28] net/vmxnet3: use eal I/O device memory read/write API
Santosh Shukla
santosh.shukla at caviumnetworks.com
Thu Dec 15 06:48:40 CET 2016
On Wed, Dec 14, 2016 at 10:55:34AM +0800, Yuanhan Liu wrote:
> On Wed, Dec 14, 2016 at 07:25:57AM +0530, Jerin Jacob wrote:
> > 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.
> >
> > Signed-off-by: Santosh Shukla <santosh.shukla at caviumnetworks.com>
> > Signed-off-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
> > CC: Yong Wang <yongwang at vmware.com>
> > ---
> > drivers/net/vmxnet3/vmxnet3_ethdev.h | 14 ++++++++++----
> > 1 file changed, 10 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.h b/drivers/net/vmxnet3/vmxnet3_ethdev.h
> > index 7d3b11e..5b6501b 100644
> > --- a/drivers/net/vmxnet3/vmxnet3_ethdev.h
> > +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.h
> > @@ -34,6 +34,8 @@
> > #ifndef _VMXNET3_ETHDEV_H_
> > #define _VMXNET3_ETHDEV_H_
> >
> > +#include <rte_io.h>
> > +
> > #define VMXNET3_MAX_MAC_ADDRS 1
> >
> > /* UPT feature to negotiate */
> > @@ -120,7 +122,11 @@ struct vmxnet3_hw {
> >
> > /* Config space read/writes */
> >
> > -#define VMXNET3_PCI_REG(reg) (*((volatile uint32_t *)(reg)))
> > +#define VMXNET3_PCI_REG(reg) ({ \
> > + uint32_t __val; \
> > + __val = rte_readl(reg); \
> > + __val; \
> > +})
>
> Why not simply using rte_readl directly?
>
> #define VMXNET3_PCI_REG(reg) rte_readl(reg)
>
Ok.
> >
> > static inline uint32_t
> > vmxnet3_read_addr(volatile void *addr)
> > @@ -128,9 +134,9 @@ vmxnet3_read_addr(volatile void *addr)
> > return VMXNET3_PCI_REG(addr);
> > }
> >
> > -#define VMXNET3_PCI_REG_WRITE(reg, value) do { \
> > - VMXNET3_PCI_REG((reg)) = (value); \
> > -} while(0)
> > +#define VMXNET3_PCI_REG_WRITE(reg, value) ({ \
> > + rte_writel(value, reg); \
> > +})
>
> I think this could be done in one line.
>
Ok.
will take care in V2.
> --yliu
More information about the dev
mailing list