All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
To: helin.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org
Cc: dev-VfR2kkLFssw@public.gmane.org,
	xuelin.shi-KZfg59tc24xl57MIdRCFDg@public.gmane.org
Subject: Re: [PATCH] kni/ethtool/ixgbe: enforce access between ixgbe PCI and CPU
Date: Mon, 23 Mar 2015 14:58:05 +0100	[thread overview]
Message-ID: <2832198.DltQoaVEDg@xps13> (raw)
In-Reply-To: <7268152.GLh5O7JM1M@xps13>

Helin, any opinion?
If nothing wrong is seen, it will be merged in few days.

2015-02-20 11:55, Thomas Monjalon:
> Anyone to review this patch?
> 
> 2015-02-11 14:49, xuelin.shi-KZfg59tc24xl57MIdRCFDg@public.gmane.org:
> > From: Xuelin Shi <xuelin.shi-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
> > 
> > make sure:
> > 	CPU read from ixgbe with IXGBE_LE32_TO_CPUS
> >         CPU write to ixgbe with IXGBE_CPU_TO_LE32
> > 
> > otherwise, there is endian issue for ixgbe on BIG_ENDIAN CPU.
> > 
> > Signed-off-by: Xuelin Shi <xuelin.shi-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
> > ---
> >  .../linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h       | 24 ++++++++++++++++------
> >  1 file changed, 18 insertions(+), 6 deletions(-)
> > 
> > diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h
> > index d161600..0612632 100644
> > --- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h
> > +++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h
> > @@ -53,6 +53,16 @@
> >  
> >  #undef ASSERT
> >  
> > +static inline uint32_t ixgbe_read_addr(volatile void* addr)
> > +{
> > +	return IXGBE_LE32_TO_CPUS(*((volatile uint32_t *)addr));
> > +}
> > +
> > +static inline uint32_t ixgbe_write_addr(u32 value, volatile void* addr)
> > +{
> > +	return writel(IXGBE_CPU_TO_LE32(value), addr);
> > +}
> > +
> >  #ifdef DBG
> >  #define hw_dbg(hw, S, A...)	printk(KERN_DEBUG S, ## A)
> >  #else
> > @@ -91,19 +101,20 @@
> >  	default: \
> >  		break; \
> >  	} \
> > -	writel((value), ((a)->hw_addr + (reg))); \
> > +	ixgbe_write_addr((value), ((a)->hw_addr + (reg))); \
> >  } while (0)
> >  #else
> > -#define IXGBE_WRITE_REG(a, reg, value) writel((value), ((a)->hw_addr + (reg)))
> > +#define IXGBE_WRITE_REG(a, reg, value) \
> > +	ixgbe_write_addr((value), ((a)->hw_addr + (reg)))
> >  #endif
> >  
> > -#define IXGBE_READ_REG(a, reg) readl((a)->hw_addr + (reg))
> > +#define IXGBE_READ_REG(a, reg) ixgbe_read_addr((a)->hw_addr + (reg))
> >  
> >  #define IXGBE_WRITE_REG_ARRAY(a, reg, offset, value) ( \
> > -	writel((value), ((a)->hw_addr + (reg) + ((offset) << 2))))
> > +	ixgbe_write_addr((value), ((a)->hw_addr + (reg) + ((offset) << 2))))
> >  
> >  #define IXGBE_READ_REG_ARRAY(a, reg, offset) ( \
> > -	readl((a)->hw_addr + (reg) + ((offset) << 2)))
> > +	ixgbe_read_addr((a)->hw_addr + (reg) + ((offset) << 2)))
> >  
> >  #ifndef writeq
> >  #define writeq(val, addr)	do { writel((u32) (val), addr); \
> > @@ -111,7 +122,8 @@
> >  				} while (0);
> >  #endif
> >  
> > -#define IXGBE_WRITE_REG64(a, reg, value) writeq((value), ((a)->hw_addr + (reg)))
> > +#define IXGBE_WRITE_REG64(a, reg, value) \
> > +	writeq((cpu_to_le64(value)), ((a)->hw_addr + (reg)))
> >  
> >  #define IXGBE_WRITE_FLUSH(a) IXGBE_READ_REG(a, IXGBE_STATUS)
> >  struct ixgbe_hw;
> > 
> 
> 

  reply	other threads:[~2015-03-23 13:58 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-11  6:49 [PATCH] kni/ethtool/ixgbe: enforce access between ixgbe PCI and CPU xuelin.shi-KZfg59tc24xl57MIdRCFDg
     [not found] ` <1423637385-25077-1-git-send-email-xuelin.shi-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2015-02-20 10:55   ` Thomas Monjalon
2015-03-23 13:58     ` Thomas Monjalon [this message]
2015-03-24  1:54   ` Zhang, Helin
2015-06-15  0:52 ` Zhang, Helin

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=2832198.DltQoaVEDg@xps13 \
    --to=thomas.monjalon-pdr9zngts4eavxtiumwx3w@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=helin.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=xuelin.shi-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.