All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Xu <peterx@redhat.com>
To: Andrew Jones <drjones@redhat.com>
Cc: kvm@vger.kernel.org, agordeev@redhat.com, jan.kiszka@web.de,
	rkrcmar@redhat.com, pbonzini@redhat.com
Subject: Re: [PATCH kvm-unit-tests v6 11/14] pci: edu: introduce pci-edu helpers
Date: Thu, 24 Nov 2016 21:08:02 +0800	[thread overview]
Message-ID: <20161124130802.GC25010@pxdev.xzpeter.org> (raw)
In-Reply-To: <20161124084701.452m6ex4udemaxl6@kamzik.brq.redhat.com>

On Thu, Nov 24, 2016 at 09:47:01AM +0100, Andrew Jones wrote:

[...]

> > +static inline uint64_t edu_reg_readq(struct pci_edu_dev *dev, int reg)
> > +{
> > +	return __raw_readq(edu_reg(dev, reg));
> > +}
> > +
> > +static inline uint32_t edu_reg_readl(struct pci_edu_dev *dev, int reg)
> > +{
> > +	return __raw_readl(edu_reg(dev, reg));
> > +}
> > +
> > +static inline void edu_reg_writeq(struct pci_edu_dev *dev, int reg,
> > +				  uint64_t val)
> > +{
> > +	__raw_writeq(val, edu_reg(dev, reg));
> > +}
> > +
> > +static inline void edu_reg_writel(struct pci_edu_dev *dev, int reg,
> > +				  uint32_t val)
> > +{
> > +	__raw_writel(val, edu_reg(dev, reg));
> > +}
> 
> Can you refresh my memory on why we're using __raw accessors here instead
> of the __raw wrappers that include barriers and endian conversion? Hmm,
> actually it doesn't look like the EDU device specifies an endianness...

I see that __raw wrappers (read[bwlq]) are assuming the data is little
endian, while edu device is configured as native endianess
(DEVICE_NATIVE_ENDIAN). So looks like using __raw accessors should be
the correct way?

But, yes here I missed memory barriers. I have only volatile
protections (which __raw_*() provides).

Thanks,

-- peterx

  reply	other threads:[~2016-11-24 13:08 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-23 10:57 [PATCH kvm-unit-tests v6 00/14] VT-d unit test Peter Xu
2016-11-23 10:57 ` [PATCH kvm-unit-tests v6 01/14] pci: fix missing extern for pci_testdev() Peter Xu
2016-11-23 10:57 ` [PATCH kvm-unit-tests v6 02/14] x86/asm: add cpu_relax() Peter Xu
2016-11-23 10:57 ` [PATCH kvm-unit-tests v6 03/14] libcflat: introduce is_power_of_2() Peter Xu
2016-11-23 10:57 ` [PATCH kvm-unit-tests v6 04/14] x86: intel-iommu: add vt-d init test Peter Xu
2016-11-23 10:57 ` [PATCH kvm-unit-tests v6 05/14] libcflat: add IS_ALIGNED() macro, and page sizes Peter Xu
2016-11-23 10:57 ` [PATCH kvm-unit-tests v6 06/14] libcflat: moving MIN/MAX here Peter Xu
2016-11-23 10:57 ` [PATCH kvm-unit-tests v6 07/14] vm/page: provide PGDIR_OFFSET() macro Peter Xu
2016-11-23 10:57 ` [PATCH kvm-unit-tests v6 08/14] pci: introduce struct pci_dev Peter Xu
2016-11-23 10:57 ` [PATCH kvm-unit-tests v6 09/14] pci: provide pci_scan_bars() Peter Xu
2016-11-23 10:57 ` [PATCH kvm-unit-tests v6 10/14] pci: provide pci_enable_defaults() Peter Xu
2016-11-23 10:57 ` [PATCH kvm-unit-tests v6 11/14] pci: edu: introduce pci-edu helpers Peter Xu
2016-11-24  8:47   ` Andrew Jones
2016-11-24 13:08     ` Peter Xu [this message]
2016-11-24 13:47       ` Andrew Jones
2016-11-27 10:33   ` Alexander Gordeev
2016-11-28  8:27     ` Andrew Jones
2016-11-27 10:54   ` Alexander Gordeev
2016-11-28  5:36     ` Peter Xu
2016-11-23 10:57 ` [PATCH kvm-unit-tests v6 12/14] x86: intel-iommu: add dmar test Peter Xu
2016-11-23 10:57 ` [PATCH kvm-unit-tests v6 13/14] pci: add msi support for 32/64bit address Peter Xu
2016-11-23 13:14   ` Andrew Jones
2016-11-23 10:57 ` [PATCH kvm-unit-tests v6 14/14] x86: intel-iommu: add IR MSI test Peter Xu
2016-11-23 13:13 ` [PATCH kvm-unit-tests v6 00/14] VT-d unit test Andrew Jones
2016-11-28  9:53 ` Alexander Gordeev
2016-11-28 10:05   ` Peter Xu
2016-11-28 11:32     ` Alexander Gordeev
2016-11-29  4:15       ` Peter Xu

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=20161124130802.GC25010@pxdev.xzpeter.org \
    --to=peterx@redhat.com \
    --cc=agordeev@redhat.com \
    --cc=drjones@redhat.com \
    --cc=jan.kiszka@web.de \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=rkrcmar@redhat.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 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.